gpt4 book ai didi

android - 如何在后台线程中使用RX从android中的 Assets 文件夹中读取文件

转载 作者:行者123 更新时间:2023-12-02 00:22:05 25 4
gpt4 key购买 nike

private ModelObject model;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {

}

private void readFile() {
if (model == null) {
Gson gson = new Gson();
final String helpItem = “my _file.json”;
InputStream stream = null;
try {
stream = getResources().getAssets().open(helpItem);
Reader reader = new InputStreamReader(stream);
model = gson.fromJson(reader, ModelObjects.class);
reader.close();
stream.close();
} catch (IOException e) {
Timber.w(e);
} finally {
fileclose();
}
}
}

这是我使用此代码的代码我正在从 Assets 文件夹中读取文件并解析为模型对象但我想在后台线程而不是主线程中读取此文件所以并获取数据主线程请建议我如何实现读取在后台线程中文件并在主线程中获取值。

最佳答案

您可以像这样使用 Observable 来做到这一点:

Observable.fromCallable(new Callable<ModelObject>() {
@Override public ModelObject call() throws Exception {
return readFile(); // Make readFile so that it returns ModelObject
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ModelObject>() {
@Override public void onSubscribe(Disposable d) {

}

@Override public void onNext(ModelObject o) {

}

@Override public void onError(Throwable e) {

}

@Override public void onComplete() {

}
});

关于android - 如何在后台线程中使用RX从android中的 Assets 文件夹中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55035267/

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