La semaine dernière, les données épidémiologiques ne montrent l'utilisation du côté du téléphone mobile, par le code suivant pour accéder au serveur à la fin, de manière à afficher les données sur le côté serveur à la fin sortir, utilisez le même reptile, ramper les dernières données,
fichiers mise en page, activity_main
<? xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: id = "@ + id / activity_main " android: layout_width =" match_parent » android: layout_height = "match_parent" android: orientation = "vertical"> <EditText android: id = "@ + id / editText" android: layout_width = "match_parent" android: layout_height = "wrap_content" android: ems = "10" android: inputType = "textPersonName" android: text = "" /> <Bouton android: id = »@ + id / send_request » android: layout_width = "match_parent" android: layout_height = "wrap_content" android: text = "点击查询" /> <-带滚动条的视图->! <ScrollView android: 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>
fichier xml
<? xml version = "1.0" encoding = "utf-8"?> <manifeste xmlns: android = "http://schemas.android.com/apk/res/android" package = "com.example.a14769.yiqingchaxun "> <utilisations-permission android: name =" android.permission.INTERNET "/> < l' application Android: usesCleartextTraffic =" true " android: allowBackup = "true" android: icône = "@ mipmap / ic_launcher" android: label =" @ string / app_name » android: roundIcon = "@ mipmap / ic_launcher_round" android: supportsRtl = "true" android:thème = "@ le style / AppTheme"> <activité android: name => "MainActivity." <filtre intention> <action android: name = "android.intent.action.MAIN" /> <catégorie android: name = "android.intent.category.LAUNCHER" /> </ intention filtre> </ activité> </ application> </ manifeste>
MainActivity
emballer com.example.a14769.yiqingchaxun; importation android.os.Bundle; importation android.support.v7.app.AppCompatActivity; importation android.view.View; importation android.widget.EditText; importation android.widget.TextView; importation java.io.BufferedReader; importation java.io.IOException; importation java.io.InputStream; importation java.io.InputStreamReader; importation java.net.HttpURLConnection; importation java.net.MalformedURLException; importation java.net.ProtocolException; importation java.net.URL; publique classeMainActivity étend AppCompatActivity { privé TextView textView; @Override protégé vide onCreate (Bundle savedInstanceState) { super .onCreate (savedInstanceState); setContentView (R.layout.activity_main); findViewById (R.id.send_request) .setOnClickListener ( nouveau View.OnClickListener () { @Override publique vide onClick (Voir v) { send (); } }); textView = (TextView) findViewById (R.id.response_data); } privé vide send () { // 开启线程,发送请求 nouveau fil ( nouveau Runnable () { @Override publique vide run () { HttpURLConnection connexion = null ; lecteur BufferedReader = null ; try { EditText editText = (EditText) findViewById (R. id.editText); Chaîne timeend = editText.getText () toString (). URL url = nouveauL'URL ( "http://10.0.2.2:8043/yiqingshuju1.0/androidServlet?date=2020-03-14" ); // l'URL de l'URL d' une nouvelle nouvelle url = ( " https://www.baidu.com/ ") ; connection = (le HttpURLConnection) url.openConnection (); // procédé de demande d' établissement connection.setRequestMethod ( "GET" ); // régler la durée de connexion (ms) connection.setConnectTimeout (5000 ); // régler le délai d' attente de lecture ( ms) connection.setReadTimeout (5000 ); // retourne un flux d' entrée InputStream in =connection.getInputStream (); // 读取输入流 lecteur = nouveau BufferedReader ( nouveau InputStreamReader (en)); StringBuilder résultat = nouveau StringBuilder (); String line; tandis que ((ligne = reader.readLine ()) =! null ) { result.append (ligne); } Show (result.toString ()); } Captures (MalformedURLException e) { e.printStackTrace (); } Captures (ProtocolException e) { e.printStackTrace (); } Captures (IOException e) { e.printStackTrace (); } Enfin { si (lecteur =! Null ) { try { reader.close (); } Captures (IOException e) { e.printStackTrace (); } } Si (connexion! = Null ) { // 关闭连接 connection.disconnect (); } } } .}) Start (); } Privé vide show ( dernier résultat String) { runOnUiThread ( nouveau Runnable () { @Override publique vide run () { textView.setText (résultat); } }); } }