① 安卓系統怎樣查看網路連接信息
那麼,先來看一下正在連接的網路信號,是否真的很弱。只要是檢測到的網路信號,都可以查看他的網路信息,你可以連接信號較強的網路。以原道
N
10
輯寫攻略。
步驟如下:
(1)在主屏幕上按下「設置(Menu)」鍵。
(2)輕按選擇「無線和網路」按鈕。進入可以設置或者查看網路。
(3)然後,輕按選擇「Wi-Fi
設置」按鈕。
(4)若開啟
Wi-Fi
無線網路,然後就會顯示檢測到的無線網路列表,輕按任何一個網路來查看網路信息。
(5)而後,你就可以查看無線網路信號的「安全性」、「信號強度」、「是否需要密碼」等。
正在連接中的網路信息:編者按:
小張的安卓平板設備,在公司檢測到多個可用
Wi-Fi
信號。有一次,因為自己的平板上網速度很慢,而其他同事並沒有這樣的反映。後來,他就查看了使用網路的信號強度,顯示是「弱」信號。原來其他同事在使用本房間的無線信號,小明的網路信號還是大廳信號。還有,一個信號在接入之前,首先要看他是否需要密碼,再看他的信號強度,再決定接入網路。
② 安卓系統怎樣使手機連接到無線網
如您所說的無線是指聯通WLAN業務的話,您可按以下方式在電腦或手機/PAD登陸我司WLAN業務:
1.電腦或手機/PDA中開啟WiFi功能,或插入WiFi網卡;
2.連上信號網路,在無線網路連接列表中選擇「ChinaUnicom」,並點擊連接;
3.連上WLAN網路後,打開瀏覽器隨便輸入一個網址,回車,如果系統配置正確,會引導到wlan的登錄界面;
4.顯示登陸頁面後輸入賬戶密碼以及驗證碼,登陸成功後,請不要關閉此頁面(關閉此頁面代表斷開網路),打開另外的瀏
覽器頁面即可進行上網業務。
如非上述情況,建議您可聯系當地聯通客服進行了解的。
③ Android如何獲取網路連接狀態及怎樣調用網路配置界面
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetManager {
Context context;
public NetManager(Context context) {
this.context = context;
}
// 判斷網路是否可用的方法
public boolean isOpenNetwork() {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
// 判斷WIFI網路是否可用的方法
public boolean isOpenWifi() {
ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifi.isConnected();
}
}
public static void netManager(final Context a) {
netManager = new NetManager(a);
if (!netManager.isOpenNetwork()) {
// 如果網路不可用,則彈出對話框,對網路進行設置
Builder builder = new Builder(a);
builder.setTitle("沒有可用的網路");
builder.setMessage("是否對網路進行設置?");
builder.setPositiveButton("確定",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
try {
String sdkVersion = android.os.Build.VERSION.SDK;
if (Integer.valueOf(sdkVersion) > 10) {
intent = new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS);
} else {
intent = new Intent();
ComponentName comp = new ComponentName(
"com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(comp);
intent.setAction("android.intent.action.VIEW");
}
a.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
});
builder.setNegativeButton("取消",
null);
builder.show();
}else {
Toast.makeText(a, "網路不給力,請確認您的網路連接", Toast.LENGTH_LONG).show();
}
}
轉載,僅供參考。
下拉手機狀態欄,點擊開啟移動數據開關,就可以連接移動網路了。
⑤ 如何在Android開發中用HttpClient連接網路數據
HttpClient網路訪問
一、HttpClient網路訪問:
(一)、簡介:
1、Apache組織提供了HttpClient項目,可以實現網路訪問。在Android中,成功集成了HttpClient,所以在Android中可以直接使用HttpClient訪問網路。
2、與HttpURLConnection相比,HttpClient將前者中的輸入、輸出流操作,統一封裝成HttpGet、HttpPost、HttpRequest類。
HttpClient:網路連接對象;
HttpGet:代表發送GET請求;
HttpPost:代表發送POST請求;
HttpResponse:代表處理伺服器響應的對象。
HttpEntity對象:該對象中包含了伺服器所有的返回內容。
3、使用步驟:(六部曲)【重點】
創建HttpClient對象:通過實例化DefaultHttpClient獲得;
創建HttpGet或HttpPost對象:通過實例化 HttpGet或HttpPost 獲得,而構造方法的參數是urlstring(即需要訪問的網路url地址)。也可以通過調用setParams()方法來添加請求參數;
調用HttpClient對象的execute()方法,參數是剛才創建的 HttpGet或HttpPost對象 ,返回值是HttpResponse對象;
通過response對象中的getStatusLine()方法和getStatusCode()方法獲取伺服器響應狀態是否是200。
調用 HttpResponse對象的getEntity()方法,返回HttpEntity對象。而該對象中包含了伺服器所有的返回內容。
藉助EntityUtils的toString()方法或toByteArray()對 HttpEntity對象進行處理,也可以通過IO流對 HttpEntity對象進行操作。
(二)、封裝HttpClientHelper工具類:
public class HttpClientHelper {
public static HttpClient checkNetwork(String url) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse httpResponse = null;
try {
httpResponse = httpClient.execute(request);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
return httpClient;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 作用:實現網路訪問文件,將獲取到數據儲存在文件流中
*
* @param url
* :訪問網路的url地址
* @return inputstream
*/
public static InputStream loadFileFromURL(String url) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet requestGet = new HttpGet(url);
HttpResponse httpResponse;
try {
httpResponse = httpClient.execute(requestGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = httpResponse.getEntity();
return entity.getContent();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 作用:實現網路訪問文件,將獲取到的數據存在位元組數組中
*
* @param url
* :訪問網路的url地址
* @return byte[]
*/
public static byte[] loadByteFromURL(String url) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet requestGet = new HttpGet(url);
try {
HttpResponse httpResponse = httpClient.execute(requestGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
return EntityUtils.toByteArray(httpEntity);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("====>" + e.toString());
}
return null;
}
/**
* 作用:實現網路訪問文件,返回字元串
*
* @param url
* :訪問網路的url地址
* @return String
*/
public static String loadTextFromURL(String url) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet requestGet = new HttpGet(url);
try {
HttpResponse httpResponse = httpClient.execute(requestGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
return EntityUtils.toString(httpEntity, "utf-8");
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 作用:實現網路訪問文件,先給伺服器通過「GET」方式提交數據,再返回相應的數據
*
* @param url
* :訪問網路的url地址
* @param params
* String url:訪問url時,需要傳遞給伺服器的參數。
* 第二個參數格式為:username=wangxiangjun&password=123456
* @return byte[]
*/
public static byte[] doGetSubmit(String url, String params) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet requestGet = new HttpGet(url + "?" + params);
try {
HttpResponse httpResponse = httpClient.execute(requestGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
return EntityUtils.toByteArray(httpEntity);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 作用:實現網路訪問文件,先給伺服器通過「POST」方式提交數據,再返回相應的數據
*
* @param url
* :訪問網路的url地址
* @param params
* String url:訪問url時,需要傳遞給伺服器的參數。 第二個參數為:List<NameValuePair>
* @return byte[]
*/
public static byte[] doPostSubmit(String url, List<NameValuePair> params) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost requestPost = new HttpPost(url);
try {
requestPost.setEntity(new UrlEncodedFormEntity(params, "utf-8"));
HttpResponse httpResponse = httpClient.execute(requestPost);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
return EntityUtils.toByteArray(httpEntity);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 作用:實現網路訪問文件,先給伺服器通過「POST」方式提交數據,再返回相應的數據
*
* @param url
* :訪問網路的url地址
* @param params
* String url:訪問url時,需要傳遞給伺服器的參數。 Map<String , Object>
* @return byte[]
*/
public static byte[] doPostSubmit(String url, Map<String, Object> params) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost requestPost = new HttpPost(url);
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
try {
if (params != null) {
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
String value = entry.getValue().toString();
BasicNameValuePair nameValuePair = new BasicNameValuePair(
key, value);
parameters.add(nameValuePair);
}
}
requestPost
.setEntity(new UrlEncodedFormEntity(parameters, "utf-8"));
HttpResponse httpResponse = httpClient.execute(requestPost);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
HttpEntity httpEntity = httpResponse.getEntity();
return EntityUtils.toByteArray(httpEntity);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
⑥ 安卓手機怎麼連接電腦使用電腦上網
我這里總結了幾種方法供大家參考。
方法一:usb連接線,手機有線上網
1、將手機通過usb線連接到電腦,勾選「設置
->
無線和網路
->
綁定與便攜熱點
->
USB綁定」選項,電腦上會出現虛擬網卡,
為便於分辨,給虛擬網卡改個名字叫:android
;
2、共享電腦網路至android網卡;
3、打開超級終端,su變身超級用戶,查詢手機ip
#
busybox
ifconfig
手機ip:192.168.43.100(每個人不一樣)
4、把電腦上android網卡的ip改為192.168.43.1;
5、添加默認網關
#busybox
route
add
default
gw
192.168.43.1
輔助軟體:busybox、z4root
關鍵點:手機上的網關IP和電腦上的IP一樣。
方法二:無線網卡,手機AP
此方法適用於筆記本有無線網卡,但不支持adhoc,支持anhoc的建議使用方法三。
1、勾選「設置
->
無線和網路
->
綁定與便攜熱點
->
攜帶型Wi-Fi熱點」選項,並設置AP(比如:myAp);
2、電腦連接到myAp並獲取ip地址(比如:192.168.23.121);
3、添加默認網關
#busybox
route
add
default
gw
192.168.23.121
輔助軟體:busybox、z4root
關鍵點:手機上的網關IP和電腦上的IP一樣。
方法三:支持adhoc的無線網卡,組建wifi如果電腦本身帶的無線網卡不支持
的話,可以買一個支持adhoc的usb無線網卡(一般都帶驅動,可以直接模擬AP供手機用)。
這里以win7為例,說下大致流程:
1、以管理員身份運行命令提示符;
2、啟用並設定「虛擬Wifi網卡」模式;
運行以下命令啟用虛擬無線網卡:
netsh
wlan
set
hostednetwork
mode=allow
ssid=(這里寫無線網名字)
key=(這里是密碼)
3、啟用「Internet連接共享(ICS)」;
4、開啟無線網路
:netsh
wlan
start
hostednetwork
5、手機連接設置的wifi
⑦ android 判斷是否有網路連接
我們在做訪問的時候都得進行判斷是否連網。判斷連網也比較簡單,就用到了兩個類。ConnectivityManager和NetworkInfo。
只要執行下面的代碼就可以了。
1
2
3
4
5
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = networkInfo.isConnected();
networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = networkInfo.isConnected();
只要有一個連接就是有網,NetworkInfo就是網路的信息。還有一種更簡便的判斷是否連網的方法。
1
2
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
在一個就是監聽網路變化,就是設置一個廣播。
注冊廣播,監聽ConnectivityManager.CONNECTIVITY_ACTION這個action
1
2
3
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
receiver = new NetworkReceiver();
context.registerReceiver(receiver, filter);
再實現一個廣播類就可以了。這樣網路一變化,就會受到廣播,然後執行對應操作了。
1
2
3
4
5
6
7
public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("TAG", "intent============>>>>" + intent.toString());
}
}
下面就是來說一下判斷手機網路的類型了,2G,3G,4G
關於網路類型,在得到networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);這個後,確定是手機網路後,通過networkInfo.getSubtype()會得到網路的類型,用networkInfo.getSubtypeName()會得到網路的名字。
我們通過這個networkInfo.getSubtype()得到的類型來判斷當前是什麼網路。
其實,Android的Api中已經定義了各種網路狀態,不是在ConnectivityManager裡面定義的,而是在TelephonyManager裡面的定義的。通過不同的api版本的修改,目前增加到了14個狀態值:
下面是通過自己查資料,和看別人查資料實驗得來的。整理如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
--------------------Added in API level 1---------------------
public static final int NETWORK_TYPE_UNKNOWN
Network type is unknown
Constant Value: 0 (0x00000000)
(不知道網路類型)
public static final int NETWORK_TYPE_GPRS
Current network is GPRS
Constant Value: 1 (0x00000001)
(2.5G)移動和聯通
public static final int NETWORK_TYPE_EDGE
Current network is EDGE
Constant Value: 2 (0x00000002)
(2.75G)2.5G到3G的過渡 移動和聯通
public static final int NETWORK_TYPE_UMTS
Current network is UMTS
Constant Value: 3 (0x00000003)
(3G)聯通
-----------------Added in API level 4---------------------
public static final int NETWORK_TYPE_CDMA
Current network is CDMA: Either IS95A or IS95B
Constant Value: 4 (0x00000004)
(2G 電信)
public static final int NETWORK_TYPE_EVDO_0
Current network is EVDO revision 0
Constant Value: 5 (0x00000005)
( 3G )電信
public static final int NETWORK_TYPE_EVDO_A
Current network is EVDO revision A
Constant Value: 6 (0x00000006)
(3.5G) 屬於3G過渡
public static final int NETWORK_TYPE_1xRTT
Current network is 1xRTT
Constant Value: 7 (0x00000007)
( 2G )
---------------------Added in API level 5--------------------
public static final int NETWORK_TYPE_HSDPA
Current network is HSDPA
Constant Value: 8 (0x00000008)
(3.5G )
public static final int NETWORK_TYPE_HSUPA
Current network is HSUPA
Constant Value: 9 (0x00000009)
( 3.5G )
public static final int NETWORK_TYPE_HSPA
Current network is HSPA
Constant Value: 10 (0x0000000a)
( 3G )聯通
--------------------------Added in API level 8-------------------------
public static final int NETWORK_TYPE_IDEN
Current network is iDen
Constant Value: 11 (0x0000000b)
(2G )
--------------------------Added in API level 9-------------------------
public static final int NETWORK_TYPE_EVDO_B
Current network is EVDO revision B
Constant Value: 12 (0x0000000c)
3G-3.5G
--------------------------Added in API level 11------------------------
public static final int NETWORK_TYPE_LTE
Current network is LTE
Constant Value: 13 (0x0000000d)
(4G)
public static final int NETWORK_TYPE_EHRPD
Current network is eHRPD
Constant Value: 14 (0x0000000e)
3G(3G到4G的升級產物)
--------------------------Added in API level 13---------------------------
public static final int NETWORK_TYPE_HSPAP
Current network is HSPA+
Constant Value: 15 (0x0000000f)
( 3G )
⑧ 安卓手機的移動網路連接,該如何具體設置
安卓手機使用WLAN功能的設置方法:進入設定-WLAN-開,搜尋正確的無線網路後輸入正確的密碼即可。