Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SharedReferences保存模型?_Java_Android - Fatal编程技术网

Java 如何使用SharedReferences保存模型?

Java 如何使用SharedReferences保存模型?,java,android,Java,Android,我有一个类在里面添加一些变量。 我已经从中创建了一个对象。 然后我给它添加了一些值。 现在的问题是,我不知道如何在里面添加它。 SharedReferences 我想编辑代码,这样我可以添加它没有问题。 //类别:主要活动 public class MainActivity extends AppCompatActivity { Times times; public static Context context; @Over

我有一个类在里面添加一些变量。 我已经从中创建了一个对象。 然后我给它添加了一些
值。
现在的问题是,我不知道如何在里面添加它。
SharedReferences
我想编辑代码,这样我可以添加它没有问题。 //类别:主要活动

     public class MainActivity extends AppCompatActivity {


         Times times;

         public static Context context;
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             this.context = context;

             times = new Times(5,30);

             // setInt(times);
         }

         public final static String PREFS_NAME = "appname_prefs";

         public static void setInt(String key, int value) {
             SharedPreferences sharedPref = context.getSharedPreferences(PREFS_NAME ,0);
             SharedPreferences.Editor editor = sharedPref.edit();
             editor.putInt(key, value);
             editor.apply();
         }

         public static int getInt(String key) {
             SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, context.MODE_PRIVATE);
             return prefs.getInt(key , 0);
         }
     }


    // class Times:


    public class Times{

        int Houre;
        int Minute;

        public Times(int houre, int minute){
            Houre = houre;
            Minute = minute;
        }

        public void setHoure(int houre){
            Houre = houre;
        }

        public void setMinute(int minute){
            Minute = minute;
        }

        public int getHoure(){
            return Houre;
        }

        public int getMinute(){
            return Minute;
        }


    }
只需添加editor.commit();删除editor.apply(); 您可以在此处阅读有关共享首选项的说明
Ohad是正确的。SharedReference仅存储Int和String等基本类型。在这种情况下,您必须将每个值存储为其自己的SharedReference


如果你的数据比SharedPreferences能处理的更复杂,考虑把它存储在一个数据库中。

这能回答你的问题吗?