Get data array from sqlite database and post to API via json object… can be possible?












0















newbie here... i was developing app that send my data to api via retrofit. my code was working but it sends 1 data input only at the time.... in my case, i've like to do is I want to get more saved data in my sqlite (example 5 data saved) and send it all on api via json object.



This is my Activity:



                 DatabaseHelper databaseHelper2 = new 
DatabaseHelper(getApplicationContext());
SQLiteDatabase db2 =
databaseHelper2.getWritableDatabase();
Cursor cursor =
databaseHelper2.retrieveSettingFromLocalDatabase(db2);

while (cursor.moveToNext()) {
ADDRESS =

cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
PORT =
cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
TIMEINTERVAL=cursor.getString
(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
}
portInts=Integer.parseInt(PORT);

MapDetails mapDetails = new MapDetails(gg, lat, lon,
well, "0", portInts); //Datas ive get to send in api

List<MapDetails> data = new ArrayList<>();
data.add(mapDetails);

Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("http://" + ADDRESS + ":" + PORT)
.addConverterFactory(GsonConverterFactory.create());

Retrofit retrofit = builder.build();

Api locate = retrofit.create(Api.class);

Call<MapDetails> call = locate.mapDetailLocation(data);

call.enqueue(new Callback<MapDetails>() {
@Override
public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
Snackbar.make(view, "" + response,
Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null).show();
}

@Override
public void onFailure(Call call, Throwable t) {
Snackbar.make(view, "" + t.getMessage(),
Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null).show();

}
});


This is my code in API:



 public interface Api {
@POST("/api/Database/NewLocation")
Call<MapDetails> mapDetailLocation(@Body List<MapDetails> mapDetails)

}


This is my sample Client:



     public class MapDetails {
@SerializedName("SerialNumber")
@Expose
private String SerialNumber;
@SerializedName("Coordinate1")
@Expose
private String Coordinate1;
@SerializedName("Coordinate2")
@Expose
private String Coordinate2;
@SerializedName("DateTime")
@Expose
private String DateTime;
@SerializedName("Speed")
@Expose
private String Speed;
@SerializedName("Port")
@Expose
private int Port;

public MapDetails(String serialNumber, String coordinate1, String
coordinate2, String dateTime, String speed, int port) {
SerialNumber = serialNumber;
Coordinate1 = coordinate1;
Coordinate2 = coordinate2;
DateTime = dateTime;
Speed = speed;
Port = port;
}

public String getSerialNumber() {
return SerialNumber;
}

public void setSerialNumber(String serialNumber) {
SerialNumber = serialNumber;
}

public String getCoordinate1() {
return Coordinate1;
}

public void setCoordinate1(String coordinate1) {
Coordinate1 = coordinate1;
}

public String getCoordinate2() {
return Coordinate2;
}

public void setCoordinate2(String coordinate2) {
Coordinate2 = coordinate2;
}

public String getDateTime() {
return DateTime;
}

public void setDateTime(String dateTime) {
DateTime = dateTime;
}

public String getSpeed() {
return Speed;
}

public void setSpeed(String speed) {
Speed = speed;
}

public int getPort() {
return Port;
}

public void setPort(int port) {
Port = port;
}

}


this is my sqlite database ive like to retrieve:
enter image description here



this is the sample posting ive created at the top
enter image description here



but in my case, ive like to do is this one, getting the saved data from my database and send it like this,:enter image description here










