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