Bad*_*Guy 6 java android android-room android-livedata
我想从服务类中选择带有 livedata 的房间数据库上的数据。观察时如何投射 LifecycleOwner?
repositoryDatabase.getTimeline().observe(this, timelineList -> {
if (timelineList != null && timelineList.size() >= 10) {
JSONArray arrayTimeline = new JSONArray();
for (TimelineEntity timeline : timelineList) {
JSONObject objectTimeline = new JSONObject();
try {
objectTimeline.put("doku", timeline.getIdDokumen());
objectTimeline.put("entrydate", timeline.getEntryDate());
objectTimeline.put("lat", timeline.getLat());
objectTimeline.put("lng", timeline.getLng());
arrayTimeline.put(objectTimeline);
} catch (JSONException e) {
e.printStackTrace();
}
}
onUpdateLocation(arrayTimeline.toString());
}
});
Run Code Online (Sandbox Code Playgroud)
你可以这样使用LifecycleService:
将此依赖项添加到您的app/build.gradle文件中:
dependencies {
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
}
Run Code Online (Sandbox Code Playgroud)
通过以下方式扩展您的服务LifecycleService:
dependencies {
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
}
Run Code Online (Sandbox Code Playgroud)
之后,您将能够观察您的LiveData.
小智 6
将此依赖项添加到您的app/build.gradle文件中:
\n\nimplementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n\n版本 2.2.0 ~~ 2020 年 1 月 22 日 ~~ 自 2.1.0 以来的重要更改
\n
\n 生命周期扩展工件弃用:随着上述 ViewModelProviders.of() 的弃用,此版本标志着生命周期扩展中最后一个 API 的弃用现在这个工件应该被认为是完全废弃的。我们强烈建议您根据需要的特定生命周期工件(例如,如果您\xe2\x80\x99使用 LifecycleService,则使用生命周期服务;如果您\xe2\x80\x99使用 ProcessLifecycleOwner,则使用生命周期进程),而不是使用生命周期扩展,因为不是生命周期扩展的未来 2.3.0 版本。
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |