2017-08-08 9 views
-1

jsonファイルからデータを取得し、gsonを使用してPOJOクラスに変換します。 私は2つの変数「インスタンス名」と「instanceid」を持っていますが、これはjsonレスポンスからは得られませんでした。だから、私はリスト "列"の値を取得するときに設定する必要があります。他の変数が設定されている場合、クラスの1つの変数を設定しますか?

public class Row implements Serializable{ 
@SerializedName("ElementInstanceID") 
@Expose 
private String elementInstanceID; 
@SerializedName("Columns") 
@Expose 
@Ignore 
private List<String> columns = null; 

private String roominstancename; 

private int roominstanceid; 

public Row(){ 
    Log.d("ROW","1"); 
    update(); 
} 

public String getRoominstancename() { 
    return roominstancename; 
} 

public void setRoominstancename(String roominstancename) { 
    this.roominstancename = roominstancename; 
} 

public int getRoominstanceid() { 
    return roominstanceid; 
} 

public void setRoominstanceid(int roominstanceid) { 
    this.roominstanceid = roominstanceid; 
} 


public String getElementInstanceID() { 
    return elementInstanceID; 
} 

public void setElementInstanceID(String elementInstanceID) { 
    this.elementInstanceID = elementInstanceID; 
} 

public List<String> getColumns() { 
    return columns; 
} 



public void setColumns(List<String> columns) { 
    this.columns = columns; 
    setInstance(columns); 
} 

public void setInstance(List<String> columns){ 
    setRoominstancename(columns.get(0)); 
    setRoominstanceid(Integer.parseInt(columns.get(1))); 
} 

public void update(){ 
    if (columns != null && columns.size() >= 0){ 
     setInstance(columns); 
    } 
} 

@Override 
public String toString() { 
    return "Element ID"+elementInstanceID; 
} 
} 

私は、リストの行に

for (Row row:rows) { 
      row.update(); 
     } 

を取得しています後に更新しようとしていますROWオブジェクト

final List<Row> rows = Arrays.asList(gson.fromJson(rowArray.toString(), Row[].class)); 

を取得するためのコード、それは効率的にする方法はありますか?

+0

私はあなたとまったく同じですが、時には約40,000個のオブジェクトがあり、パフォーマンスの問題は見られませんでした。ローエンドのデバイスでもうまく動作します。 –

+0

@YayoArellanoありがとうございました! –

答えて

0

私はあなたが オブザーバーデザインパターンを検討することをお勧めします。 単純な定義から: オブザーバーパターンは、あるオブジェクトが変更された場合など、オブジェクト間に1対多の関係がある場合に使用され、その依存オブジェクトは自動的に通知されます。 このリンクをご覧ください。this patternの素晴らしい例がいくつかあります。

関連する問題