如何为每个对象的实例创建首选项屏幕

时间:2017-01-26 10:46:55

标签: android sharedpreferences

我有一辆带有这些字段的Car:

  • 颜色
  • 模型
  • 名称

用户可以优先设置汽车数量。

我希望了解为每辆车创建专用首选项屏幕的最佳方式,用户可以在其中编辑汽车的属性。

现在,我正在以编程方式实现此目标:我根据用户选择动态更改首选项屏幕的数量,对于每个首选项屏幕,我使用Preference,每个对象实例使用不同的键。例如:

汽车1的偏好屏幕: key_car_color_1 key_car_name_1 key_car_model_1

Car 2的偏好屏幕: key_car_color_2 key_car_name_2 key_car_model_2

我不确定这是不是最好的方法。

1 个答案:

答案 0 :(得分:0)

使用此库: https://github.com/orhanobut/hawk

这个库可以保存对象:

Hawk.init(context).build(); Hawk.put("myKey", new Car("red", "123", "BMW"));

如果想保存Car的数组:

List<Car> list = new LinkedList<>(); list.add(new Car("red", "123", "BMW")); list.add(new Car("blue", "1234", "BMW")); Hawk.put("cars", list); `

获取数组:

List<Car> list = Hawk.get(POSTS, new LinkedList<Car>());