我正在开发一个应用程序,其中包含服务器端 SQL 数据库中的数据存储。但是应用程序也需要在离线模式下工作,因此应用程序必须在连接到互联网后从服务器端获取数据,并且必须将该数据存储到 SQLite 数据库中。任何人都可以为我提供代码 sn-ps 或包含一个很好的工作示例的任何链接。谢谢
【问题讨论】:
阅读android.content.AbstractThreadedSyncAdapter
docs
【参考方案1】:
首先您必须检查您是否通过此代码连接到互联网:
public static boolean isNetConnected(Context context)
ConnectivityManager connectivityManager
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
如果它返回 true,则显示来自服务的数据并存储到 DB 中,否则从 DB 中显示。对于插入或更新,您可以使用
String sql = "INSERT OR REPLACE INTO " + Databaseconnector.TABLE_LOCAL_ROSTER
+ "(UNIQUE_ID,USER_NAME,PHONE_NUMBER,ROLE,PROFILE_NAME,IMAGE,URL,RANK) VALUES (?,?,?,?,?,?,?,?)";
享受代码:)
【讨论】: