好,大家好,這裏是事,我已經一個應用程序消耗ODATA service
,在SMP server
,我得到這個數據是這樣的:如何將列表轉換爲數組? Android的
public class callService extends AsyncTask<Void, Void, ArrayList<String>>
{
public ArrayList<String> doInBackground(Void... params)
{
ODataConsumer c = ODataJerseyConsumer.create("http://MyUrlService:8080");
List<OEntity> listEntities = c.getEntities("MYENTITYTOCONSUME").execute().toList();
System.out.println("Size" + listEntities.size());
if (listEntities.size() > 0)
{
for (OEntity entity : listEntities)
{
zmob_kunnr.add((String) entity.getProperty("Name1").getValue()
+ " - "
+ entity.getProperty("Kunnr").getValue().toString());
}
}
return zmob_kunnr;
}
protected void onPostExecute(ArrayList<String> result)
{
super.onPostExecute(result);
adapter = new ArrayAdapter<String>(ConsumoKnuur.this, android.R.layout.simple_list_item_1, result);
list.setAdapter(adapter);
}
}
好吧,我從網絡這個解決方案,並可以實現爲列表,我需要存儲這個實體,一個是客戶的名單,並從該實體的兩個屬性,並保存在我的數據庫中,以便:
Entity Customer:Custormer_ID, Customer_Name
這裏是我的代碼來調用我的SQLite:
public void sqlite()
{
sql_obj.open();
sql_obj.deleteAll();
for(int i=0; i < zmob_kunnr.size(); i++)
{
sql_obj.insert(zmob_kunnr.get(i).toString(), zmob_kunnr.get(i).toString());
}
sql_obj.close();
}
而且我的SQLite:
private static final String TABLE_CLIENTE = "CREATE TABLE "
+ TB_CLIENTE
+ "(ID_CLIENTE INTEGER PRIMARY KEY AUTOINCREMENT, " //Id for controller my logics
+ " Kunnr TEXT , " //customer ID
+ " Name1 TEXT);"; //customer_name
public long insert(String name1, String Kunnr)
{
ContentValues initialValues = new ContentValues();
initialValues.put("Name1", Name1); //Customer_Name
initialValues.put("Kunnr", Kunnr); //Customer_ID
return database.insert(TB_CLIENTE, null, initialValues);
}
和關閉過程我其他的方法,那並不重要,那麼什麼時候我運行發生的我「爲」在SQL調用方法,我得到的名單size()
和行的列表,並將整行存儲在數據庫的每一列中,所以我得到了兩個不同的表,具有相同的值,
我該如何改變解決這個問題,而不是消耗在列表中我需要在數組中消耗?或者我需要創建一個獲取列表值的方法,並在,
(昏迷)後創建兩個不同的對象來存儲這些數據?
我把在互聯網上長時間看,並沒有發現什麼,大概是因爲我還不知道呢,怎麼會這樣,我不知道我在尋找什麼它做什麼,我使用在odata4j API
,這裏是文件的我對編程新的鏈接,http://odata4j.org/v/0.7/javadoc/
,所以我真的在這個麻煩,有什麼建議的任何幫助將是真正,欣賞,
非常感謝祝你有愉快的一天 !!!
如何定義'zmob_kunnr'?如果將zmob_kunnr的類型更改爲'ArrayList',您可以在'insert'語句中使用'sql_obj.insert(zmob_kunnr.get(i).getProperty(「Name1」)。getValue(),zmob_kunnr.get ).getProperty(「Kunnr」)。getValue()。toString());' –
Ian2thedv
2014-12-04 13:28:03
你好Nayeem非常感謝你的有益答案,我理解你的邏輯,現在有道理,我改變了我的mob_kunnr到ArrayList,我也改變了來自zmob_kunnr的所有其他調用,但是zmob_kunnr.add方法給了我「add」一個問題(類型ArrayList 中的方法add(OEntity)不適用於參數(String))更改爲addAll,如果我改變仍然有問題,並告訴我chande添加 –
2014-12-04 16:19:44
哈哈以及我不是Nayeem,但你需要將'for'循環的主體改爲'zmob_kunnr.add(實體)' – Ian2thedv 2014-12-05 06:21:52