您现在的位置是:首页 > 文章详情

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

日期:2018-08-12点击:330

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(); } 
原文链接:https://yq.aliyun.com/articles/635764
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章