2014-12-29 2 views
1

내 안드로이드 응용 프로그램에서 SQlite 내부에 저장된 일부 데이터가 json 파일로 내보내고 게시 HTTP를 통해 서버로 보내고 싶습니다. 실제로이 링크에서 내 코드를 볼 수 있습니다. - Old question containing my code안드로이드 SQlite에서 json

웹을 검색 한 후에는 (json에서 sqlite로) 다른 방법으로 샘플을 찾습니다. 나는 기꺼이 도움을 받거나 올바른 방향으로 나아갈 것입니다.

편집 - GSON을 initilise하는 동안 나는 작은 exeption를 얻을 수

- 문자열 JSON = gson.toJson (기록); . 좀 봐 주 시겠어요 -

public ArrayList<Record> getAllRecordsArray() { 
     ArrayList<Record> localList = new ArrayList<Record>(); 

     String selectQuery = "SELECT * FROM " + TABLE_RECORD; 

     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor cursor = db.rawQuery(selectQuery, null); 

     //Loops through all rows and adds them to the local list 
     if(cursor.moveToFirst()) 
     { 
      do { 
       //Get record information 
       Record record = new Record(); 
       record.setpLat(cursor.getDouble(0)); 
       record.setpLong(cursor.getDouble(1)); 
       record.setpAcc(cursor.getFloat(2)); 
       record.setpTime(cursor.getLong(2)); 
       //Add record to list 
       localList.add(record); 
      } while (cursor.moveToNext()); 
     } 

     return localList; 
    } 

    Gson gson = new Gson(); 
    String json = gson.toJson(Record); 
+0

이것을 확인하십시오. http://stackoverflow.com/questions/25722585/convert-sqlite-to-json – Rohit5k2

+0

감사합니다. myPath = DB_PATH를 처리 할 때 데이터베이스 경로를 어떻게 알 수 있습니까? – GeoRay

+0

데이터베이스를 작성한 경로. 기본적으로'/ data/data/com.me.myapp/databases/mydb.db'와 같이 사용하거나'String dbname = "mydb.db"; 경로 dbpath = ctx.getDatabasePath (dbname); ' – Rohit5k2

답변

1

Gson과 같은 라이브러리를 사용 해본 경험이 있습니까? POJO (Plain old java object)를 JSON으로 쉽게 변환 할 수 있습니다.

개체를 db 형식으로 가져 와서 다음을 수행하면됩니다. https://sites.google.com/site/gson/gson-user-guide

행운을 빕니다 :

MyObject obj = new MyObject(); 
Gson gson = new Gson(); 
String json = gson.toJson(obj); 

그것의 매우 유용합니다, 여기에 사용 설명서에 대한 링크입니다!

+0

고맙습니다.하지만 조금 복잡해 보입니다. – GeoRay

1

GSON 라이브러리를 사용하면 훨씬 쉽게 처리 할 수 ​​있습니다.

1) 데이터베이스에서 모든 데이터를 검색하고 ArrayList를
3) 사용 gson.toJson (NameOfArrayList)에 저장) ArrayList에
2 Initilize;
4) 완료. 이제 데이터베이스의 모든 데이터를 포함하는 문자열이 생겼습니다.

+0

감사합니다. 정말로 쉬운 소리지만, 나는 그것에 대한 경험이 없습니다. 예를 들어 주시겠습니까? 어떻게 SQlite에서 ArrayList로 데이터를 삽입 할 수 있습니까? – GeoRay

+0

나는 내 프로젝트 중 하나에서 가져온 코드 스 니펫과 함께이 pastebin을 빠르게 조합했습니다. http://pastebin.com/2WYDvyha 이렇게하면 모든 데이터가 포함 된 ArrayList 을 얻을 수 있습니다. gson 변수와 그 사용 : Gson gson = new Gson(); String jsonString = gson.toJson (arrayList); – Moonbloom

+0

고맙습니다. 나는 약간의 예외를 얻었고, 그것을 메인 포스트에 추가했다. 제발 좀 봐 주 시겠어요? – GeoRay

관련 문제