編碼的世界 / 優質文選 / 歷史

Android studio 通過以servlet搭建的服務器訪問 PC端 mysql數據庫(二)


2022年7月18日
-   

上一篇文章我們已經講解了Android studio 通過以servlet搭建的服務器訪問 PC端 mysql數據庫 的服務器端的實現步驟和方法 。網址為:http://blog.csdn.net/snadijssajskkj/article/details/50554903本文將繼續講解客戶端(android)的實現。首先先說下幾個注意點:(類此網絡可以查看本人之前寫過的博文,http://blog.csdn.net/snadijssajskkj/article/details/50554803)1、通過httpservlet訪問網絡,需要在AndroidManifest.xml中添加網絡權限:
<uses-permission android:name="android.permission.INTERNET" />

2、避免出現android.os.NetworkOnMainThreadException的異常,需要在mainactivity中的onCreate(),添加Exception();

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void Exception(){
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().detectLeakedClosableObjects()
.penaltyLog().penaltyDeath().build());
}
以上為需要注意的,現在直接講解客戶端訪問mysql數據庫代碼:
public volatile static String url1,url2,url;
//執行完query();後將result結果顯示在edittext上@
public void query() throws IOException, ParseException {//查詢函數
url1="http://192.168.1.101:8080/webtt/HelloWorld";
//訪問服務器創建的網頁,192.168.1.101為pc的ip地址
 url2="idAndstatement="+"3,關,";//傳送的字段:表示的含義為id=3,狀態為關
$ url=url1+"?"+url2;  
 System.out.println("1");  
 HttpGet request = new HttpGet(url);//調用servlet的doget方法  
 System.out.println("2"); //在這裏執行請求,訪問url,並獲取響應  
 HttpResponse reponse =new DefaultHttpClient().execute(request);  
 System.out.println("3"); //獲取返回碼,等於200即表示連接成功,並獲得響應  
 if(reponse.getStatusLine().getStatusCode()==200){  
 System.out.println("4"); //獲取響應中的數據  
 result= EntityUtils.toString(reponse.getEntity());  
 System.out.println("結果為:"+result);//輸出查詢的結果  
 }else {  
 tvshow.setText("連接失敗");  
 System.out.println("連接失敗");  
 }}

熱門文章