2016-07-28 2 views
0

アンドロイドアプリとウェブポータルがjava用に開発されており、アンドロイドアプリにsqllite dbがインストールされています。私はUSBを通してPCにアンドロイドデバイスを接続していることを行うために、オフライン同期をしたいです。 Webポータルからアンドロイドデバイスにインストールされたsqllite dbにアクセスすることは可能ですか?USB経由でWebポータルからアンドロイドにインストールされたSqllite DBへのアクセス方法

本当にありがとうございます。

答えて

3

データベースはsdcardではないプライベートメモリに保存されるため、あなたは直接usbからアクセスすることはできませんが、あなたのアプリケーションのコードを使用してデータベースをエクスポートすることができます。サーバ

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(); 
     } 
    } 
} 
関連する問題