Android-连接网络
1:首先先编写布局文件的代码:
1 <TextView 2 android:id="@+id/et1" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:text="@string/wang" 6 /> 7 8 9 <Button 10 android:id="@+id/bt" 11 android:layout_below="@id/et1" 12 android:layout_centerHorizontal="true" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="@string/but" 16 />
2;编写源文件代码:
1 import android.app.Activity; 2 import android.content.Context; 3 import android.net.ConnectivityManager; 4 import android.net.NetworkInfo; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 import android.widget.TextView; 10 public class MainActivity extends Activity { 11 12 private Context context; 13 private ConnectivityManager cm; 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 context = this; 20 //先找到控件。 21 Button bt = (Button) findViewById(R.id.bt); 22 bt.setOnClickListener(new OnClickListener() { 23 24 @Override 25 public void onClick(View v) { 26 //获取Activity的当前对象。这样才能获取到一些参数。 27 Activity c = (Activity)context; 28 //定义一个获取字符串的资源文件的字段。 29 String netstatus; 30 //定义一个获取颜色资源文件的字段。 31 int color; 32 //获取到textview。 33 TextView tv = (TextView) findViewById(R.id.et1); 34 //获取到网络连接的管理者。 35 cm = (ConnectivityManager)c.getSystemService(CONNECTIVITY_SERVICE); 36 //获取网络的状态信息。 37 NetworkInfo networkinfo = cm.getActiveNetworkInfo(); 38 //判断是否有网络。 39 if(networkinfo==null){ 40 //提示没有网络。 41 netstatus = c.getResources().getString(R.string.networdinfo0); 42 color = c.getResources().getColor(R.color.red); 43 //System.out.println(networkinfo.getDetailedState()); 44 //System.out.println(networkinfo.getReason()); 45 }else{ 46 //提示有网络的做法。 47 netstatus = c.getResources().getString(R.string.networdinfo1); 48 color = c.getResources().getColor(R.color.green); 49 //System.out.println(networkinfo.getDetailedState()); 50 } 51 52 //设置文本内容。 53 tv.setText(netstatus); 54 tv.setBackgroundColor(color); 55 } 56 }); 57 58 } 59 60 61 }
3:很重要的一点是:要获取权限。如果没有获取到权限的话,直接不能获取到权限。资源文件是直接用句柄打点获取到的。
直接在AndroidManifest.xml文件中加入这两句代码。
//获取internet访问权限
<uses-permission android:name="android.permission.INTERNET" android:maxSdkVersion="19"/>
//允许程序访问有关GSM网络信息 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:maxSdkVersion="19"/>
字符串资源文件代码:
1 <resources> 2 3 <string name="app_name">连接网络</string> 4 <string name="hello_world">Hello world!</string> 5 <string name="action_settings">Settings</string> 6 <string name="networdinfo0">网络不正常</string> 7 <string name="networdinfo1">网络正常</string> 8 <string name="wang">网络测试</string> 9 <string name="but">按钮</string> 10 </resources>
颜色资源文件代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 4 <color name="white">#FFFFFF</color> 5 <!-- 白色 --> 6 <color name="ivory">#FFFFF0</color> 7 <!-- 象牙色 --> 8 <color name="lightyellow">#FFFFE0</color> 9 <!-- 亮黄色 --> 10 <color name="yellow">#FFFF00</color> 11 <!-- 黄色 --> 12 <color name="snow">#FFFAFA</color> 13 <!-- 雪白色 --> 14 <color name="floralwhite">#FFFAF0</color> 15 <!-- 花白色 --> 16 <color name="lemonchiffon">#FFFACD</color> 17 <!-- 柠檬绸色 --> 18 <color name="cornsilk">#FFF8DC</color> 19 <!-- 米绸色 --> 20 <color name="seashell">#FFF5EE</color> 21 <!-- 海贝色 --> 22 <color name="lavenderblush">#FFF0F5</color> 23 <!-- 淡紫红 --> 24 <color name="papayawhip">#FFEFD5</color> 25 <!-- 番木色 --> 26 <color name="blanchedalmond">#FFEBCD</color> 27 <!-- 白杏色 --> 28 <color name="mistyrose">#FFE4E1</color> 29 <!-- 浅玫瑰色 --> 30 <color name="bisque">#FFE4C4</color> 31 <!-- 桔黄色 --> 32 <color name="moccasin">#FFE4B5</color> 33 <!-- 鹿皮色 --> 34 <color name="navajowhite">#FFDEAD</color> 35 <!-- 纳瓦白 --> 36 <color name="peachpuff">#FFDAB9</color> 37 <!-- 桃色 --> 38 <color name="gold">#FFD700</color> 39 <!-- 金色 --> 40 <color name="pink">#FFC0CB</color> 41 <!-- 粉红色 --> 42 <color name="lightpink">#FFB6C1</color> 43 <!-- 亮粉红色 --> 44 <color name="orange">#FFA500</color> 45 <!-- 橙色 --> 46 <color name="lightsalmon">#FFA07A</color> 47 <!-- 亮肉色 --> 48 <color name="darkorange">#FF8C00</color> 49 <!-- 暗桔黄色 --> 50 <color name="coral">#FF7F50</color> 51 <!-- 珊瑚色 --> 52 <color name="hotpink">#FF69B4</color> 53 <!-- 热粉红色 --> 54 <color name="tomato">#FF6347</color> 55 <!-- 西红柿色 --> 56 <color name="orangered">#FF4500</color> 57 <!-- 红橙色 --> 58 <color name="deeppink">#FF1493</color> 59 <!-- 深粉红色 --> 60 <color name="fuchsia">#FF00FF</color> 61 <!-- 紫红色 --> 62 <color name="magenta">#FF00FF</color> 63 <!-- 红紫色 --> 64 <color name="red">#FF0000</color> 65 <!-- 红色 --> 66 <color name="oldlace">#FDF5E6</color> 67 <!-- 老花色 --> 68 <color name="lightgoldenrodyellow">#FAFAD2</color> 69 <!-- 亮金黄色 --> 70 <color name="linen">#FAF0E6</color> 71 <!-- 亚麻色 --> 72 <color name="antiquewhite">#FAEBD7</color> 73 <!-- 古董白 --> 74 <color name="salmon">#FA8072</color> 75 <!-- 鲜肉色 --> 76 <color name="ghostwhite">#F8F8FF</color> 77 <!-- 幽灵白 --> 78 <color name="mintcream">#F5FFFA</color> 79 <!-- 薄荷色 --> 80 <color name="whitesmoke">#F5F5F5</color> 81 <!-- 烟白色 --> 82 <color name="beige">#F5F5DC</color> 83 <!-- 米色 --> 84 <color name="wheat">#F5DEB3</color> 85 <!-- 浅黄色 --> 86 <color name="sandybrown">#F4A460</color> 87 <!-- 沙褐色 --> 88 <color name="azure">#F0FFFF</color> 89 <!-- 天蓝色 --> 90 <color name="honeydew">#F0FFF0</color> 91 <!-- 蜜色 --> 92 <color name="aliceblue">#F0F8FF</color> 93 <!-- 艾利斯兰 --> 94 <color name="khaki">#F0E68C</color> 95 <!-- 黄褐色 --> 96 <color name="lightcoral">#F08080</color> 97 <!-- 亮珊瑚色 --> 98 <color name="palegoldenrod">#EEE8AA</color> 99 <!-- 苍麒麟色 --> 100 <color name="violet">#EE82EE</color> 101 <!-- 紫罗兰色 --> 102 <color name="darksalmon">#E9967A</color> 103 <!-- 暗肉色 --> 104 <color name="lavender">#E6E6FA</color> 105 <!-- 淡紫色 --> 106 <color name="lightcyan">#E0FFFF</color> 107 <!-- 亮青色 --> 108 <color name="burlywood">#DEB887</color> 109 <!-- 实木色 --> 110 <color name="plum">#DDA0DD</color> 111 <!-- 洋李色 --> 112 <color name="gainsboro">#DCDCDC</color> 113 <!-- 淡灰色 --> 114 <color name="crimson">#DC143C</color> 115 <!-- 暗深红色 --> 116 <color name="palevioletred">#DB7093</color> 117 <!-- 苍紫罗兰色 --> 118 <color name="goldenrod">#DAA520</color> 119 <!-- 金麒麟色 --> 120 <color name="orchid">#DA70D6</color> 121 <!-- 淡紫色 --> 122 <color name="thistle">#D8BFD8</color> 123 <!-- 蓟色 --> 124 <color name="lightgray">#D3D3D3</color> 125 <!-- 亮灰色 --> 126 <color name="lightgrey">#D3D3D3</color> 127 <!-- 亮灰色 --> 128 <color name="tan">#D2B48C</color> 129 <!-- 茶色 --> 130 <color name="chocolate">#D2691E</color> 131 <!-- 巧可力色 --> 132 <color name="peru">#CD853F</color> 133 <!-- 秘鲁色 --> 134 <color name="indianred">#CD5C5C</color> 135 <!-- 印第安红 --> 136 <color name="mediumvioletred">#C71585</color> 137 <!-- 中紫罗兰色 --> 138 <color name="silver">#C0C0C0</color> 139 <!-- 银色 --> 140 <color name="darkkhaki">#BDB76B</color> 141 <!-- 暗黄褐色 --> 142 <color name="rosybrown">#BC8F8F</color> 143 <!-- 褐玫瑰红 --> 144 <color name="mediumorchid">#BA55D3</color> 145 <!-- 中粉紫色 --> 146 <color name="darkgoldenrod">#B8860B</color> 147 <!-- 暗金黄色 --> 148 <color name="firebrick">#B22222</color> 149 <!-- 火砖色 --> 150 <color name="powderblue">#B0E0E6</color> 151 <!-- 粉蓝色 --> 152 <color name="lightsteelblue">#B0C4DE</color> 153 <!-- 亮钢兰色 --> 154 <color name="paleturquoise">#AFEEEE</color> 155 <!-- 苍宝石绿 --> 156 <color name="greenyellow">#ADFF2F</color> 157 <!-- 黄绿色 --> 158 <color name="lightblue">#ADD8E6</color> 159 <!-- 亮蓝色 --> 160 <color name="darkgray">#A9A9A9</color> 161 <!-- 暗灰色 --> 162 <color name="darkgrey">#A9A9A9</color> 163 <!-- 暗灰色 --> 164 <color name="brown">#A52A2A</color> 165 <!-- 褐色 --> 166 <color name="sienna">#A0522D</color> 167 <!-- 赭色 --> 168 <color name="darkorchid">#9932CC</color> 169 <!-- 暗紫色 --> 170 <color name="palegreen">#98FB98</color> 171 <!-- 苍绿色 --> 172 <color name="darkviolet">#9400D3</color> 173 <!-- 暗紫罗兰色 --> 174 <color name="mediumpurple">#9370DB</color> 175 <!-- 中紫色 --> 176 <color name="lightgreen">#90EE90</color> 177 <!-- 亮绿色 --> 178 <color name="darkseagreen">#8FBC8F</color> 179 <!-- 暗海兰色 --> 180 <color name="saddlebrown">#8B4513</color> 181 <!-- 重褐色 --> 182 <color name="darkmagenta">#8B008B</color> 183 <!-- 暗洋红 --> 184 <color name="darkred">#8B0000</color> 185 <!-- 暗红色 --> 186 <color name="blueviolet">#8A2BE2</color> 187 <!-- 紫罗兰蓝色 --> 188 <color name="lightskyblue">#87CEFA</color> 189 <!-- 亮天蓝色 --> 190 <color name="skyblue">#87CEEB</color> 191 <!-- 天蓝色 --> 192 <color name="gray">#808080</color> 193 <!-- 灰色 --> 194 <color name="grey">#808080</color> 195 <!-- 灰色 --> 196 <color name="olive">#808000</color> 197 <!-- 橄榄色 --> 198 <color name="purple">#800080</color> 199 <!-- 紫色 --> 200 <color name="maroon">#800000</color> 201 <!-- 粟色 --> 202 <color name="aquamarine">#7FFFD4</color> 203 <!-- 碧绿色 --> 204 <color name="chartreuse">#7FFF00</color> 205 <!-- 黄绿色 --> 206 <color name="lawngreen">#7CFC00</color> 207 <!-- 草绿色 --> 208 <color name="mediumslateblue">#7B68EE</color> 209 <!-- 中暗蓝色 --> 210 <color name="lightslategray">#778899</color> 211 <!-- 亮蓝灰 --> 212 <color name="lightslategrey">#778899</color> 213 <!-- 亮蓝灰 --> 214 <color name="slategray">#708090</color> 215 <!-- 灰石色 --> 216 <color name="slategrey">#708090</color> 217 <!-- 灰石色 --> 218 <color name="olivedrab">#6B8E23</color> 219 <!-- 深绿褐色 --> 220 <color name="slateblue">#6A5ACD</color> 221 <!-- 石蓝色 --> 222 <color name="dimgray">#696969</color> 223 <!-- 暗灰色 --> 224 <color name="dimgrey">#696969</color> 225 <!-- 暗灰色 --> 226 <color name="mediumaquamarine">#66CDAA</color> 227 <!-- 中绿色 --> 228 <color name="cornflowerblue">#6495ED</color> 229 <!-- 菊兰色 --> 230 <color name="cadetblue">#5F9EA0</color> 231 <!-- 军兰色 --> 232 <color name="darkolivegreen">#556B2F</color> 233 <!-- 暗橄榄绿 --> 234 <color name="indigo">#4B0082</color> 235 <!-- 靛青色 --> 236 <color name="mediumturquoise">#48D1CC</color> 237 <!-- 中绿宝石 --> 238 <color name="darkslateblue">#483D8B</color> 239 <!-- 暗灰蓝色 --> 240 <color name="steelblue">#4682B4</color> 241 <!-- 钢兰色 --> 242 <color name="royalblue">#4169E1</color> 243 <!-- 皇家蓝 --> 244 <color name="turquoise">#40E0D0</color> 245 <!-- 青绿色 --> 246 <color name="mediumseagreen">#3CB371</color> 247 <!-- 中海蓝 --> 248 <color name="limegreen">#32CD32</color> 249 <!-- 橙绿色 --> 250 <color name="darkslategray">#2F4F4F</color> 251 <!-- 暗瓦灰色 --> 252 <color name="darkslategrey">#2F4F4F</color> 253 <!-- 暗瓦灰色 --> 254 <color name="seagreen">#2E8B57</color> 255 <!-- 海绿色 --> 256 <color name="forestgreen">#228B22</color> 257 <!-- 森林绿 --> 258 <color name="lightseagreen">#20B2AA</color> 259 <!-- 亮海蓝色 --> 260 <color name="dodgerblue">#1E90FF</color> 261 <!-- 闪兰色 --> 262 <color name="midnightblue">#191970</color> 263 <!-- 中灰兰色 --> 264 <color name="aqua">#00FFFF</color> 265 <!-- 浅绿色 --> 266 <color name="cyan">#00FFFF</color> 267 <!-- 青色 --> 268 <color name="springgreen">#00FF7F</color> 269 <!-- 春绿色 --> 270 <color name="lime">#00FF00</color> 271 <!-- 酸橙色 --> 272 <color name="mediumspringgreen">#00FA9A</color> 273 <!-- 中春绿色 --> 274 <color name="darkturquoise">#00CED1</color> 275 <!-- 暗宝石绿 --> 276 <color name="deepskyblue">#00BFFF</color> 277 <!-- 深天蓝色 --> 278 <color name="darkcyan">#008B8B</color> 279 <!-- 暗青色 --> 280 <color name="teal">#008080</color> 281 <!-- 水鸭色 --> 282 <color name="green">#008000</color> 283 <!-- 绿色 --> 284 <color name="darkgreen">#006400</color> 285 <!-- 暗绿色 --> 286 <color name="blue">#0000FF</color> 287 <!-- 蓝色 --> 288 <color name="mediumblue">#0000CD</color> 289 <!-- 中兰色 --> 290 <color name="darkblue">#00008B</color> 291 <!-- 暗蓝色 --> 292 <color name="navy">#000080</color> 293 <!-- 海军色 --> 294 <color name="black">#000000</color> 295 <!-- 黑色 --> 296 297 </resources>