android – 适当存储和显示我的书签历史记录活动?

android – 适当存储和显示我的书签历史记录活动?,第1张

概述我想为我的应用程序提供简单的书签和/或历史记录,我想知道最合适的存储是什么?文本文件或首选项中的文本,还是数据库?哪个更新最灵活,空间和查找时间有效? 对于显示器,我认为this将是一个很好的起点,但是在某些项目上添加图标会很容易吗? 编辑: 我终于设置了一个应该连接到数据库的Bookmark活动: /** Called when the activity is first created. */ 我想为我的应用程序提供简单的书签和/或历史记录,我想知道最合适的存储是什么?文本文件或首选项中的文本,还是数据库?哪个更新最灵活,空间和查找时间有效?

对于显示器,我认为this将是一个很好的起点,但是在某些项目上添加图标会很容易吗?

编辑:

我终于设置了一个应该连接到数据库的Bookmark活动:

/** Called when the activity is first created. */@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.bookmarkvIEw);    Cursor cursor = managedquery(getIntent().getData(),new String[] {Bookmark.Title,Bookmark.URL},null,Bookmark.DEFAulT_SORT_ORDER);    setlistadapter(new SimpleCursorAdapter(this,R.layout.bookmarkitem,cursor,new String[] { Bookmark.Title },new int[] { androID.R.ID.text1 }));    findVIEwByID(R.ID.addBookmark).setonClickListener(new OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {            // Todo auto-generated method stub            ContentValues values = new ContentValues();            values.put("url",_url);            values.put("Title",_Title);            // When the update completes,// the content provIDer will notify the cursor of the change,which will            // cause the UI to be updated.            getContentResolver().update(_myuri,values,null);        }    });}

Bookmark.java:

package com.tunes.vIEwer.Bookmarks;import androID.net.Uri;import androID.provIDer.BaseColumns;/* * Database will have: * pk - primary key * Title - the name of the bookmark. * url - the url. */public class Bookmark implements BaseColumns{    public static final String AUTHORITY = "com.tunes.vIEwer";    /**     * The content:// style URL for this table     */    public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/Bookmarks");    /**     * The MIME type of {@link #CONTENT_URI} provIDing a directory of notes.     */    public static final String CONTENT_TYPE = "vnd.androID.cursor.dir/vnd.Google.note";    /**     * The MIME type of a {@link #CONTENT_URI} sub-directory of a single note.     */    public static final String CONTENT_ITEM_TYPE = "vnd.androID.cursor.item/vnd.Google.note";    /**     * The default sort order for this table     */    public static final String DEFAulT_SORT_ORDER = "Title";    /**     * The Title of the note     * <P>Type: TEXT</P>     */    public static final String Title = "Title";    /**     * The url     * <P>Type: TEXT</P>     */    public static final String URL = "url";}

我似乎修复了我遇到的大部分问题,但不幸的是,当我单击Add按钮(调用上面的onclick)时,它不会添加到数据库中.此外,我将数据添加到数据库,但它没有显示在视图中.这里的光标/适配器有什么问题?完整来源是here.

解决方法 我建议你去数据库.它将是您的要求的简单而有效的解决方案.

sqlite中的单个表就足以满足您的要求.因为您需要维护一个您访问过的网址列表.此表还将满足您存储书签的要求.

你的表格格式可能是这样的.

_____________________________________________________________________________________ID(auto-increment) | Title of page | Url of Page |name of icon(if needed) |isBookmark |_____________________________________________________________________________________

这可能是一个很好的结构,以满足您的要求.将ismarkmark设置为0/1将特定链接设置为书签或取消标记.

编辑

>我没有建议你使用SharedPreferences,我不会(虽然它是直接的,易于实现),而理由在于对SharedPreferences的定义,它说:
“SharedPreferences类提供了一个通用框架,允许您保存和检索原始数据类型的持久键值对.您可以使用SharedPreferences保存任何原始数据:布尔值,浮点数,整数,长整数和字符串.”
现在我无法想象以这些原始数据类型之一存储ArrayList< String>(Urls)的单一方法.
>还有一项工作.它是对象序列化.您可以将完整的arrayList实例保存到文件中,下次需要此对象时,可以类似地对其进行解除分类.以下是序列化的示例代码.

.

public voID serializeMap(ArrayList<String> List) {    try {        fileOutputStream fStream = openfileOutput(namefile.bin,Context.MODE_PRIVATE) ;        ObjectOutputStream oStream = new ObjectOutputStream(fStream);        oStream.writeObject(List);                oStream.flush();        oStream.close();        Log.v("Serialization success","Success");    } catch (Exception e) {        Log.v("IO Exception",e.getMessage());    }}

但是这种方法并不多见.

总结

以上是内存溢出为你收集整理的android – 适当存储和显示我的书签/历史记录活动?全部内容,希望文章能够帮你解决android – 适当存储和显示我的书签/历史记录活动?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存