2017-01-20 57 views
0

我有一個自定義數組列表需要保存在sqlite中,我將此數組列表轉換爲字符串使用字符串方法並將其保存在數據庫中。現在我需要再次這個數組list.So如何轉換自定義數組列表形式這個特定的字符串。將字符串轉換爲自定義ArrayList

這是我用來數組轉換爲字符串

ArrayList<Publication> pb = new Array List<Publication>(); 
pb.add(new Publication("", "")); 
String st = pb.tostring(); 

代碼現在我在SQLite數據庫添加st爲字符串。我的問題是我如何從這個字符串恢復到發佈的自定義ArrayList。

+1

發佈UR串 – Athul

+0

請的一個例子分享您的代碼 –

+0

你是怎麼保存的數組列表?在每個字符串之後添加逗號(,)? –

回答

1

您可以使用閱讀串Gson將字符串轉換爲自定義ArrayList的庫。 在您的應用程序添加此gradle這個依賴的build.gradle

compile 'com.google.code.gson:gson:2.2.+' 

然後使用此代碼

Gson gson = new Gson(); 
TypeToken<ArrayList<Publication>> token = new TypeToken<ArrayList<Publication>>() { 
    }; 
ArrayList<Publication> pb = gson.fromJson(str, token.getType()); 
+0

我從sqlite數據庫像這樣[[email protected],[email protected]]獲取字符串值,你的代碼不在這裏工作。這裏常見的是我的包名和發佈是一個班級名稱。 – Rims

+0

Publication類構造函數的參數是什麼? –

+0

有多個字段,如int publication_id; byte [] publication_image; String publication_date;字符串publication_color – Rims

0

如果分隔 「」

String[] strValues = str.split(",");//this is the string u saved in sqlite 

/*Use asList method of Arrays class to convert Java String array to ArrayList*/ 
ArrayList<Publication> aList = new ArrayList<Publication>(); 
for(i=0; i<strValues.count(); i++) 
aList.add(new Publication().setField(strValues[i])); 

現在自定義類公開

class Publication{ 
String field; 

public void setField(String f) { 

field=f; 
} 

public String getField() { 

return field; 
} 

} 

for (String value: strValues) { 
    aList.add(new Publication(value)); 
} 

class Publication { 
    private final String input; 

    public Publication(String input) { 
     this.input = input; 
    } 

    // not needed but implemented for completeness  
    public static Publication parse(String input) { 
     return new Publication(input); 
    } 
} 



檢查: 你不會成爲能夠插入ArrayList中直接進入sqlite的。相反,你可以使用JSONObject(org.json.JSONObject)來插入ArrayList。請在下面檢查,並給它一個鏡頭....

//Add values to arraylist item 
ArrayList<Publication> item = new ArrayList<Publication>(); 
item.add //add the item to array list 

要插入,

JSONObject json = new JSONObject(); 
json.put("uniqueArrays", new JSONArray(items)); 
String arrayList = json.toString(); 
Insert the string into db. 

閱讀,從數據庫字符串,

JSONObject json = new JSONObject(stringreadfromsqlite); 
    ArrayList<Publication> items = json.optJSONArray("uniqueArrays"); 
+0

我使用ArrayList ,它意味着自定義對象。 – Rims

+0

Wt是出版領域然後 – Athul

+0

@Rheema在出版物 – Athul

相關問題