好,大家好,这里是事,我已经一个应用程序消耗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