通信渠道
•WLAN(wi-fi)
•手机APN(接入点)
•基站
•Wap方式(地域性、增值业务——IP是10.0.0.172 端口是80 ) 当连上网时可以设置这种 具体看代码
•Net方式
实现方式:
•使用HttpClient
•使用HttpURLConnection
•使用Socket通信(豌豆荚(USB、WIFI、蓝牙)、聊天工具)
特别注意:
1、连网时网络类型的判断,当为手机上网时注意代理信息获取。
2、当使用手机上网时我们的联网代码的编写。
1 package cn.itcasta.lottery0713.util; 2 3 import android.content.ContentResolver; 4 import android.content.Context; 5 import android.database.Cursor; 6 import android.net.ConnectivityManager; 7 import android.net.NetworkInfo; 8 import android.net.Uri; 9 import cn.itcasta.lottery0713.GloableParams; 10 11 /** 12 * 判断当前手机联网的渠道 13 * @author Administrator 14 * 15 */ 16 public class NetUtil { 17 /** 18 * 检查当前手机网络 19 * @param context 20 * @return 21 */ 22 public static boolean checkNet(Context context) 23 { 24 //判断连接方式 25 boolean wifiConnected = isWIFIConnected(context); 26 boolean mobileConnected = isMOBILEConnected(context); 27 if(wifiConnected==false&&mobileConnected==false){ 28 //如果都没有连接返回false,提示用户当前没有网络 29 return false; 30 } 31 if(mobileConnected==true) 32 { 33 //判断到当前是mobile连接,设置apn 34 setApnParame(context); 35 } 36 return true; 37 } 38 39 40 //判断手机使用是wifi还是mobile 41 /** 42 * 判断手机是否采用wifi连接 43 */ 44 public static boolean isWIFIConnected(Context context) 45 { 46 //Context.CONNECTIVITY_SERVICE). 47 48 ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 49 NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 50 if(networkInfo!=null&&networkInfo.isConnected()) 51 { 52 return true; 53 } 54 return false; 55 } 56 57 public static boolean isMOBILEConnected(Context context) 58 { 59 ConnectivityManager manager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 60 NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 61 if(networkInfo!=null&&networkInfo.isConnected()) 62 { 63 return true; 64 } 65 return false; 66 } 67 /** 68 * 设置当前apn信息,保存到应用的全局的变量里面 69 * @param context 70 */ 71 public static void setApnParame(Context context) 72 { 73 //Uri PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn"); 74 75 Uri uri=Uri.parse("content://telephony/carriers/preferapn"); 76 77 ContentResolver contentResolver = context.getContentResolver(); 78 Cursor query = contentResolver.query(uri, null, null, null, null); 79 if(query!=null&&query.getCount()==1) 80 { 81 if(query.moveToFirst()) 82 { 83 GloableParams.PROXY_IP=query.getString(query.getColumnIndex("proxy")); 84 GloableParams.PROXY_PORT=query.getInt(query.getColumnIndex("port")); 85 } 86 } 87 query.close(); 88 } 89 }