【问题标题】:Is SharedPreferences Enough for me? [closed]SharedPreferences 对我来说足够了吗? [关闭]
【发布时间】:2017-01-19 20:38:48
【问题描述】:

我想从用户那里保存 15 个数组列表和 10-15 个 int 值。我可以使用 sharedpreferences 还是应该使用 sqlLite ?我不想使用 SqlLite,你能帮帮我吗?

【问题讨论】:

    标签: android arraylist sharedpreferences


    【解决方案1】:

    你可以使用任何你想要的东西。问题是以您想要的方式访问数据是多么容易。 SharedPreferences 使读取和写入值变得容易。 SQL 使读取和写入值变得更加困难,但使搜索、表达关系和约束数据变得更加容易。使用对你有意义的东西。

    【讨论】:

      【解决方案2】:

      您不能将ArrayList 设置为SharedPreferencesSharedPreferences 用于小数据。

      您必须像这样创建一个扩展 SQLiteOpenHelper 的类:

      @Override
      public void onCreate(SQLiteDatabase db) {
          db.execSQL("YOUR QUERY TO CREATE YOUR TABLE");
      }
      

      这是一个如何在表格中插入值的示例:

      public void insertListData(List<Data> dataList) {
          super.open();
      
          ContentValues values;
          for (int i = 0; i < dataList.size(); i++) {
              values = new ContentValues();
              values.put("COLUMN", dataList.get(i).getData());
              ... //all values that you have
      
              getBdd().insert("YOUR_TABLE, null, values);
          }
          super.close();
      }
      

      祝你好运!

      【讨论】:

        【解决方案3】:
        String myString = new JSONObject().put("JSON", "Hello, World!").toString();
        print(myString);
        

        它产生字符串{"JSON": "Hello, World"}。 只需通过创建 JSON 对象来保存价值并在需要时对其进行解析。您必须创建一个 JSON 对象并将数组列表保存在 JSON 数组中,然后将其保存为共享首选项。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-03
          • 2010-10-11
          • 1970-01-01
          • 2013-06-27
          • 1970-01-01
          • 2012-06-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多