2016-10-26 1 views
-1

Моего JSon кода массива ...Json массив URL-адрес в андроиде

private JSONArray getResults() { 

    String myPath = "/data/data/com.example.sebastian.patientdetails/databases/" + "MyDBName.db"; 

    String myTable = "patients"; 


    SQLiteDatabase myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); 

    String searchQuery = "SELECT * FROM " + myTable; 
    Cursor cursor = myDataBase.rawQuery(searchQuery, null); 

    JSONArray resultSet = new JSONArray(); 

    cursor.moveToFirst(); 
    while (!cursor.isAfterLast()) { 

     int totalColumn = cursor.getColumnCount(); 
     JSONObject rowObject = new JSONObject(); 

     for (int i = 0; i < totalColumn; i++) { 
      if (cursor.getColumnName(i) != null) { 
       try { 
        if (cursor.getString(i) != null) { 
         Log.d("TAG_NAME", cursor.getString(i)); 
         rowObject.put(cursor.getColumnName(i), cursor.getString(i)); 
        } else { 
         rowObject.put(cursor.getColumnName(i), ""); 
        } 
       } catch (Exception e) { 
        Log.d("TAG_NAME", e.getMessage()); 
       } 
      } 
     } 
     resultSet.put(rowObject); 
     cursor.moveToNext(); 
    } 
    cursor.close(); 
    Log.d("TAG_NAME", resultSet.toString()); 
    return resultSet; 
} 

Как я могу отправить этот JSON массив в URL, чтобы связаться с вебом-приложением? мне нужно преобразовать мой json-массив.? Или как я могу это сделать? Как я могу это решить.

ответ

1

Вы можете разместить весь массив JSON (набор результатов) на сервере PHP, используя любую сетевую библиотеку. На стороне PHP просто расшифруйте этот массив JSON и сохраните его значение в соответствии с вашими потребностями. я дам вам код, в котором я использовал дооснащения 2 библиотеки:

создать интерфейс:

public interface YOURAPI{ 
@FormUrlEncoded 
@POST("add_to_db.php") 
Call<ResponseBody> insertSERVER(@Field("options") String jsonarray); 
} 

создать еще один класс APIClient:

private static final String BASE_URL ="http://yoururl.com/"; 
private static Retrofit retrofit = null; 

public static Retrofit getClient() { 

    if (retrofit == null) { 
     retrofit = new Retrofit.Builder() 
       .baseUrl(BASE_URL) 
       .client(client) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 
    } 
    return retrofit; 
} 

В основной деятельности:

YOURAPI itemAPI= Apiclient.getClient().create(YOURAPI.class); 
        Call<ResponseBody> servercall=itemAPI.insertSERVER(String.valueOf(resultset)); 

servercall.enqueue (новые константы.BackoffCallback (retryNum) { @Override public void onResponse (Call call, Response response) { BufferedReader reader; Строковый вывод = "";

      try { 
           reader = new BufferedReader(new InputStreamReader(response.body().byteStream())); 
           output = reader.readLine(); 
           Log.e("TAG",""+output); 
          } catch (IOException e) { 
           e.printStackTrace(); 
          } 
         @Override 
         public void onFailedAfterRetry(Throwable t) { 
         } 
        });