如何通过USB从门户网站访问安卓系统中安装的Sqllite数据库



我们有用java为客户端开发的android应用程序和门户网站,sqllitedb安装在android应用程序中。我想做离线同步,为了做到这一点,我正在通过USB将android设备连接到PC。是否可以从门户网站访问安卓设备中安装的sqllite数据库?

我真的很感激你的回答。

我认为你不能直接从usb访问,因为数据库将存储在应用程序的专用内存中,而不是存储在SD卡中,但你可以通过应用程序中的代码导出你的数据库(仅用于查看目的),并将文件上传到你的服务器

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();
        }
    }
}

最新更新