2012-02-18 65 views
1

我有一個小問題。 我的應用程序有一個數據庫,它存儲延遲加載的圖像和Json值。 我已經設法將值存儲到我的數據庫中,但我似乎無法將它們存儲爲如何從兩種不同的方法插入數據庫

我想將它們作爲here存儲到數據庫中。

如何讓所有條目都從數據庫的開頭開始。

貝婁是我的代碼。

@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

回答

1

你不「商店」他們以任意順序 - 你在任何你想要的順序「檢索」他們。

select * from gall 
ORDER BY image 

或類似

+0

蘭迪感謝,在數據庫中的實體都屬於一個特定的財產,我的艾因是order..yes顯示您的權利,但可以在這個返回正確的順序。 – SomCollection 2012-02-18 22:32:28

+0

在一般情況下,是的 - 也許添加一個例子,你想你的輸出看起來像... – Randy 2012-02-19 03:31:20

+0

感謝蘭迪,我需要的輸出是simple.the id:1將有image1,identifer1和price1。您的答案是有道理的,我會盡快實施。 – SomCollection 2012-02-19 20:50:31

相關問題