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

简介: 1、获取手机运行时最大可占用内存int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);Log.

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();
}
目录
相关文章
|
12月前
|
存储 数据库 文件存储
android 数据存储的知识点
android 数据存储的知识点
85 0
|
4月前
|
Android开发 算法 架构师
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
|
1月前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI、事件、生命周期都和消息处理机制息息相关,并且消息处理机制在整个Android知识体系中也是尤其重要,在太多的源码分析的文章讲得比较繁琐,很多人对整个消息处理机制依然是懵懵懂懂,这篇文章通过一些问答的模式结合Android主线程(UI线程)的工作原理来讲解,源码注释很全,还有结合流程图,如果你对Android 消息处理机制还不是很理解,我相信只要你静下心来耐心的看,肯定会有不少的收获的。
95 3
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
|
1月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
94 9
|
1月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂,对measure过程掌握得不是很深刻,那么耐心点,看完这篇文章,相信你会有所收获的。
67 2
|
12月前
|
算法 网络协议 Java
Android面试知识点复习手册(收藏)
Android面试知识点复习手册(收藏)
123 0
|
编解码 缓存 监控
app测试知识点,adb命令,日志(安卓和苹果)查看,软件后缀,专项测试等
app测试知识点,adb命令,日志(安卓和苹果)查看,软件后缀,专项测试等
|
API Android开发
Android零碎知识点-更新中
Android零碎知识点-更新中
59 0
|
API Android开发
Android View滑动相关的基础知识点
*本文涉及到的知识点:MotionEvent、ViewConfiguration、VelocityTracker 、GestureDetector、scrollTo、scrollBy、Scroller、OverScroller*
|
存储 缓存 开发框架
Android性能优化(二):内存优化你一定要了解的知识点
内存优化在Android开发中是一个很重要的部分,app内存的使用直接影响app的稳定性和流畅度。