La semana pasada, los datos de brotes hicieron mostrar el uso de la parte móvil, por el siguiente código para acceder al servidor como al final, con el fin de mostrar los datos en el servidor como en el extremo salido, utilice el mismo reptil, arrastrándose a los últimos datos,
archivos de diseño, activity_main
<? xml version = "1.0" encoding = "UTF-8"?> <LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: id = "@ + / Identificación del activity_main " android: layout_width =" match_parent" android: layout_height = "match_parent" android: orientation = "vertical"> <EditarTexto android: id = "@ + / Identificación del EditarTexto" android: layout_width = "match_parent" android: layout_height = "wrap_content" Android: ems = "10" android: inputType = "textPersonName" android: text = "" /> <Button android: id ="@ + / Identificación del send_request" android: layout_width = "match_parent" android: layout_height = "wrap_content" android: text = "点击查询" /> <-带滚动条的视图-> <ScrollView androide: layout_width = "match_parent" android: layout_height = "match_parent"> <-响应数据-> <TextView android: id = "@ + ID / response_data" android: layout_width = "match_parent" android: layout_height = "wrap_content" /> </ ScrollView> </ LinearLayout>
archivo XML
<? xml version = "1.0" encoding = "UTF-8"?> <xmlns manifiestos: androide = "http://schemas.android.com/apk/res/android" paquete = "com.example.a14769.yiqingchaxun "> <usos permiso-android: name =" android.permission.INTERNET "/> < aplicación Android: usesCleartextTraffic =" true " android: allowBackup = "true" android: icon = "@ mipmap / ic_launcher" android: etiqueta =" @ string / nombre_apl" android: roundIcon = "@ mipmap / ic_launcher_round" android: supportsRtl = "true" android:tema = "@ estilo / AppTheme"> <actividad android: name => "MainActivity." <intención de filtro> <acción android: name = "android.intent.action.MAIN" /> <Android Categoría: name = "android.intent.category.LAUNCHER" /> </ intención de filtro> </ actividad> </ application> </ manifest>
MainActivity
empaquetar com.example.a14769.yiqingchaxun; importación android.os.Bundle; importación android.support.v7.app.AppCompatActivity; importación android.view.View; importación android.widget.EditText; importación android.widget.TextView; importación java.io.BufferedReader; importación java.io.IOException; importación java.io.InputStream; importación java.io.InputStreamReader; importación java.net.HttpURLConnection; importación java.net.MalformedURLException; importación java.net.ProtocolException; importación java.net.URL; público de claseMainActivity extiende AppCompatActivity { privada Vista de Texto Textview; @ Override protegido void onCreate (Bundle savedInstanceState) { súper .onCreate (savedInstanceState); setContentView (R.layout.activity_main); findViewById (R.id.send_request) .setOnClickListener ( nueva View.OnClickListener () { @ Override pública vacío onClick (Ver v) { send (); } }); Textview = (TextView) findViewById (R.id.response_data); } privada void send () { // 开启线程,发送请求 nuevo hilo ( nueva Ejecutable () { @ Override pública vacío run () { HttpURLConnection conexión = nula ; lector de BufferedReader = nula ; try { EditarTexto EDITTEXT = (EditarTexto) findViewById (R. id.editText); cadena timeend = editText.getText toString () ();. URL url = nuevaLa URL de ( "http://10.0.2.2:8043/yiqingshuju1.0/androidServlet?date=2020-03-14" ); // la URL de la dirección URL de la nueva nueva url = ( " https://www.baidu.com/ ") ; conexión = (el HttpURLConnection) url.openConnection (); // set método de petición connection.setRequestMethod ( "el GET" ); // establecer el tiempo de conexión (ms) connection.setConnectTimeout (5000 ); // establece el tiempo de espera de lectura ( ms) connection.setReadTimeout (5000 ); // devuelve un flujo de entrada InputStream in =connection.getInputStream (); // 读取输入流 lector = nuevo BufferedReader ( nuevo InputStreamReader (en)); Resultado StringBuilder = nuevo StringBuilder (); Línea de cuerda; mientras que ((línea = reader.readLine ()) =! nula ) { result.append (línea); } Espectáculo (result.toString ()); } Catch (MalformedURLException e) { e.printStackTrace (); } Catch (ProtocolException e) { e.printStackTrace (); } Catch (IOException e) { e.printStackTrace (); } Finalmente { si (= lector! Nula ) { try { reader.Close (); } Catch (IOException e) { e.printStackTrace (); } } Si (conexión! = Nula ) { // 关闭连接 connection.disconnect (); } } } .}) Start (); } Privada vacío espectáculo ( último resultado String) { runOnUiThread ( nueva Ejecutable () { @ Override pública vacío run () { textView.setText (resultado); } }); } }