1
我有一個小問題。 我的應用程序有一個數據庫,它存儲延遲加載的圖像和Json值。 我已經設法將值存儲到我的數據庫中,但我似乎無法將它們存儲爲如何從兩種不同的方法插入數據庫
我想將它們作爲存儲到數據庫中。
如何讓所有條目都從數據庫的開頭開始。
貝婁是我的代碼。
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
placeData = new DBHelper(this);
try {
Images("1","http://media.rightmove.co.uk/31k/30471/29462938
/30471_FLE100159_IMG_00_0002_max_200x138.jpg");
Images("2","http://media.rightmove.co.uk/3k/2265/35402969
/2265_9897_IMG_00_0000_max_200x138.jpg");
Images("3","http://media.rightmove.co.uk/75k/74944/18863829
/74944_OSI1000044_IMG_00_0000_max_200x138.jpg");
} catch (Exception e) {
}
try {
JSONArray properties = null;
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
properties = json.getJSONArray(TAG_PROPERTY);
// looping through All Contacts
for (int i = 0; i < properties.length(); i++) {
JSONObject c = properties.getJSONObject(i);
String identifier = c.getString(TAG_IDENTIFIER);
String price = c.getString(TAG_PRICE);
String bedrooms = c.getString(TAG_BEDROOMS);
String address = c.getString(TAG_ADDRESS);
String propertyType =
c.getString(TAG_PROPERTYTYPE);
id = id;
if (properties != null) {
// insert to database
insertData(id,identifier, price, bedrooms,
address,propertyType);
}
}
} catch (Exception e) {
}
} catch (Exception e) {
}
}
private void insertData(String id,String identifier, String price,
String bedrooms,String address, String propertyType) {
// TODO Auto-generated method stub
SQLiteDatabase db = placeData.getWritableDatabase();
ContentValues v = new ContentValues();
v.put(DBHelper.C_ID, id);
v.put(DBHelper.C_IDENTIFIER, identifier);
v.put(DBHelper.C_PRICE, price);
v.put(DBHelper.C_BEDROOMS, bedrooms);
v.put(DBHelper.C_ADDRESS, address);
v.put(DBHelper.C_PROPERTYTYPE, propertyType);
db.insert(DBHelper.TABLE, null, v);
db.close();
}
private void Images(String id, String url) throws ClientProtocolException,
IOException {
// TODO Auto-generated method stub
DefaultHttpClient mHttpClient = new DefaultHttpClient();
HttpGet mHttpGet = new HttpGet(url);
HttpResponse mHttpResponse = mHttpClient.execute(mHttpGet);
if (mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = mHttpResponse.getEntity();
if (entity != null) {
// insert to database
insert(id, EntityUtils.toByteArray(entity));
}
}
}
private void insert(String id, byte[] image) {
// TODO Auto-generated method stub
SQLiteDatabase db = placeData.getWritableDatabase();
ContentValues v = new ContentValues();
v.put(DBHelper.C_ID, id);
v.put(DBHelper.C_PHOTOS, image);
db.insert(DBHelper.TABLE, null, v);
db.close();
}
任何幫助或建議將appreciated.Thanks
蘭迪感謝,在數據庫中的實體都屬於一個特定的財產,我的艾因是order..yes顯示您的權利,但可以在這個返回正確的順序。 – SomCollection 2012-02-18 22:32:28
在一般情況下,是的 - 也許添加一個例子,你想你的輸出看起來像... – Randy 2012-02-19 03:31:20
感謝蘭迪,我需要的輸出是simple.the id:1將有image1,identifer1和price1。您的答案是有道理的,我會盡快實施。 – SomCollection 2012-02-19 20:50:31