如何在Android中保存从Cursor中提取的数据库

时间:2012-02-23 12:10:35

标签: android sqlite

我使用查询提取数据库,暂时存储数据的最佳做法是什么。目前我使用ArrayList来保存提取的数据,但我认为这可能不是最好的设计实践。

谢谢

            Cursor cur5 = database2.rawQuery("select ID from Quote where EmoticonID=? and SubCategoryID=?" ,new String [] {Integer.toString(gcid), Integer.toString(scid)});
            if(cur5.getCount()==0){
                 Log.i("TAG Screen3", "No Quotes ID found for Particular ID");

                 if (helper2 != null) {
                    helper2.close();
                 }

                 if (database2 != null) {
                    database2.close();
                 } 
         }else{

            cur5.moveToFirst();

         do {
                quoteid.add(Integer.parseInt(cur5.getString(0)));
                Log.i("TAG Screen3 Quote ID", (cur5.getString(0)));

            }  while (cur5.moveToNext());

            if(cur5 != null){
                cur5.close();
            }

            if (helper2 != null) {
                helper2.close();
            }

            if (database2 != null) {
                database2.close();
           } 
     }    

1 个答案:

答案 0 :(得分:2)

如果您已经有一个数据库来获取数据,为什么不将该数据库用作临时存储。只需在需要时从数据库中获取数据,跳过临时存储。

如果您仍想将其存储在手机本地,我建议使用本地sqlite数据库来存储大型对象或POJO。如果您有原始类型的键值对,则应使用SharedPreferences。

有关详细信息,请参阅http://developer.android.com/guide/topics/data/data-storage.html

或者向我们提供一些有关您的数据以及您打算做什么的信息:)这可能有助于我们帮助您;)