添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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();
                从零开发一款Android RTMP播放器
            
当时在做一款游戏SDK,SDK主要提供了游戏画面声音采集、音视频编解码、直播推流、直播拉流播放等,SDK为游戏提供直播功能,播放也是采用了现成的ijkplayer播放器。但是SDK推广的时候遇到了问题,游戏厂家嫌弃SDK体积大(其实总共也就3Mb左右),我们需要一款体积小,性能高的播放器,由于开发成本的原因一直没有时间做,后面换工作期间,花了一个月时间把这款播放器开发出来,并开源了出来。oarplayer 是基于MediaCodec与srs-librtmp,完全不依赖ffmpeg,纯C语言实现的播放器。本文主要介绍这款播放器的实现思路。
Android组件化开发(七)--从零开始教你分析项目需求并实现
前面几篇文章我们封装了几个组件化功能组件:包括:**网络请求组件,图片加载请求组件,应用保活组件,音乐播放组件封装。** > 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。