package com.example.liyi.ui;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import com.example.liyi.ui.adapter.User_list_adapter;
import com.example.liyi.ui.data.Users;
import com.example.liyi.ui.thread.ConnectThread;
import com.example.liyi.ui.thread.ListenerThread;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
//import com.xiaoniu.wifihotspotdemo.adapter.WifiListAdapter;
import com.example.liyi.ui.thread.ConnectThread;
import com.example.liyi.ui.thread.ListenerThread;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
public class SecondActivity extends AppCompatActivity implements View.OnClickListener{
private static String ss;
private ListView listView;
private Button btn_create_hostspot;
private Button btn_close_hostspot;
private Button btn_send;
private Button btn_search;
private TextView textview;
private TextView text_state;
private User_list_adapter user_list_adapter;
private WifiManager wifiManager;
// private WifiListAdapter wifiListAdapter;
private WifiConfiguration config;
private int wcgID;
/**
* 热点名称
*/
private static final String WIFI_HOTSPOT_SSID = "TEST";
/**
* 端口号
*/
private static final int PORT = 8086;
private static final int WIFICIPHER_NOPASS = 1;
private static final int WIFICIPHER_WEP = 2;
private static final int WIFICIPHER_WPA = 3;
public static final int DEVICE_CONNECTING = 1;//有设备正在连接热点
public static final int DEVICE_CONNECTED = 2;//有设备连上热点
public static final int SEND_MSG_SUCCSEE = 3;//发送消息成功
public static final int SEND_MSG_ERROR = 4;//发送消息失败
public static final int GET_MSG = 6;//获取新消息
private ConnectThread connectThread;
private ListenerThread listenerThread;
private int c1,c2,c3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
initVIew();
c1=c2=c3=0;
initBroadcastReceiver();
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
listenerThread = new ListenerThread(PORT, handler);
listenerThread.start();
}
private void initVIew() {
btn_send = (Button) findViewById(R.id.btn_send);
text_state = (TextView) findViewById(R.id.text_state);
btn_send.setOnClickListener(this);
listView=(ListView) findViewById(R.id.teacher_listView);
user_list_adapter = new User_list_adapter(this, R.layout.user_item, Users.getAllTeachers());
listView.setAdapter(user_list_adapter);
}
private void connect(WifiConfiguration config) {
text_state.setText("连接中...");
wcgID = wifiManager.addNetwork(config);
wifiManager.enableNetwork(wcgID, true);
}
private void initBroadcastReceiver() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
// intentFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
registerReceiver(receiver, intentFilter);
}
//按钮事件以及调用connect线程
@Override
public void onClick(View v) {
switch (v.getId()) {
/*
case R.id.btn_create_hostspot:
createWifiHotspot();
break;
case R.id.btn_close_hostspot:
closeWifiHotspot();
break;
*/
case R.id.btn_send:
if (connectThread != null) {
connectThread.sendData("1");
}else{
Log.w("AAA","connectThread == null");
}
break;
/*
case R.id.btn_search:
search();
break;
*/
}
}
/**
* 创建Wifi热点
*/
private void createWifiHotspot() {
if (wifiManager.isWifiEnabled()) {
//如果wifi处于打开状态,则关闭wifi,
wifiManager.setWifiEnabled(false);
}
WifiConfiguration config = new WifiConfiguration();
config.SSID = WIFI_HOTSPOT_SSID;
config.preSharedKey = "123456789";
config.hiddenSSID = true;
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.OPEN);//开放系统认证
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
//通过反射调用设置热点
try {
Method method = wifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
boolean enable = (Boolean) method.invoke(wifiManager, config, true);
if (enable) {
textview.setText("热点已开启 SSID:" + WIFI_HOTSPOT_SSID + " password:123456789");
} else {
textview.setText("创建热点失败");
}
} catch (Exception e) {
e.printStackTrace();
textview.setText("创建热点失败");
}
}
/**
* 关闭WiFi热点
*/
public void closeWifiHotspot() {
try {
Method method = wifiManager.getClass().getMethod("getWifiApConfiguration");
method.setAccessi
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
本科《电子课程设计》作品 基于STM32、RFID的宿舍门禁系统 Android端手机APP.zip (55个子文件)
Archiell
gradle.properties 726B
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 230B
app
src
androidTest
java
com
example
liyi
ui
ExampleInstrumentedTest.java 722B
test
java
com
example
liyi
ui
ExampleUnitTest.java 380B
main
java
com
example
liyi
ui
thread
ListenerThread.java 1KB
ConnectThread.java 3KB
adapter
User_list_adapter.java 2KB
data
Users.java 1KB
UserDetailActivity.java 898B
SecondActivity.java 18KB
MainActivity.java 4KB
res
mipmap-xxhdpi
ic_launcher_round.png 10KB
ic_launcher.png 6KB
mipmap-hdpi
ic_launcher_round.png 5KB
ic_launcher.png 3KB
drawable-v24
ic_launcher_foreground.xml 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
mipmap-mdpi
ic_launcher_round.png 3KB
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher_round.png 15KB
ic_launcher.png 9KB
mipmap-xhdpi
ic_launcher_round.png 7KB
ic_launcher.png 4KB
values
colors.xml 208B
strings.xml 65B
styles.xml 383B
layout
user_item.xml 802B
activity_second.xml 1KB
activity_user_detail.xml 949B
activity_main.xml 2KB
drawable
ic_launcher_background.xml 5KB
shape.xml 450B
aa.jpg 34KB
bb.JPG 15KB
avatar.jpg 34KB
cc.JPG 10KB
AndroidManifest.xml 1KB
proguard-rules.pro 751B
build.gradle 924B
release
app-release.apk 1.36MB
output.json 234B
.gitignore 7B
andrioid-demo
gradlew.bat 2KB
build.gradle 546B
.idea
codeStyles
Project.xml 2KB
runConfigurations.xml 564B
misc.xml 2KB
gradle.xml 449B
settings.gradle 15B
gradlew 5KB
android-demo
test
test.jks 2KB
.gitignore 137B
mykey.jks 0B
android-wifi
共 55 条
- 1
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功