2016-07-22 9 views
0

Ich habe eine App gemacht Hexe hat in /data/data/com.pakage.name/app_webview/Local Storage/file__0.localstorage Daten in einer Tabelle gespeichert. Ist es eine echte .db-Datei? Wie kann ich die Tabelle in Android und Abfrage für einige Dateien, wie folgt aus:Wie verwende ich window.localstorage gespeicherte Daten von einer Cross-Plattform-App auf Android native App?

String sql = "SELECT value FROM ItemTable WHERE key='fav_list'"; 

ich das versucht: f.getPath ist der Pfad zur Datei

File dbfile = getApplicationContext().getDatabasePath(f.getPath()); dbfile.setWritable(true); SQLiteDatabase db = SQLiteDatabase.openDatabase(dbfile.getAbsolutePath(), null, SQLiteDatabase.OPEN_READWRITE);

Antwort

0

I kann nach ein wenig Recherche auf meine eigene Antwort antworten.

Ist es eine echte .db-Datei?

Ja, es ist eine Datenbank.

hier ist es, wie ich es geschafft, die Zeile von Spalte acces ich wollte:

Cursor cursor = null; 
SQLiteDatabase db = null; 
try { 
    File dbfile = getApplicationContext().getDatabasePath(f.getPath()); 
    dbfile.setWritable(true); 
    db = SQLiteDatabase.openDatabase(dbfile.getAbsolutePath(), null, SQLiteDatabase.OPEN_READWRITE); 

    String sql = "SELECT value FROM ItemTable WHERE key='fav_list'"; 
    cursor = db.rawQuery(sql, null); 
    cursor.moveToFirst(); 
     while (!cursor.isAfterLast()) { 

      byte[] itemByteArray = cursor.getBlob(0); 
      String itemString = new String(itemByteArray, Charset.forName("UTF-16LE")); 
      cursor.moveToNext(); 
      } 
    } catch (IOException e) { 
     e.printStackTrace(); 
     } finally { 

     if (cursor != null) { 
      cursor.close(); 
     } 
     if (db != null) { 
      db.close(); 
     } 
    } 

und mit itemString können Sie tun, was Sie wollen. :)