0

我的 android 应用程序中有一个数据库,其中包含 2 个名为“word”和“meaning”的字段。从这个数据库中,我可以检索数据(word,meaning),然后我必须将它们保存到共享首选项,这些保存的共享首选项将显示在列表视图中。这些是我的目标。

现在,只有我可以从数据库中检索数据并将它们显示到列表视图中。为此,我的代码是:

ArrayList<HashMap<String, String>> list_of_wordmeanings = new ArrayList<HashMap<String, String>>();
     Cursor mCursor = mDbHelper.learn_getTestData();

    for (int i = 0; i < mCursor.getCount(); i++) 
    {
        mCursor.moveToPosition(i);

        String string = mCursor.getString(1);           

        HashMap<String, String> hm = new HashMap<String, String>();

            String word = mCursor.getString(0).toString();
            String meaning = mCursor.getString(1).toString();

             hm.put("key_word",word);
             hm.put("key_meaning",meaning);

             list_of_wordmeanings.add(hm);
    }

            String[] from = { "key_word","key_meaning" };
            int[] to = { R.id.txt1,R.id.txt2};           
            SimpleAdapter adapter = new SimpleAdapter(getBaseContext(), list_of_wordmeanings, R.layout.list_layout, from, to);
           listView.setAdapter(adapter);

我也可以像这样将数据保存到共享首选项中:

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();

但我不明白如何将这两个字段(单词、含义)保存到共享偏好列表中并将它们(共享偏好列表)显示到列表视图中。谁能帮我怎么做???

4

1 回答 1

0

在您的情况下,最好将列表保存在数据库中。

共享首选项按键组织。每个键都可以有一个值。在共享首选项中保存列表或数组的问题在于没有好的方法来存储必须由一些通用标识符加上每个项目的标识符组成的密钥。存储和检索不方便。

还有一个性能考虑:数据库比 xml 文件更适合存储和检索值(共享首选项只是一个 xml 文件)。

于 2013-10-14T07:20:23.540 回答