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

发布于 2024-11-04 03:25:31 字数 130 浏览 2 评论 0原文

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

I am planning on writing a simple Android application that is like a small directory of professors. It will have their name, email, phone and a picture of them. I need to manually send an sqlite file from the server to the phone. I have been trying to research how to do this, but it looks like there are so many ways! I'm hoping someone can point me in the best direction!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薔薇婲 2024-11-11 03:25:31

我能想到的最简单的方法是打开到服务器的 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(..) 打开数据库:

例如:

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

The easiest way I can think of, is to open an URLConnection to your server, read the response and save it to your app's database directory (or SD card).

For example:

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

After that you can open your database with a subclass of SQLiteOpenHelper or directly by calling SQLiteDatabase.openDatabase(..):

e.g.:

SQLiteDatabase.openDatabase("/data/data/[your.pkg.name]/databases/file.sqlite",
        null, SQLiteDatabase.OPEN_READWRITE);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文