我有ListActivity
大约 100 个事件。(这些事件也显示在另一个活动的地图上。)
所以我有 my MyListActivity
,它处理列表和 aMyListAdapter
来填充处理MyEvent
-Objects 的列表。作为模型,我有一个MyEvent
-model-Class 和一个MyEventStorage
-Class。
现在已经编写了一个方法来根据其 ID 返回事件的图像。它会决定要加载哪个图像,从哪里获取图像,加载它并重新采样。
我应该在哪里将此方法放在最佳实践中?
我不想在需要它的每个活动中复制它,而只是在一个地方。
我想把它放在我的
MyEvent
-Class 中,所以我可以调用myEvent.getImage();
,但是把这个方法放在带有所有 getter 和 setter 的模型类中感觉有点不对。这是错的吗?我应该编写一个包含此方法的辅助类吗?作为静态方法?这仍然会提供良好的性能吗?
MyImageGetter
或者也许为每个 MyEvent 对象创建一个额外的对象?或者使用图像变量和 getter/setter 扩展
MyEvent
-model 并创建一个额外的类,将正确的图像放入模型中?我该如何称呼该方法?另一个解决方案?
MyEvent.java:
public class MyEvent {
private int id;
private int category;
private String eventname;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
// other getters and setters
}
MyEventStorage.java:
private static MyEventStorage instance = null;
private List<MyEvent> store;
private MyEventStorage() {
store = new ArrayList<MyEvent>();
}
// get the storage containing the events
public static MyEventStorage getInstance() {
if (instance == null) {
instance = new MyEventStorage();
}
return instance;
}
public List<MyEvent> getStore() {
return store;
}
public void setStore(List<MyEvent> store) {
this.store = store;
}
// Add a Event to the store
public void addEvent(MyEvent myEvent) {
store.add(myEvent);
}
// Remove a Event from the store
public void removeEvent(MyEvent myEvent) {
store.remove(myEvent);
}
}
我要集成的方法:
Image getImageById(int id) {
// decide which image to load based on the events id
// decide where to load the image from
// check if image available
// load image if available else load placeholder image
// resample image
return image;
}
谢谢提前!