android Cursor a JSONArray

come posso "convertire" un cursore in un JSONArray?

il mio cursore come 3columns (_id, nome, nascita)

  • OnItemClickListener e OnClickListener non funzionano per ListView
  • Imansible trovare il metodo android () per gli argomenti
  • Skeleton TBMP: Perché entrambi onTurnBasedMatchReceived e OnInvitationReceived non hanno richiamato sul mio dispositivo fisico?
  • Come mantenere l'ExpandableListView aperto?
  • come passare attraverso mms: //
  • Qual è il modo migliore per creare BroadcastReceiver?
  • Ho cercato ma non riesco a trovare esempi

  • hide la tastiera quando l'utente tocca qualsiasi altra parte dello schermo in android
  • La chiusura automatica dei compiti avviene nelle versioni moderne di Android?
  • Perché sto ricevendo l'errore? Il canale è rotto irrimediabilmente e sarà disposto!
  • Come faccio a recuperare l'account Google registrato su telefoni Android?
  • OpenCV per Android - Elementi di accesso di Mat
  • Android Pay - Testing dall'esterno degli Stati Uniti
  • 3 Solutions collect form web for “android Cursor a JSONArray”

    Non è ansible convertire il contenuto di un cursore direttamente in un JSONObject, ma è ansible farlo con una certa logica.

    per esempio: recuperare le stringhe dal cursore, formare una string che segue il formato JSON e utilizzarlo per creare un object json:

    JSONObject jFromCursor=new JSONObject(string_in_JSON_format); 

    Cursore a JSONArray

     public JSONArray cur2Json(Cursor cursor) { JSONArray resultSet = new JSONArray(); cursor.moveToFirst(); while (cursor.isAfterLast() == false) { int totalColumn = cursor.getColumnCount(); JSONObject rowObject = new JSONObject(); for (int i = 0; i < totalColumn; i++) { if (cursor.getColumnName(i) != null) { try { rowObject.put(cursor.getColumnName(i), cursor.getString(i)); } catch (Exception e) { Log.d(TAG, e.getMessage()); } } } resultSet.put(rowObject); cursor.moveToNext(); } cursor.close(); return resultSet; } 
     private String cursorToString(Cursor crs) { JSONArray arr = new JSONArray(); crs.moveToFirst(); while (!crs.isAfterLast()) { int nColumns = crs.getColumnCount(); JSONObject row = new JSONObject(); for (int i = 0 ; i < nColumns ; i++) { String colName = crs.getColumnName(i); if (colName != null) { String val = ""; try { switch (crs.getType(i)) { case Cursor.FIELD_TYPE_BLOB : row.put(colName, crs.getBlob(i).toString()); break; case Cursor.FIELD_TYPE_FLOAT : row.put(colName, crs.getDouble(i)) ; break; case Cursor.FIELD_TYPE_INTEGER: row.put(colName, crs.getLong(i)) ; break; case Cursor.FIELD_TYPE_NULL : row.put(colName, null) ; break; case Cursor.FIELD_TYPE_STRING : row.put(colName, crs.getString(i)) ; break; } } catch (JSONException e) { } } } arr.put(row); if (!crs.moveToNext()) break; } return arr.toString(); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.