如何从Linux主服务器上传Android应用程序中的sqlite文件

时间:2011-04-26 21:49:34

标签: android database sqlite data-transfer

我打算编写一个简单的Android应用程序,就像一个教授的小目录。它将有他们的名字,电子邮件,电话和他们的照片。我需要手动将sqlite文件从服务器发送到手机。我一直在努力研究如何做到这一点,但看起来有很多方法!我希望有人能指出我最好的方向!

1 个答案:

答案 0 :(得分:3)

我能想到的最简单的方法是打开一个URLConnection到您的服务器,读取响应并将其保存到您应用程序的数据库目录(或SD卡)。

例如:

URL url = new URL("http://example.com/file.sqlite");
URLConnection conn = url.openConnection();
BufferedInputStream bin = new BufferedInputStream(conn.getInputStream());
FileOutputStream fos = 
    new FileOutputStream("/data/data/[your.pkg.name]/databases/file.sqlite");
byte[] buffer = new byte[1024];
int read = 0;
do {
    read = bin.read(buffer, 0, buffer.length);
    if (read > 0)
        fos.write(buffer, 0, read);
} while (read >= 0);

之后,您可以使用SQLiteOpenHelper的子类打开数据库,也可以直接通过调用SQLiteDatabase.openDatabase(..)来打开数据库:

e.g:

SQLiteDatabase.openDatabase("/data/data/[your.pkg.name]/databases/file.sqlite",
        null, SQLiteDatabase.OPEN_READWRITE);