Android实战简易教程-第七十七枪(获取附近可用WIFI列表 附新书地址)
来源:互联网 发布:淘宝优惠卷秒杀软件 编辑:程序博客网 时间:2024/04/30 08:29
1.activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content"></ListView></RelativeLayout>
2.item_wifi_list.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/imageView" android:layout_marginBottom="14dp" android:layout_toRightOf="@+id/imageView" android:text="TextView" /> <TextView android:id="@+id/signal_strenth" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView" android:layout_alignBottom="@+id/textView" android:layout_alignParentRight="true" android:text="TextView" /></RelativeLayout>
3.MainActivity.java:
package demo.androidwar.com.actionbardemo;import android.app.Activity;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiManager;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import java.util.List;public class MainActivity extends Activity { private WifiManager wifiManager; List<ScanResult> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); list = wifiManager.getScanResults(); ListView listView = (ListView) findViewById(R.id.listView); if (list == null) { Toast.makeText(this, "wifi未打开!", Toast.LENGTH_LONG).show(); }else { listView.setAdapter(new MyAdapter(this,list)); } } public class MyAdapter extends BaseAdapter { LayoutInflater inflater; List<ScanResult> list; public MyAdapter(Context context, List<ScanResult> list) { this.inflater = LayoutInflater.from(context); this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = inflater.inflate(R.layout.item_wifi_list, null); ScanResult scanResult = list.get(position); TextView textView = (TextView) view.findViewById(R.id.textView); textView.setText(scanResult.SSID); TextView signalStrenth = (TextView) view.findViewById(R.id.signal_strenth); signalStrenth.setText(String.valueOf(Math.abs(scanResult.level))); ImageView imageView = (ImageView) view.findViewById(R.id.imageView); //判断信号强度,显示对应的指示图标 if (Math.abs(scanResult.level) > 100) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_0)); } else if (Math.abs(scanResult.level) > 80) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_1)); } else if (Math.abs(scanResult.level) > 70) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_1)); } else if (Math.abs(scanResult.level) > 60) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_2)); } else if (Math.abs(scanResult.level) > 50) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_3)); } else { imageView.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_wifi_signal_4)); } return view; } }}
实例化WifiManager对象,并调用其getScanResults方法返回WIFI扫描到的列表。主要要配置权限:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="demo.androidwar.com.actionbardemo"> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
运行项目实例:
**喜欢的朋友请关注我,另欢迎阅读我的电子书
百度阅读:
**喜欢的朋友请关注我,另欢迎阅读我的电子书
百度阅读:
http://yuedu.baidu.com/ebook/284b41a1e518964bce847c90?pn=1&click_type=10010002&rf=http%3A%2F%2Fblog.csdn.net%2Fyayun0516%2Farticle%2Fdetails%2F51277821
http://yuedu.baidu.com/ebook/7ab931faa32d7375a5178060?pn=1&click_type=10010002&rf=http%3A%2F%2Fyuedu.baidu.com%2Fsearch%3Fword%3DAndroid%25BF%25D8%25BC%25FE%26pbook%3D0
亚马逊:
http://www.amazon.cn/android-%E7%99%BE%E6%88%98%E7%BB%8F%E5%85%B8-%E5%8D%B7I-%E5%BC%A0%E4%BA%9A%E8%BF%90/dp/B01ER5R9U2?ie=UTF8&keywords=Android%E7%BB%8F%E5%85%B8&qid=1461806976&ref_=sr_1_6&s=digital-text&sr=1-6**
- Android实战简易教程-第七十七枪(获取附近可用WIFI列表 附新书地址)
- Android实战简易教程-第七十五枪(WIFI直连工具类)
- Android实战简易教程<十七>(LayoutAnimation布局动画)
- Android实战简易教程-第二十七枪(Android设置头像上传功能实现)
- Android实战简易教程-第六十七枪(android动画实现窗口抖动效果)
- Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)
- Android实战简易教程-第五十七枪(分享小米手电筒源码)
- Android简易实战教程--第四十七话《使用OKhttp回调方式获取网络信息》
- Android实战简易教程-第七枪(Activity的启动模式)
- Android实战简易教程-第七十二枪(PopupWindow浮动窗)
- Android实战简易教程-第七十三枪(拨打、接听电话自动免提)
- Android实战简易教程-第七十四枪(Intent之间传递图片)
- Android简易实战教程--第三十七话《NotifiCation》
- Android实战简易教程-第三十七枪(ListView中点击button跳转到拨号界面实例)
- Android实战简易教程<二十七>(Android设置头像上传功能实现)
- Android实战简易教程-第七十一枪(异步网络下载网络图片及图片廊制作)
- Android实战简易教程-第四十一枪(显示倒计时的Button-适用于获取验证码)
- Android细节:扫描获取附近wifi,并以列表形式进行展示
- 算法系列(六)数据结构之表队列和栈
- 2. Spring Boot返回json数据【从零开始学Spring Boot】
- cuda与opengl互操作之PBO
- Java读取图片分辨率
- C001-C语言-函数集合
- Android实战简易教程-第七十七枪(获取附近可用WIFI列表 附新书地址)
- 剑指Offer----面试题15:链表中倒数第K个结点
- N皇后的两个最高效的解法
- Get One Valid parentheses Pair
- [SICP]功能抽象 综述
- Android 进程 线程 粗浅理解
- C语言学习笔记22之函数5
- JavaScript操作cookie
- 初识SQLite