In general, there is such a task that every certain period of time must be entered into the database and if there is data to put it in the array and send it to the server where it will be written to the database. I decided to do it with a timer, but I stumbled upon this, I have 8 columns in the database and I like it and put it into an array so that I can stuff it all up on the server using php as I need. Here is my code:

mTimer = new Timer(); mMyTimerTask = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { SQLiteDatabase DateBase = dbHelper.getWritableDatabase(); Cursor v = DateBase.query("OFFLINETABLE", null, null, null, null, null, null); ArrayList toServer = new ArrayList(); if (v.moveToFirst()) { do{ //вот тут делается выборка но я хз что писать } while (v.moveToNext()); } else { v.close(); } dbHelper.close(); } }); } }; mTimer.schedule(mMyTimerTask, 0, 180000); 

Here are some things help pliz.

  • Fu, use the cursor. - Alex78191

1 answer 1

I sat thinking thought over all sorts of manuals and that's what I thought up.

 mTimer = new Timer(); mMyTimerTask = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { SQLiteDatabase DateBase = dbHelper.getWritableDatabase(); Cursor v = DateBase.query("OFFLINETABLE", null, null, null, null, null, null); ArrayList toServer = new ArrayList(); JSONObject dataToServer = new JSONObject(); if (v.moveToFirst()) { do{ try { dataToServer.put("ID_USER", v.getInt(v.getColumnIndex("ID_USER"))); dataToServer.put("IDDOHRASH", v.getInt(v.getColumnIndex("IDDOHRASH"))); dataToServer.put("CURRENTDATA", v.getInt(v.getColumnIndex("CURRENTDATA"))); dataToServer.put("IDSCHET", v.getInt(v.getColumnIndex("IDSCHET"))); dataToServer.put("ACCOUNT", v.getString(v.getColumnIndex("ACCOUNT"))); dataToServer.put("IDKAT", v.getInt(v.getColumnIndex("IDKAT"))); dataToServer.put("RASHOD", v.getString(v.getColumnIndex("RASHOD"))); dataToServer.put("MONEY", v.getFloat(v.getColumnIndex("MONEY"))); dataToServer.put("VALUTA", v.getString(v.getColumnIndex("VALUTA"))); dataToServer.put("KOMMENT", v.getString(v.getColumnIndex("KOMMENT"))); dataToServer.put("METKA", v.getString(v.getColumnIndex("METKA"))); dataToServer.put("IDSCHETNAV", v.getInt(v.getColumnIndex("IDSCHETNAV"))); dataToServer.put("CUSTOMEKATEGORY", v.getString(v.getColumnIndex("CUSTOMEKATEGORY"))); dataToServer.put("TYPESCHETA", v.getString(v.getColumnIndex("TYPESCHETA"))); dataToServer.put("CUSTOMEKATEGORYMONEY", v.getFloat(v.getColumnIndex("CUSTOMEKATEGORYMONEY"))); dataToServer.put("IDLAYOUT", v.getInt(v.getColumnIndex("IDLAYOUT"))); dataToServer.put("DEVICE", v.getInt(v.getColumnIndex("DEVICE"))); dataToServer.put("DEL", v.getInt(v.getColumnIndex("DEL"))); } catch (JSONException e) { e.printStackTrace(); } toServer.add(dataToServer); } while (v.moveToNext()); } else { v.close(); } JSONArray arrayToServer = new JSONArray(toServer); dbHelper.close(); RequestParams params = new RequestParams(); params.put("email", login); params.put("DateArray", arrayToServer); upadteToServer(params); } }); } }; mTimer.schedule(mMyTimerTask, 0, 180000); 

can will work