AP连接改造成功
This commit is contained in:
parent
ea8623ada8
commit
8b227aa7f7
|
|
@ -156,5 +156,6 @@ dependencies {
|
||||||
//友盟分享
|
//友盟分享
|
||||||
// implementation files('libs/umeng_social_sdk.jar')
|
// implementation files('libs/umeng_social_sdk.jar')
|
||||||
|
|
||||||
|
implementation 'com.tencent:mmkv:1.3.3'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +105,14 @@ public class HotSpotConnentActivity extends BaseActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!is24G && is5G){ //之所以这样处理,是因为现在有的路由器支持2.4+5G双频同时存在
|
// if(!is24G && is5G){ //之所以这样处理,是因为现在有的路由器支持2.4+5G双频同时存在
|
||||||
|
// WifiDialog wd = new WifiDialog(HotSpotConnentActivity.this);
|
||||||
|
// wd.show("仅支持2.4G Wi-Fi网络,请重新选择", "去更改", et_wifiname);
|
||||||
|
// dismissProgressDialog();
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if(is5G){ //之所以这样处理,是因为现在有的路由器支持2.4+5G双频同时存在,但是它们却是同一个ssid
|
||||||
WifiDialog wd = new WifiDialog(HotSpotConnentActivity.this);
|
WifiDialog wd = new WifiDialog(HotSpotConnentActivity.this);
|
||||||
wd.show("仅支持2.4G Wi-Fi网络,请重新选择", "去更改", et_wifiname);
|
wd.show("仅支持2.4G Wi-Fi网络,请重新选择", "去更改", et_wifiname);
|
||||||
dismissProgressDialog();
|
dismissProgressDialog();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,229 @@
|
||||||
|
package com.ifish.activity.newbind;
|
||||||
|
|
||||||
|
import static android.content.Context.WIFI_SERVICE;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.wifi.ScanResult;
|
||||||
|
import android.net.wifi.WifiInfo;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.Window;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.ifish.activity.HotSpotConnentDeviceActivity;
|
||||||
|
import com.ifish.activity.HotSpotConnentDeviceCameraActivity;
|
||||||
|
import com.ifish.activity.HotSpotConnentPetDeviceActivity;
|
||||||
|
import com.ifish.activity.R;
|
||||||
|
import com.ifish.utils.AnimationUtil;
|
||||||
|
import com.ifish.utils.KVUtil;
|
||||||
|
import com.ifish.utils.ToastUtil;
|
||||||
|
import com.ifish.utils.WifiUtil;
|
||||||
|
import com.ifish.wheelview.adapter.ArrayWheelAdapter;
|
||||||
|
import com.ifish.wheelview.view.WheelView;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName: CheckWifiUtil
|
||||||
|
* @Description: 检查当前wifi密码
|
||||||
|
* @Author: LiHongda
|
||||||
|
* @CreateDate: 2024/2/22 23:33
|
||||||
|
*/
|
||||||
|
public class CheckWifiUtil {
|
||||||
|
|
||||||
|
public boolean checkWifiCanUse(AppCompatActivity activity) {
|
||||||
|
WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(WIFI_SERVICE);
|
||||||
|
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
||||||
|
if (!wifiManager.isWifiEnabled()) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请检查WiFi是否开启");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String wifissid = wifiInfo.getSSID();
|
||||||
|
wifissid = wifissid.replaceAll("\"", "");
|
||||||
|
if (TextUtils.isEmpty(wifissid)) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "您没有连接WiFi");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查当前的wifi是否可以用来配网
|
||||||
|
*
|
||||||
|
* @param activity
|
||||||
|
* @param wifiname
|
||||||
|
* @param wifipwd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean checkWifiCanUse(AppCompatActivity activity, String wifiname, String wifipwd) {
|
||||||
|
if (!checkWifiCanUse(activity)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(wifiname)) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请输入路由器名称");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(WIFI_SERVICE);
|
||||||
|
List<ScanResult> scanResults = wifiManager.getScanResults();
|
||||||
|
// 是否是 2.4G
|
||||||
|
boolean is24G = false;
|
||||||
|
// 是否是 5G
|
||||||
|
boolean is5G = false;
|
||||||
|
for (ScanResult scanResult : scanResults) {
|
||||||
|
if (wifiname.equals(scanResult.SSID)) {
|
||||||
|
int frequency = scanResult.frequency;
|
||||||
|
WifiUtil wifiUtil = new WifiUtil(activity);
|
||||||
|
if (wifiUtil.is24GHzWifi(frequency)) {
|
||||||
|
is24G = true;
|
||||||
|
}
|
||||||
|
if (wifiUtil.is5GHzWifi(frequency)) {
|
||||||
|
is5G = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if(!is24G && is5G){ //之所以这样处理,是因为现在有的路由器支持2.4+5G双频同时存在
|
||||||
|
// WifiDialog wd = new WifiDialog(activity);
|
||||||
|
// wd.show("仅支持2.4G Wi-Fi网络,请重新选择", "去更改", et_wifiname);
|
||||||
|
// dismissProgressDialog();
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (is5G) {
|
||||||
|
//既是2.4G也是5G
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "仅支持2.4G Wi-Fi网络,不支持2.4G和5G双频共存的网络,请重新选择");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(wifipwd)) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请输入路由器密码");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//保存wifiname和wifipwd
|
||||||
|
KVUtil.setString(wifiname, wifipwd);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//切换wifi弹框
|
||||||
|
private Dialog wifiDialog;
|
||||||
|
|
||||||
|
public List<ScanResult> getWifiList(AppCompatActivity activity) {
|
||||||
|
WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(WIFI_SERVICE);
|
||||||
|
List<ScanResult> scanWifiList = wifiManager.getScanResults();
|
||||||
|
List<ScanResult> wifiList = new ArrayList<>();
|
||||||
|
if (scanWifiList != null && scanWifiList.size() > 0) {
|
||||||
|
HashMap<String, Integer> signalStrength = new HashMap<String, Integer>();
|
||||||
|
for (int i = 0; i < scanWifiList.size(); i++) {
|
||||||
|
ScanResult scanResult = scanWifiList.get(i);
|
||||||
|
if (!scanResult.SSID.isEmpty()) {
|
||||||
|
String key = scanResult.SSID + " " + scanResult.capabilities;
|
||||||
|
if (!signalStrength.containsKey(key)) {
|
||||||
|
signalStrength.put(key, i);
|
||||||
|
wifiList.add(scanResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return wifiList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void showHeatWenduDialog(AppCompatActivity activity, TextView tvWifiName) {
|
||||||
|
List<ScanResult> wifiList = getWifiList(activity);
|
||||||
|
if (wifiList == null || wifiList.size() == 0) {
|
||||||
|
ToastUtil.show(activity, "未查找到周边WIFI");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final String[] wifis = new String[wifiList.size()];
|
||||||
|
for (int i = 0; i < wifis.length; i++) {
|
||||||
|
wifis[i] = wifiList.get(i).SSID;
|
||||||
|
}
|
||||||
|
final WheelView wv_water;
|
||||||
|
Button bt_submit;
|
||||||
|
wifiDialog = new Dialog(activity, R.style.HOLOMyDialogs);
|
||||||
|
wifiDialog.setCancelable(true);
|
||||||
|
Window window = wifiDialog.getWindow();
|
||||||
|
window.setContentView(R.layout.setwifi_dialog);
|
||||||
|
wv_water = (WheelView) window.findViewById(R.id.wv_water);
|
||||||
|
bt_submit = (Button) window.findViewById(R.id.bt_submit);
|
||||||
|
wv_water.setViewAdapter(new ArrayWheelAdapter<String>(activity, wifis));
|
||||||
|
wifiDialog.show();
|
||||||
|
wv_water.setCurrentItem(0);
|
||||||
|
bt_submit.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
wifiDialog.dismiss();
|
||||||
|
tvWifiName.setText(wifis[wv_water.getCurrentItem()]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurWifiSsid(AppCompatActivity activity) {
|
||||||
|
WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(WIFI_SERVICE);
|
||||||
|
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
||||||
|
if (!wifiManager.isWifiEnabled()) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请检查WiFi是否开启");
|
||||||
|
return wifiInfo.getSSID();
|
||||||
|
}
|
||||||
|
String wifissid = wifiInfo.getSSID();
|
||||||
|
wifissid = wifissid.replaceAll("\"", "");
|
||||||
|
if (TextUtils.isEmpty(wifissid)) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "您没有连接WiFi");
|
||||||
|
return wifiInfo.getSSID();
|
||||||
|
}
|
||||||
|
|
||||||
|
return wifissid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void checkCurAP(AppCompatActivity activity, String wifiName, String wifiPwd, String devicetype) {
|
||||||
|
String wifissid = getCurWifiSsid(activity);
|
||||||
|
if (TextUtils.isEmpty(wifissid)) {
|
||||||
|
wifissid = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
Intent intent = new Intent();
|
||||||
|
|
||||||
|
if ("camera".equals(devicetype)) {
|
||||||
|
if (!wifissid.startsWith("GW_AP_")) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请先连接摄像头设备热点");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//todo 摄像头
|
||||||
|
intent.setClass(activity, HotSpotConnentDeviceCameraActivity.class);
|
||||||
|
} else if ("pet".equals(devicetype)) {
|
||||||
|
if (!wifissid.startsWith("ifish-")) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请先连接宠物笼设备热点");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//todo 宠物
|
||||||
|
intent.setClass(activity, HotSpotConnentPetDeviceActivity.class);
|
||||||
|
} else {
|
||||||
|
if (!wifissid.startsWith("ifish-")) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "请先连接设备热点");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//todo 设备
|
||||||
|
intent.setClass(activity, HotSpotConnentDeviceActivity.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wifissid.equals(wifiName)) {
|
||||||
|
ToastUtil.show(activity.getApplicationContext(), "WiFi名称不能和热点名称一致");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
intent.putExtra("wifiname", (!TextUtils.isEmpty(wifiName) ? wifiName : ""));
|
||||||
|
intent.putExtra("wifipwd", (!TextUtils.isEmpty(wifiPwd) ? wifiPwd : ""));
|
||||||
|
intent.putExtra("wifihotid", wifissid);
|
||||||
|
activity.startActivity(intent);
|
||||||
|
AnimationUtil.startAnimation(activity);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
package com.ifish.activity.newbind;
|
package com.ifish.activity.newbind;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
@ -11,7 +14,13 @@ import android.widget.TextView;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import com.ifish.activity.R;
|
import com.ifish.activity.R;
|
||||||
|
import com.ifish.basebean.ConnectMessageEvent;
|
||||||
|
import com.ifish.utils.KVUtil;
|
||||||
import com.ifish.utils.ToastUtil;
|
import com.ifish.utils.ToastUtil;
|
||||||
|
import com.ifish.utils.WifiAdmin;
|
||||||
|
import com.lidroid.xutils.util.LogUtils;
|
||||||
|
|
||||||
|
import de.greenrobot.event.EventBus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName: NewBindDeviceActivity
|
* @ClassName: NewBindDeviceActivity
|
||||||
|
|
@ -40,7 +49,13 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
private BottomChoiceDialog bottomChoiceDialog;
|
private BottomChoiceDialog bottomChoiceDialog;
|
||||||
|
|
||||||
//----------------变量区--------------------//
|
//----------------变量区--------------------//
|
||||||
private ConnectType curConnectType;//当前选择的连接类型
|
private ConnectType curConnectType;//当前选择的连接类型 APConnect,SmartConfig,AirKiss
|
||||||
|
|
||||||
|
//当前需要连接的是什么设备
|
||||||
|
private String devicetype;
|
||||||
|
|
||||||
|
//---------------工具类--------------------//
|
||||||
|
private CheckWifiUtil checkWifiUtil;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -50,9 +65,35 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
initTitle();
|
initTitle();
|
||||||
initView();
|
initView();
|
||||||
initListener();
|
initListener();
|
||||||
|
initWifiName();
|
||||||
|
checkWifiUtil = new CheckWifiUtil();
|
||||||
|
devicetype = getIntent().getStringExtra("devicetype");
|
||||||
//默认AP连网
|
//默认AP连网
|
||||||
curConnectType = ConnectType.APConnect;
|
curConnectType = ConnectType.APConnect;
|
||||||
switchUIConnectType(curConnectType);
|
switchUIConnectType(curConnectType);
|
||||||
|
EventBus.getDefault().register(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initWifiName() {
|
||||||
|
WifiAdmin wifiAdmin = new WifiAdmin(this);
|
||||||
|
String wifissid = wifiAdmin.getSSID();
|
||||||
|
LogUtils.d("LHD 获取当前连接的wifi:" + wifissid);
|
||||||
|
wifissid = wifiAdmin.updateSsid(wifissid);
|
||||||
|
String wifiname = wifissid;
|
||||||
|
if (TextUtils.isEmpty(wifissid)) {
|
||||||
|
wifiname = "";
|
||||||
|
} else {
|
||||||
|
if ("0x".equals(wifissid)) {//上次连接过wifi,但是中途断开,则会出现0x
|
||||||
|
wifiname = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tvWifiName.setText(wifiname);
|
||||||
|
|
||||||
|
if (!TextUtils.isEmpty(wifiname)) {
|
||||||
|
String pwd = KVUtil.getString(wifiname, "");
|
||||||
|
tvWifiPwd.setText(pwd);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initTitle() {
|
private void initTitle() {
|
||||||
|
|
@ -114,8 +155,6 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
tvClickButton.setOnClickListener(new View.OnClickListener() {
|
tvClickButton.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
//todo 一系列判断逻辑
|
|
||||||
checkAPLayout();
|
|
||||||
connectDevice();
|
connectDevice();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -126,7 +165,7 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
showProgress(true);
|
showProgress(true);
|
||||||
tvApConnectDevice.setVisibility(View.GONE);
|
tvApConnectDevice.setVisibility(View.GONE);
|
||||||
//开始AP连接
|
//开始AP连接
|
||||||
ToastUtil.show(NewBindDeviceActivity.this, "开始AP连接...");
|
connectAP();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -149,6 +188,8 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
llWifiLayout.setVisibility(curIsAP ? View.GONE : View.VISIBLE);
|
llWifiLayout.setVisibility(curIsAP ? View.GONE : View.VISIBLE);
|
||||||
//ap连接提示布局
|
//ap连接提示布局
|
||||||
lineApTip.setVisibility(curIsAP ? View.VISIBLE : View.GONE);
|
lineApTip.setVisibility(curIsAP ? View.VISIBLE : View.GONE);
|
||||||
|
//todo AP连接的提示要修改
|
||||||
|
|
||||||
//通用提示布局
|
//通用提示布局
|
||||||
tvTips.setVisibility(curIsAP ? View.GONE : View.VISIBLE);
|
tvTips.setVisibility(curIsAP ? View.GONE : View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
@ -211,6 +252,12 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
case APConnect:
|
case APConnect:
|
||||||
// 处理APConnect逻辑
|
// 处理APConnect逻辑
|
||||||
ToastUtil.show(NewBindDeviceActivity.this, "开始AP连网...");
|
ToastUtil.show(NewBindDeviceActivity.this, "开始AP连网...");
|
||||||
|
//一系列判断逻辑
|
||||||
|
boolean canConnect = checkWifiUtil.checkWifiCanUse(this, tvWifiName.getText().toString(), tvWifiPwd.getText().toString());
|
||||||
|
if (canConnect) {
|
||||||
|
//开始AP连接
|
||||||
|
checkAPLayout();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case AirKiss:
|
case AirKiss:
|
||||||
// 处理AirKiss逻辑
|
// 处理AirKiss逻辑
|
||||||
|
|
@ -219,4 +266,38 @@ public class NewBindDeviceActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isJump = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1.跳转设置页面连接ifish-xxx的wifi,连接成功后返回
|
||||||
|
*/
|
||||||
|
private void connectAP() {
|
||||||
|
isJump = true;
|
||||||
|
ToastUtil.show(NewBindDeviceActivity.this, "开始AP连接...");
|
||||||
|
Intent i = new Intent();
|
||||||
|
i = new Intent(Settings.ACTION_WIFI_SETTINGS);
|
||||||
|
startActivity(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
if (isJump) {
|
||||||
|
String wifiName = tvWifiName.getText().toString();
|
||||||
|
String wifiPwd = tvWifiPwd.getText().toString();
|
||||||
|
checkWifiUtil.checkCurAP(this, wifiName, wifiPwd, devicetype);
|
||||||
|
isJump = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
EventBus.getDefault().unregister(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onEventMainThread(ConnectMessageEvent event) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -30,9 +30,11 @@ import com.alibaba.sdk.android.push.huawei.HuaWeiRegister;
|
||||||
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
|
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
|
||||||
import com.alibaba.sdk.android.push.register.MiPushRegister;
|
import com.alibaba.sdk.android.push.register.MiPushRegister;
|
||||||
import com.ifish.activity.BuildConfig;
|
import com.ifish.activity.BuildConfig;
|
||||||
|
import com.ifish.utils.KVUtil;
|
||||||
import com.ifish.utils.SystemUtil;
|
import com.ifish.utils.SystemUtil;
|
||||||
import com.p2p.core.P2PSpecial.P2PSpecial;
|
import com.p2p.core.P2PSpecial.P2PSpecial;
|
||||||
//import com.tencent.bugly.crashreport.CrashReport;
|
//import com.tencent.bugly.crashreport.CrashReport;
|
||||||
|
import com.tencent.mmkv.MMKV;
|
||||||
import com.tendcloud.tenddata.TCAgent;
|
import com.tendcloud.tenddata.TCAgent;
|
||||||
import com.umeng.commonsdk.UMConfigure;
|
import com.umeng.commonsdk.UMConfigure;
|
||||||
import com.umeng.socialize.PlatformConfig;
|
import com.umeng.socialize.PlatformConfig;
|
||||||
|
|
@ -75,6 +77,8 @@ public class BaseApplication extends MultiDexApplication {
|
||||||
initalipushSDK();
|
initalipushSDK();
|
||||||
P2PSpecial.getInstance().init(app, APPID, APPToken, APPVersion);
|
P2PSpecial.getInstance().init(app, APPID, APPToken, APPVersion);
|
||||||
initLog();
|
initLog();
|
||||||
|
//初始化MMKV
|
||||||
|
KVUtil.init(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
package com.ifish.utils;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.tencent.mmkv.MMKV;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* key-value 工具类,包装微信MMKV
|
||||||
|
*
|
||||||
|
* @Company SINA
|
||||||
|
* Created by chenyuebo on 2019/5/16.
|
||||||
|
*/
|
||||||
|
public class KVUtil {
|
||||||
|
|
||||||
|
public static void init(Context context) {
|
||||||
|
// 初始化微信key-value 组件,默认设定 MMKV 的根目录(files/mmkv/)
|
||||||
|
MMKV.initialize(context.getApplicationContext());
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
private static MMKV getMmkv() {
|
||||||
|
return MMKV.defaultMMKV(MMKV.MULTI_PROCESS_MODE, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key, String defValue) {
|
||||||
|
return getMmkv().getString(key, defValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key) {
|
||||||
|
return getString(key, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void setString(String key, String value) {
|
||||||
|
getMmkv().encode(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean getBoolean(String key, boolean defValue) {
|
||||||
|
return getMmkv().decodeBool(key, defValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean getBoolean(String key) {
|
||||||
|
return getMmkv().decodeBool(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setBoolean(String key, boolean value) {
|
||||||
|
getMmkv().encode(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static long getLong(String key, long defValue) {
|
||||||
|
return getMmkv().decodeLong(key, defValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setLong(String key, long value) {
|
||||||
|
getMmkv().encode(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float getFloat(String key, float defValue) {
|
||||||
|
return getMmkv().decodeFloat(key, defValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setFloat(String key, float value) {
|
||||||
|
getMmkv().encode(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getInt(String key, int defValue) {
|
||||||
|
return getMmkv().decodeInt(key, defValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getInt(String key) {
|
||||||
|
return getMmkv().decodeInt(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setInt(String key, int value) {
|
||||||
|
getMmkv().encode(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeValueForKey(String key) {
|
||||||
|
getMmkv().removeValueForKey(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeValuesForKeys(String[] keys) {
|
||||||
|
getMmkv().removeValuesForKeys(keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean containsKey(String key) {
|
||||||
|
return getMmkv().containsKey(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue