Cómo dar entradas y obtener resultados en la aplicación de Android desde un sitio web

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 {

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:

  1. 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.
  2. doInBackground () es un método predeterminado de la clase AsyncTask que debe anularse para implementar su funcionalidad personalizada.
  3. 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.
  4. HttpUrlConnection es la conexión principal responsable de establecer la conexión al sitio web especificado a través del objeto URL.
  5. Piense en InputStream y InputStreamReader como un canal para datos al igual que DataInputStream para la conexión entre dispositivos IO estándar.
  6. 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.
  7. 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
  8. 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.

Debe realizar llamadas de API creando una API que conecte su aplicación de Android al servidor y use una biblioteca como volley para una forma fácil de hacer llamadas de Internet a la API.

More Interesting

¿Existe una buena aplicación de Android que permita funcionalidades de avance / retroceso (0.5x, 2x) de archivos MP3 como la que tenemos en la aplicación de escritorio VLC?

¿Cuáles son las aplicaciones móviles imprescindibles para desarrolladores?

¿Cómo programarías una aplicación de transporte público para Android que te diga cómo llegar desde AB?

Cómo explorar / cargar archivos de texto o .doc y mostrar sus datos en el campo Editar texto de Android Studio usando Java

¿Cuál es la diferencia entre 'Java original' y 'Java en Android'? ¿Hay funciones agregadas / eliminadas a / de Java para el desarrollo de Android?

Cómo dar entradas y obtener resultados en la aplicación de Android desde un sitio web

¿Cuánto costaría el desarrollo de una aplicación meteorológica en un Android en India? (excluyendo el diseño)

Cómo usar el almacenamiento local en el desarrollo de aplicaciones de Android para almacenar datos como la base de datos

¿Cómo puede ganar una aplicación de Android si su versión pro está disponible de forma gratuita en sitios web de terceros?

Appcelerator Titanium: ¿Cómo creo un nuevo proyecto?

¿Qué se considera una vista en SQLite?

¿Cómo se crean hermosas interfaces de usuario no estándar para aplicaciones de Android?

Si se puede escribir una aplicación de fondo con cualquier idioma, ¿cómo se usa Java en el desarrollo de Android?

¿Cuántas descargas para aplicaciones de Android debo obtener para ganar unos 10 $ por día?

Cómo cambiar o eliminar el degradado verde en la parte superior de la actividad de la barra de navegación en Android Studio