Android - 屏幕适配,Application,全局捕获异常,Build类

1.屏幕适配

  1. 使用LinearLayout、RelativeLayout、FrameLayout

  2. 单位使用dp、dip、sp

  3. 代码中使用dip、sp等单位

TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());

2.应用的Application

Appication:代表这个应用程序。对应AndroidManifest.xml的节点,创建后需要在清单文件中进行配置。

单例,可以保存全局变量进行数据传递。APK加载内存中后的第一个实例化对象。onCreate方法的执行优先于activity和service和receiver的实例创建(除了ContentProvider),可执行不耗时的初始化操作。service和activity可通过getApplication()获取到实例对象。

3.全局捕获异常

public class projectApplication extends Application {

//应用程序创建之前执行的第一个方法

//适合做应用程序的初始化操作

@Override

public void onCreate() {

//重写系统的异常处理器

super.onCreate();

Thread.currentThread().setUncaughtExceptionHandler(new MyExceptionHandler());

}

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

开源分享完整内容戳这里

private class MyExceptionHandler implements UncaughtExceptionHandler{

//当发现了未捕获异常的时候调用的方法

@Override

public void uncaughtException(Thread thread, Throwable ex) {

System.out.println(“发生了异常,但是被哥捕获了。。。”);

//自杀的方法. 早死早超生

android.os.Process.killProcess(android.os.Process.myPid());

}

}

}

4.Build类

提取设备硬件和版本信息

内部类:

1、Build.VERSION 版本相关常量字符串

2、Build.VERSION_CODES 目前已知的版本代码的常量类

静态属性

1、BOARD 主板:The name of the underlying board, like goldfish.

2、BOOTLOADER 系统启动程序版本号:The system bootloader version number.

3、BRAND 系统定制商:The consumer-visible brand with which the product/hardware will be associated, if any.

4、CPU_ABI cpu指令集:The name of the instruction set (CPU type + ABI convention) of native code.

5、CPU_ABI2 cpu指令集2:The name of the second instruction set (CPU type + ABI convention) of native code.

6、DEVICE 设备参数:The name of the industrial design.

7、DISPLAY 显示屏参数:A build ID string meant for displaying to the user

8、FINGERPRINT 唯一识别码:A string that uniquely identifies this build. Do not attempt to parse this value.

9、HARDWARE 硬件名称:The name of the hardware (from the kernel command line or /proc).

10、HOST

11、ID 修订版本列表:Either a changelist number, or a label like M4-rc20.

12、MANUFACTURER 硬件制造商:The manufacturer of the product/hardware.

13、MODEL 版本即最终用户可见的名称:The end-user-visible name for the end product.

14、PRODUCT 整个产品的名称:The name of the overall product.

15、RADIO 无线电固件版本:The radio firmware version number. 在API14后已过时。使用 getRadioVersion()代替。

16、SERIAL 硬件序列号:A hardware serial number, if available. Alphanumeric only, case-insensitive.

17、TAGS 描述build的标签,如未签名,debug等等。:Comma-separated tags describing the build, like unsigned,debug.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值