我正在构建一个Android应用程序,该应用程序异步查询Web服务,以查找可能大小合适的数据量 - 这比我想要存储在SharedPreferences中的要多得多。最初,我每次都在考虑运行查询,但是我使用的越多,感觉就越笨拙。那么,存储这些数据并定期刷新的最佳方法是什么?
我在想一个SQLite数据库,但也许有更简单的方法吗?我真的不需要一个完整的数据库,但我会存储几个事件及其相应的数据。
另外,如果我使用数据库,那么定期更新数据库的最佳方法是什么?
答案 0 :(得分:3)
我想说在这里使用数据库非常好。
考虑到定期更新,您可以采用各种策略:
SyncAdapter
根据您是否控制服务器以及数据始终是最新的重要性,请选择最适合您需求的服务或使用组合。
答案 1 :(得分:2)
这是一个sq - LITE
db,所以它不是一个成熟的Oracle集群:)。
为了初始化应用程序的数据库并开始使用它应该完成的工作量非常小,并且封装在一个类中,如:
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper( Context ctx ) {
super( ctx, "myapp.db", null, 1 );
}
@Override
public void onCreate( SQLiteDatabase db ) {
db.execSQL(
"CREATE TABLE location ( _id INTEGER PRIMARY KEY AUTOINCREMENT, lat REAL NOT NULL, lon REAL NOT NULL, name TEXT NOT NULL, locality TEXT NOT NULL,"
+ " UNIQUE( name ) ON CONFLICT REPLACE );" );
}
@Override
public void onUpgrade( SQLiteDatabase db, int oldVersion, int newVersion ) {}
}
另一个选择是使用web-clinet
数据库,这通常适用于phonegap / cordova支持的应用程序。
关于更新,@ jois很好地描述了它们