我们有用java为客户端开发的android应用程序和门户网站,sqllite
db安装在android应用程序中。我想要离线同步,为了做到这一点,我通过USB
将Android设备连接到PC。是否可以从门户网站访问安装在 Android 设备中的 sqllite 数据库?
非常感谢您的回答。
最佳答案
我认为您不能直接从 USB 访问,因为数据库将存储在应用程序私有(private)内存中而不是 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();
}
}
}
关于java - 如何通过 USB 从门户网站访问 Android 中安装的 Sqlite DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38630081/