当前位置: 首页 > news >正文

Android 开发小知识点收集(随时更新)

1、获取手机运行时最大可占用内存

int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
Log.d("TAG", "Max memory is " + maxMemory + "KB");

2、改变dialog 在不同窗口内显示不同的大小

//在dialog.show()之后调用
public static void setDialogWindowAttr(Dialog dlg,Context ctx){
        Window window = dlg.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.gravity = Gravity.CENTER;
        lp.width = LayoutParams.MATH_PARENT;//宽高可设置具体大小
        lp.height = LayoutParams.MATH_PARENT;
        dlg.getWindow().setAttributes(lp);
    }

摘抄自:简书——MrRock

3、监听Activity是否显示在用户面前

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
}

当Activity展示咋用户面前则 hasFocus 为 true;

4、成员变量与局部变量的区别(简写:成、局)

1)、类中位置不同:成:类内 局: 方法内伙子方法上;
2)、内存中位置不同:成:栈内存 局:堆内存;
3)、生命周期不同:成:与对象共存亡 局:与方法共存亡;
4)、初始化值不同:成:有默认值 局:无默认值,必须赋值。

5、Java 获取可变的 uuid

uuid 类似于时间戳 永远不可重复。

  String uuid = UUID.randomUUID().toString().replaceAll("-", "");

6、Android 获取 WiFi 的 ssid

1)、在 AndroidManifest.xml 文件内添加权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

2)、需要获取的位置添加如下代码

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();

Logger.d("wifiInfo"+wifiInfo.toString());
Logger.d("SSID"+wifiInfo.getSSID());

3)、若不是想获取当前连接,而是想获取WIFI设置中的连接

WifiManager.getConfiguredNetworks()

4)、若获取更多的信息请查看这位兄嘚的博客:Android连续获取当前所连接WiFi及周围热点列表信息的解决方案 .

7、Android 打开 WiFi 设置界面

1)、判断手机是否连接wifi


        if (ConnectionDetector.getConnectionType(this) != ConnectionDetector.WIFI) {
             //跳转wifi配置界面
            goToWifSetting();
        } else {
                //wifi已经连接
        }

代码如下:

Intent intent = new Intent();
if(android.os.Build.VERSION.SDK_INT >= 11){
    //Honeycomb
    intent .setClassName("com.android.settings", "com.android.settings.Settings$WifiSettingsActivity");
 }else{
    //other versions
     intent .setClassName("com.android.settings", "com.android.settings.wifi.WifiSettings");
 }
 startActivity(intent);

或者

  if (android.os.Build.VERSION.SDK_INT > 10) {
          // 3.0以上打开设置界面,也可以直接用ACTION_WIRELESS_SETTINGS打开到wifi界面
             startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
} else {
             startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
}

8、Android 8.0 获取 wifi 的 ssid

之前用上面6的方法可以完美的获取wifif设备的 ssid 但是不能显示 ssid 即用户名

ConnectivityManager manager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
assert manager != null;
NetworkInfo info = manager.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
    String  wifiSsid = info.getExtraInfo().substring(1, info.getExtraInfo().length() - 1).trim();
}

相关文章:

  • 第二阶段冲刺8
  • 用shell脚本写的一个9*9乘法表
  • 导入项目后遇到页面报错如何解决
  • Ubuntu: how to md5sum (适用macOS)
  • Linux 磁盘配额 quota
  • crontab笔记
  • 互联网一线大厂都在用的Java架构师知识体系
  • linux 安全
  • centos中mysql,和配置ansible遇到的错误
  • 博客版权问题
  • Graph database_neo4j 底层存储结构分析(1)
  • python_bomb----数据类型总结
  • Advanced Bash-Shell Guide(Version 10) 学习笔记三
  • 当大多数人对Vue理解到炉火纯青的时候,是不是该思考一下怎么让vue页面骚气起来...
  • Jquery有哪些选择器
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【前端学习】-粗谈选择器
  • 2018一半小结一波
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Docker容器管理
  • Joomla 2.x, 3.x useful code cheatsheet
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 大型网站性能监测、分析与优化常见问题QA
  • 浮动相关
  • 汉诺塔算法
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端学习笔记之观察者模式
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 试着探索高并发下的系统架构面貌
  • 微信公众号开发小记——5.python微信红包
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • No resource identifier found for attribute,RxJava之zip操作符
  • 回归生活:清理微信公众号
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (07)Hive——窗口函数详解
  • (33)STM32——485实验笔记
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (十)c52学习之旅-定时器实验
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (太强大了) - Linux 性能监控、测试、优化工具
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET 的程序集加载上下文
  • .net 托管代码与非托管代码
  • .ui文件相关
  • [2016.7 day.5] T2
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [ASP]青辰网络考试管理系统NES X3.5