android 几个工具方法

简介: 集合几个工具方法,方便以后使用。 1.获取手机 分辨率屏幕: public static void printScreenInfor(Context context){ DisplayMetrics displayMetrics = context.

集合几个工具方法,方便以后使用。

1.获取手机 分辨率屏幕:

public static void printScreenInfor(Context context){

        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();

        int width = displayMetrics.widthPixels;
        int height = displayMetrics.heightPixels;

        float density = displayMetrics.density;
        float scaledDensity = displayMetrics.scaledDensity;

        Log.d(null, String.format("screen info: width = %d, height = %d, density = %f , scaledDensity = %f ", width, height, density, scaledDensity));
    }

2.获取手机 密度

 1   public static double getDensity(Activity context) {
 2         DisplayMetrics displaysMetrics = new DisplayMetrics();
 3         if(context == null ){
 4             LogHelper.e(LogHelper.APPUTIL, "传入的应为activity");
 5             return 0;
 6         }
 7         context.getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics);
 8         float density = displaysMetrics.scaledDensity;
 9 
10         return density;
11     }

3.获取手机的dp和px转化:

public static int dip2px(Context context, float dipValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dipValue * scale + 0.5f);
    }

 public static int px2dip(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

4.获取手机真实的物理尺寸

 public static double getScreenPhysicalSize(Activity activity) {
         DisplayMetrics dm = new DisplayMetrics();
         activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
         double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));
         return diagonalPixels / (160 * dm.density);
     }

5.判断手机是否是平板

1   public static boolean isTablet(Context context) {
2         return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
3     }

 

6.获取手机的编译版本 制造厂商等

1 String osVersion = android.os.Build.VERSION.SDK;//编译版本
2 String model = Build.MODEL;//手机品牌
3 String manufacture = Build.manufacture;//
4 String cpu = Build.cpu_ABI;

7.获取手机mac地址等

1 public String getLocalMacAddress() {   
2         WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);   
3         WifiInfo info = wifi.getConnectionInfo();   
4         return info.getMacAddress();   
5     }  

8.判断是有网络

 1 public static boolean isNetworkAvailable(Context context) {
 2         boolean flag = false;
 3         if (context != null) {
 4             ConnectivityManager connMgr = (ConnectivityManager) context
 5                     .getSystemService(Context.CONNECTIVITY_SERVICE);
 6             NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
 7             if (networkInfo != null && networkInfo.isConnected()) {
 8                 flag = true;
 9             }
10         }
11         return flag;
12     }

9.其他待补充

 

 

目录
相关文章
|
7月前
|
Android开发 开发者
Android自定义view之利用drawArc方法实现动态效果
本文介绍了如何通过Android自定义View实现动态效果,重点使用`drawArc`方法完成圆弧动画。首先通过`onSizeChanged`进行测量,初始化画笔属性,设置圆弧相关参数。核心思路是不断改变圆弧扫过角度`sweepAngle`,并调用`invalidate()`刷新View以实现动态旋转效果。最后附上完整代码与效果图,帮助开发者快速理解并实践这一动画实现方式。
180 0
|
10月前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
346 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
5月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
363 11
|
5月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
434 4
|
6月前
|
Android开发
安卓硬改一键新机工具,一键修改手机型号,串号网卡Imei、sn码【仅供学习参考】
声明部分:仅供学习参考使用,基于Xposed框架实现的设备信息伪装模块的完整代码,包含多个功能模块:
|
6月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
5月前
|
监控 Android开发 数据安全/隐私保护
批量发送短信的平台,安卓群发短信工具插件脚本,批量群发短信软件【autojs版】
这个Auto.js脚本实现了完整的批量短信发送功能,包含联系人管理、短信内容编辑、发送状态监控等功能
|
5月前
|
API 开发工具 Android开发
qq虚拟视频插件下载安装手机版, 安卓虚拟视频插件,替换摄像头工具
Xposed入口模块:拦截目标应用的相机调用‌23 Camera1 API处理:通过PreviewCallback替换视频流‌1 Camera2 API适
|
6月前
|
存储 JSON API
安卓ck提取工具,可提取手机cookie插件,AUTOJS即可实现
怎么用autojs提取手机端的CK?其实autojs是支持提取ck的但是他提取的不是浏览器的CK,二十他自身浏览器环境的c
|
6月前
|
Java Android开发
安卓手机硬改工具, 设备型号修改神器, 安卓硬改一键新机
通过Java创建可执行JAR来修改安卓设备信息。核心功能包括读取系统属性