share|improve this question





























    0















    newbie here... i was developing app that send my data to api via retrofit. my code was working but it sends 1 data input only at the time.... in my case, i've like to do is I want to get more saved data in my sqlite (example 5 data saved) and send it all on api via json object.



    This is my Activity:



                     DatabaseHelper databaseHelper2 = new 
    DatabaseHelper(getApplicationContext());
    SQLiteDatabase db2 =
    databaseHelper2.getWritableDatabase();
    Cursor cursor =
    databaseHelper2.retrieveSettingFromLocalDatabase(db2);

    while (cursor.moveToNext()) {
    ADDRESS =

    cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
    PORT =
    cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
    TIMEINTERVAL=cursor.getString
    (cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
    }
    portInts=Integer.parseInt(PORT);

    MapDetails mapDetails = new MapDetails(gg, lat, lon,
    well, "0", portInts); //Datas ive get to send in api

    List<MapDetails> data = new ArrayList<>();
    data.add(mapDetails);

    Retrofit.Builder builder = new Retrofit.Builder()
    .baseUrl("http://" + ADDRESS + ":" + PORT)
    .addConverterFactory(GsonConverterFactory.create());

    Retrofit retrofit = builder.build();

    Api locate = retrofit.create(Api.class);

    Call<MapDetails> call = locate.mapDetailLocation(data);

    call.enqueue(new Callback<MapDetails>() {
    @Override
    public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
    Snackbar.make(view, "" + response,
    Snackbar.LENGTH_INDEFINITE)
    .setAction("Action", null).show();
    }

    @Override
    public void onFailure(Call call, Throwable t) {
    Snackbar.make(view, "" + t.getMessage(),
    Snackbar.LENGTH_INDEFINITE)
    .setAction("Action", null).show();

    }
    });


    This is my code in API:



     public interface Api {
    @POST("/api/Database/NewLocation")
    Call<MapDetails> mapDetailLocation(@Body List<MapDetails> mapDetails)

    }


    This is my sample Client:



         public class MapDetails {
    @SerializedName("SerialNumber")
    @Expose
    private String SerialNumber;
    @SerializedName("Coordinate1")
    @Expose
    private String Coordinate1;
    @SerializedName("Coordinate2")
    @Expose
    private String Coordinate2;
    @SerializedName("DateTime")
    @Expose
    private String DateTime;
    @SerializedName("Speed")
    @Expose
    private String Speed;
    @SerializedName("Port")
    @Expose
    private int Port;

    public MapDetails(String serialNumber, String coordinate1, String
    coordinate2, String dateTime, String speed, int port) {
    SerialNumber = serialNumber;
    Coordinate1 = coordinate1;
    Coordinate2 = coordinate2;
    DateTime = dateTime;
    Speed = speed;
    Port = port;
    }

    public String getSerialNumber() {
    return SerialNumber;
    }

    public void setSerialNumber(String serialNumber) {
    SerialNumber = serialNumber;
    }

    public String getCoordinate1() {
    return Coordinate1;
    }

    public void setCoordinate1(String coordinate1) {
    Coordinate1 = coordinate1;
    }

    public String getCoordinate2() {
    return Coordinate2;
    }

    public void setCoordinate2(String coordinate2) {
    Coordinate2 = coordinate2;
    }

    public String getDateTime() {
    return DateTime;
    }

    public void setDateTime(String dateTime) {
    DateTime = dateTime;
    }

    public String getSpeed() {
    return Speed;
    }

    public void setSpeed(String speed) {
    Speed = speed;
    }

    public int getPort() {
    return Port;
    }

    public void setPort(int port) {
    Port = port;
    }

    }


    this is my sqlite database ive like to retrieve:
    enter image description here



    this is the sample posting ive created at the top
    enter image description here



    but in my case, ive like to do is this one, getting the saved data from my database and send it like this,:enter image description here










    share|improve this question



























      0












      0








      0


      0






      newbie here... i was developing app that send my data to api via retrofit. my code was working but it sends 1 data input only at the time.... in my case, i've like to do is I want to get more saved data in my sqlite (example 5 data saved) and send it all on api via json object.



      This is my Activity:



                       DatabaseHelper databaseHelper2 = new 
      DatabaseHelper(getApplicationContext());
      SQLiteDatabase db2 =
      databaseHelper2.getWritableDatabase();
      Cursor cursor =
      databaseHelper2.retrieveSettingFromLocalDatabase(db2);

      while (cursor.moveToNext()) {
      ADDRESS =

      cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
      PORT =
      cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
      TIMEINTERVAL=cursor.getString
      (cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
      }
      portInts=Integer.parseInt(PORT);

      MapDetails mapDetails = new MapDetails(gg, lat, lon,
      well, "0", portInts); //Datas ive get to send in api

      List<MapDetails> data = new ArrayList<>();
      data.add(mapDetails);

      Retrofit.Builder builder = new Retrofit.Builder()
      .baseUrl("http://" + ADDRESS + ":" + PORT)
      .addConverterFactory(GsonConverterFactory.create());

      Retrofit retrofit = builder.build();

      Api locate = retrofit.create(Api.class);

      Call<MapDetails> call = locate.mapDetailLocation(data);

      call.enqueue(new Callback<MapDetails>() {
      @Override
      public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
      Snackbar.make(view, "" + response,
      Snackbar.LENGTH_INDEFINITE)
      .setAction("Action", null).show();
      }

      @Override
      public void onFailure(Call call, Throwable t) {
      Snackbar.make(view, "" + t.getMessage(),
      Snackbar.LENGTH_INDEFINITE)
      .setAction("Action", null).show();

      }
      });


      This is my code in API:



       public interface Api {
      @POST("/api/Database/NewLocation")
      Call<MapDetails> mapDetailLocation(@Body List<MapDetails> mapDetails)

      }


      This is my sample Client:



           public class MapDetails {
      @SerializedName("SerialNumber")
      @Expose
      private String SerialNumber;
      @SerializedName("Coordinate1")
      @Expose
      private String Coordinate1;
      @SerializedName("Coordinate2")
      @Expose
      private String Coordinate2;
      @SerializedName("DateTime")
      @Expose
      private String DateTime;
      @SerializedName("Speed")
      @Expose
      private String Speed;
      @SerializedName("Port")
      @Expose
      private int Port;

      public MapDetails(String serialNumber, String coordinate1, String
      coordinate2, String dateTime, String speed, int port) {
      SerialNumber = serialNumber;
      Coordinate1 = coordinate1;
      Coordinate2 = coordinate2;
      DateTime = dateTime;
      Speed = speed;
      Port = port;
      }

      public String getSerialNumber() {
      return SerialNumber;
      }

      public void setSerialNumber(String serialNumber) {
      SerialNumber = serialNumber;
      }

      public String getCoordinate1() {
      return Coordinate1;
      }

      public void setCoordinate1(String coordinate1) {
      Coordinate1 = coordinate1;
      }

      public String getCoordinate2() {
      return Coordinate2;
      }

      public void setCoordinate2(String coordinate2) {
      Coordinate2 = coordinate2;
      }

      public String getDateTime() {
      return DateTime;
      }

      public void setDateTime(String dateTime) {
      DateTime = dateTime;
      }

      public String getSpeed() {
      return Speed;
      }

      public void setSpeed(String speed) {
      Speed = speed;
      }

      public int getPort() {
      return Port;
      }

      public void setPort(int port) {
      Port = port;
      }

      }


      this is my sqlite database ive like to retrieve:
      enter image description here



      this is the sample posting ive created at the top
      enter image description here



      but in my case, ive like to do is this one, getting the saved data from my database and send it like this,:enter image description here










      share|improve this question
















      newbie here... i was developing app that send my data to api via retrofit. my code was working but it sends 1 data input only at the time.... in my case, i've like to do is I want to get more saved data in my sqlite (example 5 data saved) and send it all on api via json object.



      This is my Activity:



                       DatabaseHelper databaseHelper2 = new 
      DatabaseHelper(getApplicationContext());
      SQLiteDatabase db2 =
      databaseHelper2.getWritableDatabase();
      Cursor cursor =
      databaseHelper2.retrieveSettingFromLocalDatabase(db2);

      while (cursor.moveToNext()) {
      ADDRESS =

      cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
      PORT =
      cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
      TIMEINTERVAL=cursor.getString
      (cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
      }
      portInts=Integer.parseInt(PORT);

      MapDetails mapDetails = new MapDetails(gg, lat, lon,
      well, "0", portInts); //Datas ive get to send in api

      List<MapDetails> data = new ArrayList<>();
      data.add(mapDetails);

      Retrofit.Builder builder = new Retrofit.Builder()
      .baseUrl("http://" + ADDRESS + ":" + PORT)
      .addConverterFactory(GsonConverterFactory.create());

      Retrofit retrofit = builder.build();

      Api locate = retrofit.create(Api.class);

      Call<MapDetails> call = locate.mapDetailLocation(data);

      call.enqueue(new Callback<MapDetails>() {
      @Override
      public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
      Snackbar.make(view, "" + response,
      Snackbar.LENGTH_INDEFINITE)
      .setAction("Action", null).show();
      }

      @Override
      public void onFailure(Call call, Throwable t) {
      Snackbar.make(view, "" + t.getMessage(),
      Snackbar.LENGTH_INDEFINITE)
      .setAction("Action", null).show();

      }
      });


      This is my code in API:



       public interface Api {
      @POST("/api/Database/NewLocation")
      Call<MapDetails> mapDetailLocation(@Body List<MapDetails> mapDetails)

      }


      This is my sample Client:



           public class MapDetails {
      @SerializedName("SerialNumber")
      @Expose
      private String SerialNumber;
      @SerializedName("Coordinate1")
      @Expose
      private String Coordinate1;
      @SerializedName("Coordinate2")
      @Expose
      private String Coordinate2;
      @SerializedName("DateTime")
      @Expose
      private String DateTime;
      @SerializedName("Speed")
      @Expose
      private String Speed;
      @SerializedName("Port")
      @Expose
      private int Port;

      public MapDetails(String serialNumber, String coordinate1, String
      coordinate2, String dateTime, String speed, int port) {
      SerialNumber = serialNumber;
      Coordinate1 = coordinate1;
      Coordinate2 = coordinate2;
      DateTime = dateTime;
      Speed = speed;
      Port = port;
      }

      public String getSerialNumber() {
      return SerialNumber;
      }

      public void setSerialNumber(String serialNumber) {
      SerialNumber = serialNumber;
      }

      public String getCoordinate1() {
      return Coordinate1;
      }

      public void setCoordinate1(String coordinate1) {
      Coordinate1 = coordinate1;
      }

      public String getCoordinate2() {
      return Coordinate2;
      }

      public void setCoordinate2(String coordinate2) {
      Coordinate2 = coordinate2;
      }

      public String getDateTime() {
      return DateTime;
      }

      public void setDateTime(String dateTime) {
      DateTime = dateTime;
      }

      public String getSpeed() {
      return Speed;
      }

      public void setSpeed(String speed) {
      Speed = speed;
      }

      public int getPort() {
      return Port;
      }

      public void setPort(int port) {
      Port = port;
      }

      }


      this is my sqlite database ive like to retrieve:
      enter image description here



      this is the sample posting ive created at the top
      enter image description here



      but in my case, ive like to do is this one, getting the saved data from my database and send it like this,:enter image description here







      json sqlite android-studio post retrofit2






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 23 '18 at 9:49







      Julius Andaya

















      asked Nov 23 '18 at 2:30









      Julius AndayaJulius Andaya

      8311




      8311
























          2 Answers
          2






          active

          oldest

          votes


















          1














          If I understood your question properly, you need to send JSONArray as payload for the request. But, you made a little mistake while preparing payload from SQLite database. @Mike T pointed out that mistake in his answer to your question.



          Follow these codes to fix the problem.



          DatabaseHelper databaseHelper2 = new DatabaseHelper(getApplicationContext());
          SQLiteDatabase db2 = databaseHelper2.getWritableDatabase();
          Cursor cursor = databaseHelper2.retrieveSettingFromLocalDatabase(db2);

          List<MapDetails> data = new ArrayList<>(); // declare ArrayList outside and before while loop

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          // pass arguments to MapDetails class constructor

          portInts = Integer.parseInt(PORT);

          MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts); //Datas ive get to send in api

          // add prepared data to ArrayList

          data.add(mapDetails);
          }

          // and finally execute network call

          Retrofit.Builder builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());

          Retrofit retrofit = builder.build();

          Api locate = retrofit.create(Api.class);

          Call<MapDetails> call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {

          Snackbar.make(view, "" + response, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }

          @Override
          public void onFailure(Call call, Throwable t) {

          Snackbar.make(view, "" + t.getMessage(), Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }
          });


          PS: I'm not sure why are you taking ADDRESS and PORT from SQLite database. If they're same in every single row you don't need to take it from database right?






          share|improve this answer
























          • oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

            – Julius Andaya
            Nov 29 '18 at 0:24



















          0














          The reason why only one is being sent is that you are sending outside of the while loop that traverses the Cursor, so only the last is sent.



          That is you have :-



          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
          }


          So say the query extracted a Cursor with 10 rows as address 1,2,3....10 (for explantory purposes) then



          The loop is entered ADDRESS is set to 1, the next iteration sets it to 2, the next to 3 ..... and finally ADDRESS is set to 10 (same for PORT and TIMEINTERVAL)



          After the loop the data is sent so only one is sent (ADDRESS 10).



          What you need is along the lines of :-



          List<MapDetails> data = new ArrayList<>();
          MapDetails mapDetails
          Retrofit.Builder builder;
          Retrofit retrofit;
          Call<MapDetails> call;
          Api locate;

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          portInts=Integer.parseInt(PORT);
          mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts);
          data.clear(); //<<<<<<<< remove previous entries if required????
          data.add(mapDetails);
          builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());
          retrofit = builder.build();
          locate = retrofit.create(Api.class);
          call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
          Snackbar.make(view, "" + response,
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }

          @Override
          public void onFailure(Call call, Throwable t) {
          Snackbar.make(view, "" + t.getMessage(),
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }
          }




          • Note the above is in-principle code. it has not been checked or tested and may therefore contain some errors.

          • It may be that you can send an entire set e.g. data with populated in which case you may only need up to data.add(mapDetails); in the loop and then have the following code outside the loop.






          share|improve this answer


























          • sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

            – Julius Andaya
            Nov 23 '18 at 9:50











          • @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

            – MikeT
            Nov 23 '18 at 11:54











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439985%2fget-data-array-from-sqlite-database-and-post-to-api-via-json-object-can-be-po%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          If I understood your question properly, you need to send JSONArray as payload for the request. But, you made a little mistake while preparing payload from SQLite database. @Mike T pointed out that mistake in his answer to your question.



          Follow these codes to fix the problem.



          DatabaseHelper databaseHelper2 = new DatabaseHelper(getApplicationContext());
          SQLiteDatabase db2 = databaseHelper2.getWritableDatabase();
          Cursor cursor = databaseHelper2.retrieveSettingFromLocalDatabase(db2);

          List<MapDetails> data = new ArrayList<>(); // declare ArrayList outside and before while loop

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          // pass arguments to MapDetails class constructor

          portInts = Integer.parseInt(PORT);

          MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts); //Datas ive get to send in api

          // add prepared data to ArrayList

          data.add(mapDetails);
          }

          // and finally execute network call

          Retrofit.Builder builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());

          Retrofit retrofit = builder.build();

          Api locate = retrofit.create(Api.class);

          Call<MapDetails> call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {

          Snackbar.make(view, "" + response, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }

          @Override
          public void onFailure(Call call, Throwable t) {

          Snackbar.make(view, "" + t.getMessage(), Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }
          });


          PS: I'm not sure why are you taking ADDRESS and PORT from SQLite database. If they're same in every single row you don't need to take it from database right?






          share|improve this answer
























          • oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

            – Julius Andaya
            Nov 29 '18 at 0:24
















          1














          If I understood your question properly, you need to send JSONArray as payload for the request. But, you made a little mistake while preparing payload from SQLite database. @Mike T pointed out that mistake in his answer to your question.



          Follow these codes to fix the problem.



          DatabaseHelper databaseHelper2 = new DatabaseHelper(getApplicationContext());
          SQLiteDatabase db2 = databaseHelper2.getWritableDatabase();
          Cursor cursor = databaseHelper2.retrieveSettingFromLocalDatabase(db2);

          List<MapDetails> data = new ArrayList<>(); // declare ArrayList outside and before while loop

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          // pass arguments to MapDetails class constructor

          portInts = Integer.parseInt(PORT);

          MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts); //Datas ive get to send in api

          // add prepared data to ArrayList

          data.add(mapDetails);
          }

          // and finally execute network call

          Retrofit.Builder builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());

          Retrofit retrofit = builder.build();

          Api locate = retrofit.create(Api.class);

          Call<MapDetails> call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {

          Snackbar.make(view, "" + response, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }

          @Override
          public void onFailure(Call call, Throwable t) {

          Snackbar.make(view, "" + t.getMessage(), Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }
          });


          PS: I'm not sure why are you taking ADDRESS and PORT from SQLite database. If they're same in every single row you don't need to take it from database right?






          share|improve this answer
























          • oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

            – Julius Andaya
            Nov 29 '18 at 0:24














          1












          1








          1







          If I understood your question properly, you need to send JSONArray as payload for the request. But, you made a little mistake while preparing payload from SQLite database. @Mike T pointed out that mistake in his answer to your question.



          Follow these codes to fix the problem.



          DatabaseHelper databaseHelper2 = new DatabaseHelper(getApplicationContext());
          SQLiteDatabase db2 = databaseHelper2.getWritableDatabase();
          Cursor cursor = databaseHelper2.retrieveSettingFromLocalDatabase(db2);

          List<MapDetails> data = new ArrayList<>(); // declare ArrayList outside and before while loop

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          // pass arguments to MapDetails class constructor

          portInts = Integer.parseInt(PORT);

          MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts); //Datas ive get to send in api

          // add prepared data to ArrayList

          data.add(mapDetails);
          }

          // and finally execute network call

          Retrofit.Builder builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());

          Retrofit retrofit = builder.build();

          Api locate = retrofit.create(Api.class);

          Call<MapDetails> call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {

          Snackbar.make(view, "" + response, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }

          @Override
          public void onFailure(Call call, Throwable t) {

          Snackbar.make(view, "" + t.getMessage(), Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }
          });


          PS: I'm not sure why are you taking ADDRESS and PORT from SQLite database. If they're same in every single row you don't need to take it from database right?






          share|improve this answer













          If I understood your question properly, you need to send JSONArray as payload for the request. But, you made a little mistake while preparing payload from SQLite database. @Mike T pointed out that mistake in his answer to your question.



          Follow these codes to fix the problem.



          DatabaseHelper databaseHelper2 = new DatabaseHelper(getApplicationContext());
          SQLiteDatabase db2 = databaseHelper2.getWritableDatabase();
          Cursor cursor = databaseHelper2.retrieveSettingFromLocalDatabase(db2);

          List<MapDetails> data = new ArrayList<>(); // declare ArrayList outside and before while loop

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          // pass arguments to MapDetails class constructor

          portInts = Integer.parseInt(PORT);

          MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts); //Datas ive get to send in api

          // add prepared data to ArrayList

          data.add(mapDetails);
          }

          // and finally execute network call

          Retrofit.Builder builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());

          Retrofit retrofit = builder.build();

          Api locate = retrofit.create(Api.class);

          Call<MapDetails> call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {

          Snackbar.make(view, "" + response, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }

          @Override
          public void onFailure(Call call, Throwable t) {

          Snackbar.make(view, "" + t.getMessage(), Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();

          }
          });


          PS: I'm not sure why are you taking ADDRESS and PORT from SQLite database. If they're same in every single row you don't need to take it from database right?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 27 '18 at 6:35









          ShashanthShashanth

          2,62742337




          2,62742337













          • oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

            – Julius Andaya
            Nov 29 '18 at 0:24



















          • oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

            – Julius Andaya
            Nov 29 '18 at 0:24

















          oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

          – Julius Andaya
          Nov 29 '18 at 0:24





          oww sorry, i have mistaken again sir, ive didn't show my full database.... upon my problem, the PORT and ADDRESS was from another dbTable, on my problem side was this one "MapDetails mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts)"... these data "gg,lat,lon,well,0,pointints" is static variable, geeting from the my map data and other string... but ive like just like to do was i will get data from database (5 sets of data like that) and send it all to the api... not just the one that ive retrived and send it to api...

          – Julius Andaya
          Nov 29 '18 at 0:24













          0














          The reason why only one is being sent is that you are sending outside of the while loop that traverses the Cursor, so only the last is sent.



          That is you have :-



          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
          }


          So say the query extracted a Cursor with 10 rows as address 1,2,3....10 (for explantory purposes) then



          The loop is entered ADDRESS is set to 1, the next iteration sets it to 2, the next to 3 ..... and finally ADDRESS is set to 10 (same for PORT and TIMEINTERVAL)



          After the loop the data is sent so only one is sent (ADDRESS 10).



          What you need is along the lines of :-



          List<MapDetails> data = new ArrayList<>();
          MapDetails mapDetails
          Retrofit.Builder builder;
          Retrofit retrofit;
          Call<MapDetails> call;
          Api locate;

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          portInts=Integer.parseInt(PORT);
          mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts);
          data.clear(); //<<<<<<<< remove previous entries if required????
          data.add(mapDetails);
          builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());
          retrofit = builder.build();
          locate = retrofit.create(Api.class);
          call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
          Snackbar.make(view, "" + response,
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }

          @Override
          public void onFailure(Call call, Throwable t) {
          Snackbar.make(view, "" + t.getMessage(),
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }
          }




          • Note the above is in-principle code. it has not been checked or tested and may therefore contain some errors.

          • It may be that you can send an entire set e.g. data with populated in which case you may only need up to data.add(mapDetails); in the loop and then have the following code outside the loop.






          share|improve this answer


























          • sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

            – Julius Andaya
            Nov 23 '18 at 9:50











          • @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

            – MikeT
            Nov 23 '18 at 11:54
















          0














          The reason why only one is being sent is that you are sending outside of the while loop that traverses the Cursor, so only the last is sent.



          That is you have :-



          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
          }


          So say the query extracted a Cursor with 10 rows as address 1,2,3....10 (for explantory purposes) then



          The loop is entered ADDRESS is set to 1, the next iteration sets it to 2, the next to 3 ..... and finally ADDRESS is set to 10 (same for PORT and TIMEINTERVAL)



          After the loop the data is sent so only one is sent (ADDRESS 10).



          What you need is along the lines of :-



          List<MapDetails> data = new ArrayList<>();
          MapDetails mapDetails
          Retrofit.Builder builder;
          Retrofit retrofit;
          Call<MapDetails> call;
          Api locate;

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          portInts=Integer.parseInt(PORT);
          mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts);
          data.clear(); //<<<<<<<< remove previous entries if required????
          data.add(mapDetails);
          builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());
          retrofit = builder.build();
          locate = retrofit.create(Api.class);
          call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
          Snackbar.make(view, "" + response,
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }

          @Override
          public void onFailure(Call call, Throwable t) {
          Snackbar.make(view, "" + t.getMessage(),
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }
          }




          • Note the above is in-principle code. it has not been checked or tested and may therefore contain some errors.

          • It may be that you can send an entire set e.g. data with populated in which case you may only need up to data.add(mapDetails); in the loop and then have the following code outside the loop.






          share|improve this answer


























          • sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

            – Julius Andaya
            Nov 23 '18 at 9:50











          • @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

            – MikeT
            Nov 23 '18 at 11:54














          0












          0








          0







          The reason why only one is being sent is that you are sending outside of the while loop that traverses the Cursor, so only the last is sent.



          That is you have :-



          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
          }


          So say the query extracted a Cursor with 10 rows as address 1,2,3....10 (for explantory purposes) then



          The loop is entered ADDRESS is set to 1, the next iteration sets it to 2, the next to 3 ..... and finally ADDRESS is set to 10 (same for PORT and TIMEINTERVAL)



          After the loop the data is sent so only one is sent (ADDRESS 10).



          What you need is along the lines of :-



          List<MapDetails> data = new ArrayList<>();
          MapDetails mapDetails
          Retrofit.Builder builder;
          Retrofit retrofit;
          Call<MapDetails> call;
          Api locate;

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          portInts=Integer.parseInt(PORT);
          mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts);
          data.clear(); //<<<<<<<< remove previous entries if required????
          data.add(mapDetails);
          builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());
          retrofit = builder.build();
          locate = retrofit.create(Api.class);
          call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
          Snackbar.make(view, "" + response,
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }

          @Override
          public void onFailure(Call call, Throwable t) {
          Snackbar.make(view, "" + t.getMessage(),
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }
          }




          • Note the above is in-principle code. it has not been checked or tested and may therefore contain some errors.

          • It may be that you can send an entire set e.g. data with populated in which case you may only need up to data.add(mapDetails); in the loop and then have the following code outside the loop.






          share|improve this answer















          The reason why only one is being sent is that you are sending outside of the while loop that traverses the Cursor, so only the last is sent.



          That is you have :-



          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));
          }


          So say the query extracted a Cursor with 10 rows as address 1,2,3....10 (for explantory purposes) then



          The loop is entered ADDRESS is set to 1, the next iteration sets it to 2, the next to 3 ..... and finally ADDRESS is set to 10 (same for PORT and TIMEINTERVAL)



          After the loop the data is sent so only one is sent (ADDRESS 10).



          What you need is along the lines of :-



          List<MapDetails> data = new ArrayList<>();
          MapDetails mapDetails
          Retrofit.Builder builder;
          Retrofit retrofit;
          Call<MapDetails> call;
          Api locate;

          while (cursor.moveToNext()) {
          ADDRESS = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_ADDRESS));
          PORT = cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_PORT));
          TIMEINTERVAL=cursor.getString(cursor.getColumnIndex(DatabaseHelper.SETTING_TIME_INTERVAL));

          portInts=Integer.parseInt(PORT);
          mapDetails = new MapDetails(gg, lat, lon, well, "0", portInts);
          data.clear(); //<<<<<<<< remove previous entries if required????
          data.add(mapDetails);
          builder = new Retrofit.Builder()
          .baseUrl("http://" + ADDRESS + ":" + PORT)
          .addConverterFactory(GsonConverterFactory.create());
          retrofit = builder.build();
          locate = retrofit.create(Api.class);
          call = locate.mapDetailLocation(data);
          call.enqueue(new Callback<MapDetails>() {
          @Override
          public void onResponse(Call<MapDetails> call, Response<MapDetails> response) {
          Snackbar.make(view, "" + response,
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }

          @Override
          public void onFailure(Call call, Throwable t) {
          Snackbar.make(view, "" + t.getMessage(),
          Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show();
          }
          }




          • Note the above is in-principle code. it has not been checked or tested and may therefore contain some errors.

          • It may be that you can send an entire set e.g. data with populated in which case you may only need up to data.add(mapDetails); in the loop and then have the following code outside the loop.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 23 '18 at 3:09

























          answered Nov 23 '18 at 2:55









          MikeTMikeT

          17.7k112743




          17.7k112743













          • sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

            – Julius Andaya
            Nov 23 '18 at 9:50











          • @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

            – MikeT
            Nov 23 '18 at 11:54



















          • sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

            – Julius Andaya
            Nov 23 '18 at 9:50











          • @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

            – MikeT
            Nov 23 '18 at 11:54

















          sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

          – Julius Andaya
          Nov 23 '18 at 9:50





          sir sorry, i didnt add my database and testing.. ive just edit my post so that you can elaborate it :)

          – Julius Andaya
          Nov 23 '18 at 9:50













          @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

          – MikeT
          Nov 23 '18 at 11:54





          @JuliusAndaya What you've added doesn't appear to change anything. The answer still appears to indicate the issue and also includes a guide to fixing the issue.

          – MikeT
          Nov 23 '18 at 11:54


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439985%2fget-data-array-from-sqlite-database-and-post-to-api-via-json-object-can-be-po%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()