Android判断服务器是否开启

来源:互联网 发布:淘宝返利的网站有哪些 编辑:程序博客网 时间:2024/05/02 00:40

Android判断服务器是否开启

Android判断服务器是否开启的简单实现,代码如下:
一:java代码:


http://blog.csdn.net/qy_qingyan/article/details/9788503
[java] view plaincopy
  1. package com.net.main;  
  2.   
  3. import java.io.IOException;  
  4. import org.apache.http.HttpResponse;  
  5. import org.apache.http.client.ClientProtocolException;  
  6. import org.apache.http.client.HttpClient;  
  7. import org.apache.http.client.methods.HttpGet;  
  8. import org.apache.http.impl.client.DefaultHttpClient;  
  9. import org.apache.http.params.BasicHttpParams;  
  10. import org.apache.http.params.HttpConnectionParams;  
  11. import org.apache.http.params.HttpParams;  
  12. import android.annotation.SuppressLint;  
  13. import android.app.Activity;  
  14. import android.os.Bundle;  
  15. import android.os.Handler;  
  16. import android.os.Message;  
  17. import android.view.Menu;  
  18. import android.view.View;  
  19. import android.widget.EditText;  
  20. public class MainActivity extends Activity {  
  21.     private EditText etAddress;  
  22.     private Handler handle;  
  23.     private String address;  
  24.     @Override  
  25.     protected void onCreate(Bundle savedInstanceState) {  
  26.         super.onCreate(savedInstanceState);  
  27.         setContentView(R.layout.activity_main);  
  28.         etAddress=(EditText) findViewById(R.id.editText1);  
  29.     }  
  30.   
  31.     @Override  
  32.     public boolean onCreateOptionsMenu(Menu menu) {  
  33.         // Inflate the menu; this adds items to the action bar if it is present.  
  34.         getMenuInflater().inflate(R.menu.main, menu);  
  35.         return true;  
  36.     }  
  37.       
  38.     @SuppressLint("HandlerLeak")  
  39.     public void lianJie(View view){  
  40.         address=etAddress.getText().toString();  
  41.         handle=new Handler(){  
  42.               
  43.                 @Override  
  44.                 public void handleMessage(Message msg) {  
  45.                     // TODO Auto-generated method stub  
  46.                     if(msg.what==1){  
  47.                         System.out.println("执行完毕!");  
  48.                     }  
  49.                       
  50.                 }  
  51.         };  
  52.         Thread thread=new Thread(new Runnable() {  
  53.               
  54.             @Override  
  55.             public void run() {  
  56.                 // TODO Auto-generated method stub  
  57.                 String str=NetIsOnLine(address);  
  58.                 System.out.println(str);  
  59.                 Message message=new Message();  
  60.                 message.what=1;  
  61.                 handle.sendMessage(message);  
  62.             }  
  63.         });  
  64.         thread.start();  
  65.           
  66.     }  
  67.       
  68.     /** 
  69.      * 判断网络服务器是否开启 
  70.      * @param path  网路服务器地址 
  71.      * @return 
  72.      * 网路服务器开启 
  73.      * 网络服务器未开启 
  74.      */  
  75.     public  String  NetIsOnLine(String path){  
  76.         HttpParams httpParams = new BasicHttpParams();  
  77.         HttpConnectionParams.setConnectionTimeout(httpParams, 10000);  
  78.         HttpConnectionParams.setSoTimeout(httpParams, 10000);  
  79.         HttpClient client = new DefaultHttpClient(httpParams);  
  80.         HttpGet get = new HttpGet(path);  
  81.         HttpResponse response = null;  
  82.         try {  
  83.             response = client.execute(get);  
  84.         } catch (ClientProtocolException e) {  
  85.             // TODO Auto-generated catch block  
  86.             return "网路服务器未开启(客户端端口异常)";  
  87.         } catch (IOException e) {  
  88.             // TODO Auto-generated catch block  
  89.             return "网路服务器未开启(IO异常)";  
  90.         }  
  91.         if(response.getStatusLine().getStatusCode()==200){  
  92.             return "网路服务器开启!";  
  93.         }  
  94.           
  95.         return "其它";  
  96.     }  
  97.   
  98. }  

二:布局文件:
[java] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.   
  4.     <string name="app_name">Net</string>  
  5.     <string name="action_settings">Settings</string>  
  6.     <string name="hello_world">判断服务器是否开启</string>  
  7.     <string name="service_address">服务器地址</string>  
  8.     <string name="bt_lianjie">连接</string>  
  9.   
  10. </resources>  

三:清单文件
[java] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.net.main"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk  
  8.         android:minSdkVersion="8"  
  9.         android:targetSdkVersion="17" />  
  10.     <!-- 使用网络的权限 -->  
  11.     <uses-permission android:name="android.permission.INTERNET" />  
  12.   
  13.     <application  
  14.         android:allowBackup="true"  
  15.         android:icon="@drawable/ic_launcher"  
  16.         android:label="@string/app_name"  
  17.         android:theme="@style/AppTheme" >  
  18.         <activity  
  19.             android:name="com.net.main.MainActivity"  
  20.             android:label="@string/app_name" >  
  21.             <intent-filter>  
  22.                 <action android:name="android.intent.action.MAIN" />  
  23.   
  24.                 <category android:name="android.intent.category.LAUNCHER" />  
  25.             </intent-filter>  
  26.         </activity>  
  27.     </application>  
  28.   
  29. </manifest>  
0 0
原创粉丝点击