fre*_*red 9 java orm android hashmap ormlite
我在我的Android应用程序中使用ORMLite.我需要坚持这个有HashMap的类.什么是坚持它的好方法?这是我第一次尝试坚持HashMap,也是第一次使用ORMLite,所以任何建议都将非常感谢!
*编辑* 如果这有任何区别,那么Exercise类只是一个String(在数据库中也作为id),而Set类有一个int id(在数据库中也是id),int weight和int reps.
@DatabaseTable
public class Workout {
@DatabaseField(generatedId = true)
int id;
@DatabaseField(canBeNull = false)
Date created;
/*
* The hashmap needs to be persisted somehow
*/
HashMap<Exercise, ArrayList<Set>> workoutMap;
public Workout() {
}
public Workout(HashMap<Exercise, ArrayList<Set>> workoutMap, Date created){
this.workoutMap = workoutMap;
this.created = created;
}
public void addExercise(Exercise e, ArrayList<Set> setList) {
workoutMap.put(e, setList);
}
...
}
Run Code Online (Sandbox Code Playgroud)
Gra*_*ray 12
哇.坚持一个HashMap它的值是一个List的Set秒.令人印象深刻.
所以在ORMLite中你可以坚持任何Serializable领域.这是关于类型的文档以及如何配置它:
所以你的领域看起来像:
@DatabaseField(dataType = DataType.SERIALIZABLE)
Map<Exercise, List<Set>> workoutMap;
Run Code Online (Sandbox Code Playgroud)
请注意,如果地图非常大,那么这很可能不是很有效.另外,你的Exercise类(和List和Set类)需要实现Serializable.
如果需要搜索此映射,可以考虑将值存储Set在另一个表中,在这种情况下,您可能需要查看ORMLite如何持久保存"外来对象".
| 归档时间: |
|
| 查看次数: |
3739 次 |
| 最近记录: |