編輯:關於Android編程
在實際開發中我們會經常需要獲取周圍WiFi熱點,最近做了這個demo,寫出來和大家一起分享一下吧。大體思路呢是這樣的,首先WifiManger獲取WiFi服務,然後將結果儲存在ArrayList<ScanResult>中,好了,具體內容大家可以直接看代碼:
MainActivity.java:
public class MainActivity extends AppCompatActivity {
ArrayList<ScanResult> list; //存放周圍wifi熱點對象的列表
WifiManager wifiManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); //獲得系統wifi服務
list = (ArrayList<ScanResult>)wifiManager.getScanResults();
sortByLevel(list);
init();
}
private void init(){
TextView tv1=(TextView)findViewById(R.id.tv1);
TextView tv2=(TextView)findViewById(R.id.tv2);
TextView tv3=(TextView)findViewById(R.id.tv3);
if (list.get(0).SSID != null && list.get(1).SSID != null){
tv1.setText("信號最強為"+list.get(0).SSID);
tv2.setText("信號第二位:"+list.get(1).SSID);
tv3.setText("共有"+list.size()+"個wifi");
}
}
//將搜索到的wifi根據信號強度從強到弱進行排序
private void sortByLevel(ArrayList<ScanResult> list) {
for(int i=0;i<list.size();i++)
for(int j=1;j<list.size();j++)
{
if(list.get(i).level<list.get(j).level) //level屬性即為強度
{
ScanResult temp = null;
temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
}
布局文件activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
OK,就是這個樣子吧。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
Android動畫學習Demo(2) 關於Property Animation的用法及總結
首先我們要先了解關於View在3.0之後引入的幾個新的屬性,並設置了其getter和setter方法: 1)translationX 和 translati
[Android編譯(二)] 從谷歌官網下載android 6.0源碼、編譯並刷入nexus 6p手機
1 前言經過一周的奮戰,終於從谷歌官網上下載最新的android 6.0.1_r62源碼,編譯成功,並成功的刷入nexus6p,接著root完畢,現寫下這篇博客記錄一下實
手機qq群如何簽到 手機qq群怎麼簽到 qq群簽到在哪裡
qq群簽到有什麼用?手機qq群怎麼簽到?下面就讓小編來教教你吧!qq群簽到應用介紹:連續15天簽到,可以獲得群空間橙名的特權;連續30天簽到,可以獲得會員試
android開發 AsyncTask的使用
AsyncTask 資料上寫是android提供的輕量級的異步類 可以直接繼承AsyncTask 在類中實現異步操作 並提供接口反饋當