提问人:W 3 提问时间:2/19/2023 最后编辑:akarnokdW 3 更新时间:2/19/2023 访问量:48
在 Android studio java 中将 AsyncTask 转换为 RxJava
Convert AsyncTask to RxJava in Android studio java
问:
首先,我是 android studio 上的 java 新手,并尝试使用 asyncTask 使用 github 中的代码。但是,AsyncTask 已被弃用,因此需要根据我的建议将其替换为 rxJava。如果有人帮助将下面的代码转换为 rxJava,我将不胜感激。谢谢。
private class DownloadTask extends AsyncTask<String, Void, String> {
// Downloading data in non-ui thread
@Override
protected String doInBackground(String... url) {
// For storing data from web service
String data = "";
try{
// Fetching the data from web service
data = downloadUrl(url[0]);
Log.d("DownloadTask","DownloadTask : " + data);
}catch(Exception e){
Log.d("Background Task",e.toString());
}
return data;
}
// Executes in UI thread, after the execution of
// doInBackground()
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
ParserTask parserTask = new ParserTask();
// Invokes the thread for parsing the JSON data
parserTask.execute(result);
}
}
/** A class to parse the Google Directions in JSON format */
private class ParserTask extends AsyncTask<String, Integer, List<List<HashMap<String,String>>> >{
// Parsing the data in non-ui thread
@Override
protected List<List<HashMap<String, String>>> doInBackground(String... jsonData) {
JSONObject jObject;
List<List<HashMap<String, String>>> routes = null;
try{
jObject = new JSONObject(jsonData[0]);
DirectionsJSONParser parser = new DirectionsJSONParser();
// Starts parsing data
routes = parser.parse(jObject);
}catch(Exception e){
e.printStackTrace();
}
return routes;
}
答: 暂无答案
评论