Código fuente del asistente móvil de Android
¿Paquete? mm.shandong.com.testmultithreaddownload;
¿Importar? Android.app.progressdialog;
¿Importar? Android.content.int;
¿Importar? Android.net.uri;
¿Importar? android.os .environment;
¿Importar? Controlador de sistema operativo Android;
¿Importar? Mensaje del sistema operativo Android;
¿Importar? Compatibilidad con la aplicación Android V7.
¿Importar? Paquete de sistema operativo Android;
¿Importar? Android.text.textutils;
¿Importar? Android.view.view;
¿Importar? Android.widget.edittext;
¿Importar? Android.widget.toast;
¿Importar? Archivo Java .io .
¿Importar? mm. Shandong com. hilo de descarga de prueba multiproceso.
¿Importar? mm. Shandong com. pruebamultithreaddescargar archivo util;
¿Público? ¿clase? ¿Probar actividad de descarga multiproceso? ¿extender? ¿Actividad de compatibilidad de aplicaciones? {
¿Diálogo de progreso? Pb;
¿Editar texto? Editar texto;
¿Manejador? Procesador;
¿Privado? ¿Actualizar UIThread? mUpdateUIThread? =?null
///Ruta del archivo
¿Privado? ¿Cadena? URL? =
"/data/wise game/3c 00 add 7144d 3915/kugou yinle . apk ";
@cover
¿Protegido? ¿Vacío? onCreate (paquete? estado de instancia guardado)? {
super . oncreate(savedInstanceState);
setContentView(r . diseño . actividad _ prueba _ multi _ hilo _ abajo _ carga);
editText? =?(EditarTexto)? findViewById(r . id . edittext);
init handler();
}
¿Público? ¿Vacío? initHandler()? {
¿Manejador? =?¿Nuevo? Entrenador de animales().
{
@OVERRIDE
¿Público? ¿Vacío? manejarMensaje(mensaje?MSG)? {
¿Cambiar? (mensaje. ¿qué)? {
¿Caso? FileUtil.startDownloadMeg:
Pb . set max(mupdateuithread . get size());? //Inicio
Descanso;
¿Caso? FileUtil.updateDownloadMeg:
¿Y si? (!mUpdateUIThread.isCompleted())? //Descargar mensaje de progreso
{
Pb . set Progress(mupdateuithread . getdownloadsize());
Pb.setMessage("Velocidad de descarga: "?
mupdateuithread.getdownloadspeed()?"miles/segundo"?"?"?mupdateuithread.getdownloadppercent()?"");
}?¿Y si? {
Pb.setMessage("Descarga completada");
}
Interrupción;
¿Caso? FileUtil.endDownloadMeg:
toast. make text(testmultithreaddownloadeactivity.this,
"Descarga completa, instalación ahora"? brindis. LENGTH_SHORT). show();
/*salto de interfaz de instalación de apk*/
¿Cadena? ¿Nombre del archivo? =?fileutil . getfilename(URL);
Cadena? cadena? =?"/miarchivo/"? ?Nombre del archivo;
¿Cadena? ¿Nombre del archivo? =?environment.getexternalstoredirectory()? ?str
¿Intención? ¿intención? =?¿Nuevo? Intent(Intent.ACTION_VIEW);
intent . set dataandtype(uri . from file(new? file(filename)),
" application/vnd . Android . package -archive " );
startActivity(intent);
Break;
}
super manejar mensaje(msg);
}
};
}
///Comienza a descargar el software.
¿Público? ¿Vacío? ¿Comenzar a descargar (ver? Ver)? {
¿Y si? (utilidades de texto. isempty(edittext. gettext(). toString()))? {
Toast.makeText(this,? "Ingresaste la dirección para descargar el archivo"? Toast. LENGTH_SHORT). show();
Regresar;
} ¿De lo contrario? {
¿Dirección web? =?editText.getText().
toString();
}
//Iniciar el hilo para inicializar los parámetros de descarga
mUpdateUIThread? =?Nuevo? UpdateUIThread(handler, url,
FileUtil.setMkdir(this)? ? file.separator, ?fileutil.getfilename(URL));
pb? =?Nuevo? diálogo de progreso (este);
Pb.setprogressstyle(diálogo de progreso.STYLE_horizontal);
Pb.show();
mupdateuithread.start();
}
}El código de muestra es demasiado largo, solo puedo darte una parte. Si desea ver el código de muestra completo, vaya a 360 Mobile Assistant para descargar el manual de aprendizaje de Android. Haga clic en el código fuente interno para ver el código completo. Pronto habrá otros pequeños ejemplos de Android, ***108.