Android Volley SQLite 集成/组合

标签 android android-sqlite android-volley

我想将 Volley 集成到我的项目中。但是将数据保存到sqlite数据库时出现问题。是否可以在 Activity 中执行保存操作(我从 Web 服务获得响应的地方)或者在这里使用加载器模式如何更好?谢谢

最佳答案

从线程的角度来看,您可能不想在 Android 的主 UI 线程上将更改写入数据库,最好在单独的线程中执行。我相信 Volley 的结果总是在主 UI 线程上返回(有关详细信息,请参阅 Volley 中的 ResponseDeliveryRunnable 类)。

这意味着您可能希望使用执行器或以下代码跳出 Response.Listener 中的主 UI 线程:

AsyncTask.execute(new Runnable() {
  public void run() {
    // database insert here 
  }
});

这真的取决于您的应用程序的结构,您是否有 DAO 层和域对象,或者您是否使用直接 SQL 语句将来自 Web 服务的数据直接插入到您的数据库中?我个人使用 greenDAO ORM,它为我提供域对象和 DAO,并确保在使用数据库进行插入/删除/更新时,我始终不在 Android 主 UI 线程中。

关于Android Volley SQLite 集成/组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17183431/

相关文章:

Android SQLite 查询 - 搜索以任何数字开头的单词

java - Android:JsonObjectRequest 内的媒体播放器

java - 不基于 JNI 的 Android 共享库

Android Studio 每次运行都需要重建

android - Android中Sqlite存储过程的使用

android - 将离线 SQLite 数据库与在线 MySQL 数据库同步

java - new Foo(bar) {public void baz(){....} }; 是什么意思?在Java中是什么意思?

android - Xamarin 表单-System.Data.Sqlite

java - 如何使用notifyDataSetChanged和Volley

android - 无论我做什么,我在 fragment 中的 recyclerview 都不会更新