gpt4 book ai didi

java - 如何将存储在 AWS S3 服务器中的 sqlite 数据库远程连接到我的 Android 应用程序

转载 作者:行者123 更新时间:2023-12-01 09:25:25 27 4
gpt4 key购买 nike

我正在尝试开发一个 Android 应用程序,它将从 AWS S3 服务器访问数据库。我尝试以正常方式执行此操作,只需添加连接字符串,即从 aws S3 服务器存储桶获得的数据库链接。我也已向该桶授予了许可。但是当我运行该应用程序时,它说“可以打开数据库”。有什么方法可以让我轻松做到吗?您可以在下面查看我的数据库适配器代码连接代码。

public class DataBaseHelperAWS extends SQLiteOpenHelper {

private SQLiteDatabase myDataBase;
Date d = new Date();
private final Context myContext;
private static String DB_PATH = "https://s3.ap-North-2.amazonaws.com/xxxx/test.db";

public DataBaseHelperAWS(Context context) {
super(context, "https://s3.ap-North-2.amazonaws.com/xxxx/test.db" , null, 1);
this.myContext = context;
}


public void openDataBase() throws SQLException {
//Open the database
try {
String myPath = DB_PATH ;

myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
} catch (SQLiteException e) {
}
}

public Cursor GetData(String query) throws SQLException {

//Open the database
Cursor resultSet = null;
try {
openDataBase();
resultSet = myDataBase.rawQuery(query, null);
resultSet.moveToFirst();
} catch (SQLException e) {
}
}

public void ExecuteQuery(String query) throws SQLException {

//Open the database
try {
openDataBase();
myDataBase = this.getWritableDatabase();
myDataBase.execSQL(query);
} catch (Exception e) {
}
}

public synchronized void close() {
try {
if (myDataBase != null)
myDataBase.close();

super.close();
} catch (Exception e) {
Log.d(TAG, e.getMessage());
}

}
}

请检查我尝试过的代码。我使用本地数据库适配器/dbhelper 类通过 aws 链接访问远程 aws 服务器。我不知道这是否是正确的方法。我也是 Android 开发和 AWS 的新手。

最佳答案

Sqlite是一个嵌入式数据库,不会消耗大量资源。我们的想法是将其嵌入到您的应用程序中。 Android 中嵌入了 sqlite,因此您可以编写应用程序来连接以在其中存储数据。数据库驻留在设备上,不能驻留在服务器上。

但是,如果 S3 中的 sqlite 数据库不经常更改,您可以定期将文件下载到设备上 update the local copy of the database .

如果您需要数据库始终保持同步,那么使用 database service such as DynamoDB 可能会更好,但您可能仍然希望在用户无法访问互联网时将结果缓存在本地 SQLite 表中。

关于java - 如何将存储在 AWS S3 服务器中的 sqlite 数据库远程连接到我的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39874814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com