Bueno, no tengo mucha experiencia como desarrollador de Android, pero sí sé cómo descargar contenidos web de un sitio web.
p.ej.-
clase pública MainActivity extiende AppCompatActivity {
- ¿Cuánto tiempo necesito para crear una aplicación simple de Android?
- ¿Qué emulador de Android debo usar?
- ¿Cuánto gana un desarrollador de aplicaciones de Android en India a través de anuncios?
- Si tengo una idea para una aplicación de Android, ¿cómo puedo hacerla?
- ¿Cuál es el mejor sitio / programa para aprender desarrollo de aplicaciones (android) para un niño de 15 años y qué idiomas son más importantes?
La clase pública DownloadTask extiende AsyncTask {
/ **
* Anule este método para realizar un cálculo en un hilo de fondo. los
* los parámetros especificados son los parámetros pasados a {@link #execute}
* por la persona que llama de esta tarea.
*
* Este método puede llamar a {@link #publishProgress} para publicar actualizaciones
* en el hilo de la interfaz de usuario.
* *
* @param urls Los parámetros de la tarea.
* @return Un resultado, definido por la subclase de esta tarea.
* @ver #onPreExecute ()
* @ver #onPostExecute
* @ver #publishProgress
* /
@Anular
String protegido doInBackground (String … urls) {
Cadena resultado = “”;
URL url;
HttpURLConnection urlConnection = null;
tratar{
url = nueva URL (urls [0]);
urlConnection = (HttpURLConnection) url.openConnection ();
InputStream inputStream = urlConnection.getInputStream ();
InputStreamReader streamReader = new InputStreamReader (inputStream);
int datos = streamReader.read ();
while (datos! = – 1)
{
char ch = (char) datos;
resultado + = ch;
data = streamReader.read ();
}
resultado de retorno;
}
captura (Excepción e)
{
e.printStackTrace ();
volver “Fallido”;
}
}
}
@Anular
vacío protegido onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Cadena res = nulo;
DownloadTask downloadTask = new DownloadTask ();
tratar {
res = downloadTask.execute (“https://www.google.com”) .get ();
} catch (InterruptedException e) {
e.printStackTrace ();
} catch (ExecutionException e) {
e.printStackTrace ();
}
TextView txt = (TextView) findViewById (R.id.textView);
txt.setText (res);
Log.i (“RESULTADO”, res);
}
}
Este es un ejemplo estándar de extracción de información de un sitio web suministrado como una URL del método doinBackground ().
Dándole una visión general de lo que realmente sucede:
- Definimos una subclase dentro de MainActivity y ampliamos Asynctask para que la tarea se ejecute en un subproceso en segundo plano en lugar del subproceso de la interfaz de usuario (esto se hace para aumentar el rendimiento de la aplicación como se especifica en las guías API de Google).
También puedes hacerlo en el hilo principal. - doInBackground () es un método predeterminado de la clase AsyncTask que debe anularse para implementar su funcionalidad personalizada.
- El objeto URL solo crea una url a partir del parámetro de cadena proporcionado que se le pasa desde los argumentos var de cadena que se suministra al método onCreate del hilo principal.
- HttpUrlConnection es la conexión principal responsable de establecer la conexión al sitio web especificado a través del objeto URL.
- Piense en InputStream y InputStreamReader como un canal para datos al igual que DataInputStream para la conexión entre dispositivos IO estándar.
- streamReader.read () básicamente toma datos del canal en forma de número entero que se almacena y se convierte en char y se agrega al objeto String que finalmente devolvemos.
- Ahora eche un vistazo al método onCreate () del subproceso de interfaz de usuario principal. Proporcionamos nuestra URL deseada al objeto de la subclase definida a través del método .execute en la forma especificada que hace el trabajo de recuperar el contenido web por nosotros
- Y hemos terminado con el contenido web en el objeto res String. Podemos hacer cualquier cosa con el código fuente del sitio web que acabamos de recuperar.
Esta es solo una demostración básica para descargar contenido web. También podemos descargar imágenes, etc. del sitio web.
Si alguien siente que estoy equivocado en algún lugar o puede haber alguna otra forma, comente.
Siempre debe buscar detalles sobre las funciones y las API de Google Developers.
Esta fue la parte de dar entrada a una aplicación de Android desde un sitio web.
Bueno, no sé sobre la segunda parte. Si alguien sabe, por favor comente.
Sin embargo, supongo que eso no es posible muy fácilmente.