我在json webservice中有11个项目。我正在sqlite中存储详细信息并从sqlite中显示它们。因为我必须检查Web服务的sqlite和TAG_ID的ID。如果id不是等于然后我必须更新他们在sqlite中的详细信息并显示它我正在使用
if(data_exist!=bookProduct.length()){
Log.i("in update","m here");
Cursor cursors = getRawEvents("select id from bcuk_book");
try{
for (int i = 0; i < bookProduct.length(); i++) {
JSONObject c = bookProduct.getJSONObject(i);
String Bid = c.getString(TAG_ID);
ArrayList<String> mapId = new ArrayList<String>();
while(cursors.moveToNext())
{
Log.e("cursors",cursors.getString(0));
Log.i(Bid,Bid);
String csv = cursors.getString(0);
if(!cursors.getString(cursors.getColumnIndex(TAG_ID)).equalsIgnoreCase(c.getString(TAG_ID)))
{
Log.e("fas",Bid);
}
else
{
Log.e("enter","if case");
cursors.moveToPosition(i);
}
}
mapId.add(TAG_ID);
Log.e(Bid,Bid);
}
}
这里的问题是我只能在for循环中获取TAG_ID一次但是while获取所有项目。所以比较只进行一次而不是比较所有项目。 我怎么能接近这个?
答案 0 :(得分:1)
通过调用cursors.moveToFirst()解决它;在while循环之后
答案 1 :(得分:0)
if (cursor.moveToFirst()){
do {
Log.v("mylog", cursor.getString(0) + "," + cursor.getString(1) + "," + cursor.getString(2));
}
while(cursor.moveToNext());
}
像这样使用