一、什么是WIFI
WIFI就是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网,常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行联网,如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”。
二、获取WIFI网卡的状态
WIFI网卡的状态是由一系列的整型常量来表示的:
1、WIFI_STATE_DISABLED:WIFI网卡不可用
2、WIFI_STATE_DIAABLING:WIFI网卡正在关闭
3、WIFI_STATE_ENABLED:WIFI网卡可用
4、WIFI_STATE_ENABLING:WIFI网卡正在打开
5、WIFI_STATE_UNKNOWN:未知网卡状态
三、操作WIFI所需要的权限
关于操作权限,可以在帮助文档中找到完整的列表,在这里列出和网络相关的部分权限:
CHANGE NETWORK STATE
CHANGE WIFI STATE
ACCESS NETWORK STATE
ACCESS WIFI STATE
四、改变WIFI网卡的状态
对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
WifiManager wifiManager = (WifiManager) getSystemService(Service.WIFI_SERVICE);
//打开WIFI网卡
wifiManager.setWifiEnabled(true);
//关闭WIFI网卡
wifiManager.setWifiEnabled(false);
//获取网卡当前状态
wifiManager.getWifiState();
<!-- 以下是WIFI网络使用所需权限 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
public class XMLActivity extends Activity {
private Button parseButton ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
parseButton = (Button)findViewById(R.id.parseButton);
parseButton.setText("XML文件解析");
parseButton.setOnClickListener(new ParseButtonListener());
}
class ParseButtonListener implements OnClickListener{
public void onClick(View v) {
HttpDownLoader hd = new HttpDownLoader();
String resultStr = hd.downLoad("http://127.0.0.1:8080/st/test.xml");
System.out.println(resultStr);
try{
//创建一个SAXParserFactory解析器工厂
SAXParserFactory factory = SAXParserFactory.newInstance();
XMLReader reader = factory.newSAXParser().getXMLReader();
//为XMLReader设置内容处理器,逐行扫描文件,遇到标签等会触发相应的函数在MyContentHandler中
reader.setContentHandler(new MyContentHandler());
//开始解析文件
reader.parse(new InputSource(new StringReader(resultStr)));
}
catch(Exception e){
e.printStackTrace();
}
}
}
}