私はListActivity
約100のイベントを持っています。(これらのイベントは、別のアクティビティのマップにも表示されます。)
そのため、リストを処理する と、オブジェクトMyListActivity
を処理するリストをMyListAdapter
作成する がありますMyEvent
。モデルとして、MyEvent
-model-Class とMyEventStorage
-Class があります。
これで、ID に基づいてイベントの画像を返すメソッドが作成されました。どの画像を読み込むか、どこから画像を取得し、読み込み、再サンプリングするかを決定します。
この方法をベスト プラクティスのどこに配置する必要がありますか?
必要なすべてのアクティビティでコピーするのではなく、1 か所だけにコピーします。
MyEvent
-Class に入れたいので、呼び出すことができますmyEvent.getImage();
が、このメソッドをすべての getter と setter を使用してモデル クラス内に配置するのは、どういうわけか間違っていると感じます。違いますか?このメソッドを含むヘルパー クラスを作成する必要がありますか? 静的メソッドとして?これでも十分なパフォーマンスが得られるでしょうか?
それとも
MyImageGetter
、すべての MyEvent オブジェクトに対して追加の -object を作成しますか?または
MyEvent
、イメージ変数とゲッター/セッターを使用してモデルを拡張し、モデルに適切なイメージを配置する追加のクラスを作成しますか? そのメソッドをどのように呼び出すのですか?別の解決策は?
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;
}
よろしくお願いします!