2016-07-28 8 views
0

Wir haben Android App und Web-Portal in Java für einen Client entwickelt, sqllite db ist in Android App installiert. Ich möchte Offline-Sync tun, um das zu tun, ich bin Android-Gerät an PC über USB verbinden. Ist es möglich, auf die sqlite db zuzugreifen, die im Android-Gerät vom Webportal installiert ist?Zugriff auf Sqllite DB in Android von Web-Portal über USB installiert

Ich schätze Ihre Antwort sehr.

Antwort

3

Ich glaube nicht, dass Sie direkt von USB zugreifen können, da die Datenbank in privaten Speicher nicht in SD-Karte gespeichert wird, aber Sie können Ihre Datenbank über Code in Ihrer App exportieren (nur zur Ansicht) und laden Sie die Datei auf Ihre Server

public class ExportDB { 
    final static String SAMPLE_DB_NAME = "yourdatabase"; 
    public static void exportDB(Context context){ 
     File sd = Environment.getExternalStorageDirectory(); 
     File data = Environment.getDataDirectory(); 
     FileChannel source=null; 
     FileChannel destination=null; 
     String currentDBPath = "/data/"+ "your.package.name" +"/databases/"+SAMPLE_DB_NAME; 
     String backupDBPath = SAMPLE_DB_NAME; 
     File currentDB = new File(data, currentDBPath); 
     File backupDB = new File(sd, backupDBPath); 
     try { 
      source = new FileInputStream(currentDB).getChannel(); 
      destination = new FileOutputStream(backupDB).getChannel(); 
      destination.transferFrom(source, 0, source.size()); 
      source.close(); 
      destination.close(); 
      Toast.makeText(context, "DB Exported!", Toast.LENGTH_LONG).show(); 
     } catch(IOException e) { 
      e.printStackTrace(); 
     } 
    } 
}