从Asyntask传递到RxJava
我正在开发一个小项目,我想实现RxJava库,而不是Asyntask,我知道它在反应式库方面有一些缺点 我刚开始使用反应式库几天,但我还没有为自己开发这个库的知识 我的代码是:从Asyntask传递到RxJava,java,android,Java,Android,我正在开发一个小项目,我想实现RxJava库,而不是Asyntask,我知道它在反应式库方面有一些缺点 我刚开始使用反应式库几天,但我还没有为自己开发这个库的知识 我的代码是: private class EjecutaSegundoPlano extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... string
private class EjecutaSegundoPlano extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... strings) {
Location puntoOrigen = null;
Location puntoDestino = null;
Context context = getApplicationContext();
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
final NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null || !ni.isConnected() || !ni.isAvailable()) {
return getString(R.string.error_conexion);
} else {
// return (ni.isConnected() && (ni.getType() == ConnectivityManager.TYPE_WIFI || ni.getType() == ConnectivityManager.TYPE_MOBILE));
try {
puntoOrigen = OptimizacionBusqueda.busca(direccionOrigen);
if (puntoOrigen == null) {
return getString(R.string.error_origen);
}
puntoDestino = OptimizacionBusqueda.busca(direccionDestino);
if (puntoDestino == null) {
return getString(R.string.error_destino);
}
} catch (Exception e) {
return getString(R.string.error_red);
}
ruta.mejorRuta(puntoOrigen, puntoDestino, lineas);
}
}
return null;
}
protected void onPostExecute(String Resultado){
barraProgreso=null;
enviar.setAlpha(1);
enviar.setEnabled(true);
muestraRuta();
}
私有类EjecutaSegundoPlano扩展异步任务{
@凌驾
受保护的字符串背景(字符串…字符串){
位置puntoOrigen=null;
位置puntoDestino=null;
Context=getApplicationContext();
ConnectivityManager cm=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_服务);
如果(cm!=null){
final NetworkInfo ni=cm.getActiveNetworkInfo();
如果(ni==null | | |!ni.isConnected()| |!ni.isAvailable()){
返回getString(R.string.error\u conexion);
}否则{
//返回(ni.isConnected()&(ni.getType()==ConnectivityManager.TYPE|u WIFI | ni.getType()==ConnectivityManager.TYPE|u MOBILE));
试一试{
puntoOrigen=OptimizacionBusqueda.busca(direccionOrigen);
if(puntoOrigen==null){
返回getString(R.string.error\u origen);
}
puntoDestino=OptimizacionBusqueda.busca(direccionDestino);
if(puntoDestino==null){
返回getString(R.string.error\u destino);
}
}捕获(例外e){
返回getString(R.string.error\u red);
}
马约鲁塔(puntoOrigen、Puntotodestino、lineas);
}
}
返回null;
}
受保护的void onPostExecute(字符串Resultado){
barraProgreso=null;
环境:setAlpha(1);
enviar.setEnabled(真);
muestaruta();
}