Android 常用资源汇总
- 如果评论区没有及时回复,欢迎来公众号:ByteCode 咨询
- 公众号:ByteCode。致力于分享最新技术原创文章,涉及 Kotlin、Jetpack、算法、译文、系统源码相关的文章
颜色透明度汇总
半透明颜色值不同于平时使用的颜色,半透明颜色值共 8 位,例如:
android:background="#AAxxxxxx" |
前 2 位(AA)是透明度,后 6 位(xxxxxx) 是颜色,透明度和颜色结合在一起就可以写出各种颜色的透明度。下面是透明度说明表。
| 透明度百分比 | 对应的值 | 备注 |
|---|---|---|
| 100% | FF | 完全不透明 |
| 95% | F2 | |
| 90% | E6 | |
| 85% | D9 | |
| 80% | CC | |
| 75% | BF | |
| 70% | B3 | |
| 65% | A6 | |
| 60% | 99 | |
| 55% | 8C | |
| 50% | 80 | 半透明 50% |
| 45% | 73 | |
| 40% | 40 | |
| 35% | 59 | |
| 30% | 4D | |
| 25% | 40 | |
| 20% | 33 | |
| 15% | 26 | |
| 10% | 1A | |
| 5% | 0D | |
| 0% | 00 | 全透明 |
使用举例:
- 全透明:#00000000
- 半透明:#80000000
- 不透明:#FF000000
- 白色半透明:#80FFFFFF
不同像素密度的配置限定符
官方链接:https://developer.android.com/training/multiscreen/screendensities?hl=zh-cn
| 密度限定符 | 说明 |
|---|---|
| ldpi | 适用于低密度 (ldpi) 屏幕 (~ 120dpi) 的资源 |
| mdpi | 适用于中密度 (mdpi) 屏幕 (~ 160dpi) 的资源(这是基准密度) |
| hdpi | 适用于高密度 (hdpi) 屏幕 (~ 240dpi) 的资源 |
| xhdpi | 适用于加高 (xhdpi) 密度屏幕 (~ 320dpi) 的资源 |
| xxhdpi | 适用于超超高密度 (xxhdpi) 屏幕 (~ 480dpi) 的资源 |
| xxxhdpi | 适用于超超超高密度 (xxxhdpi) 屏幕 (~ 640dpi) 的资源 |
| nodpi | 适用于所有密度的资源。这些是与密度无关的资源。无论当前屏幕的密度是多少,系统都不会缩放以此限定符标记的资源 |
| tvdpi | 适用于密度介于 mdpi 和 hdpi 之间的屏幕(约 213dpi)的资源。这不属于“主要”密度组。它主要用于电视,而大多数应用都不需要它。对于大多数应用而言,提供 mdpi 和 hdpi 资源便已足够,系统将视情况对其进行缩放。如果您发现有必要提供 tvdpi 资源,应按一个系数来确定其大小,即 1.33*mdpi。例如,如果某张图片在 mdpi 屏幕上的大小为 100px x 100px,那么它在 tvdpi 屏幕上的大小应该为 133px x 133px |
要针对不同的密度创建备用可绘制位图资源,您应遵循六种主要密度之间的 3:4:6:8:12:16 缩放比。例如,如果您有一个可绘制位图资源,它在中密度屏幕上的大小为 48x48 像素,那么它在其他各种密度的屏幕上的大小应该为:
- 36x36 (0.75x) - 低密度 (ldpi)
- 48x48(1.0x 基准)- 中密度 (mdpi)
- 72x72 (1.5x) - 高密度 (hdpi)
- 96x96 (2.0x) - 超高密度 (xhdpi)
- 144x144 (3.0x) - 超超高密度 (xxhdpi)
- 192x192 (4.0x) - 超超超高密度 (xxxhdpi)
Android studio 插件版本与 gradle 版本对应关系
Android studio 插件版本与 gradle 版本对应关系如下所示:
| AS 插件版本 | Gradle 版本 |
|---|---|
| 1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
| 1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
| 1.5.0 | 2.2.1 - 2.13 |
| 2.0.0 - 2.1.2 | 2.10 - 2.13 |
| 2.1.3 - 2.2.3 | 2.14.1+ |
| 2.3.0+ | 3.3+ |
| 3.0.0+ | 4.1+ |
| 3.1.0+ | 4.4+ |
| 3.2.0 - 3.2.1 | 4.6+ |
| 3.3.0 - 3.3.3 | 4.10.1+ |
| 3.4.0 - 3.4.3 | 5.1.1+ |
| 3.5.0 - 3.5.4 | 5.4.1+ |
| 3.6.0 - 3.6.4 | 5.6.4+ |
| 4.0.0+ | 6.1.1+ |
| 4.1.0+ | 6.5+ |
以上信息参考 Android Gradle 插件版本说明
Android Studio 根据动物名称来命名,而 Android 系统 10.0 之前都是以甜点的方式来命名,我们在来会汇总一下 Android 系统的命名方案。
2007 年 11 月 5 日发布最初的版本(Android 0.5),至今 Android 发行了多个版本,Android 操作系统有预发行的内部版本,分别为铁臂阿童木(Astro)与机器人班亭(Bender),从 2009 年 5 月开始, Android 的版本代号以甜点来命名,且每个代号间的前缀以英文本母序接续排列。
Android 系统名字、版本、API level 的对应关系
Android 系统名字、版本、API level 的对应关系如下所示:
| 名称 | 版本号 | 发版日期 | API 级别 | VERSION_CODE |
|---|---|---|---|---|
| Android 1.0 | 1.0 | 2008年9月23日 | 1 | BASE |
| Android 1.1 | 1.1 | 2009年2月9日 | 2 | BASE_1_1 |
| Android Cupcake(纸杯蛋糕) | 1.5 | 2009年4月27日 | 3 | CUPCAKE |
| Android Donut(甜甜圈) | 1.6 | 2009年9月15日 | 4 | DONUT |
| Android Eclair(闪电泡芙) | 2.0 – 2.1 | 2009年10月26日 | 5 – 7 | ECLAIR_MR1(2.1.x) ECLAIR_0_1(2.0.1) ECLAIR(2.0) |
| Android Froyo(优格冰淇淋) | 2.2 – 2.2.3 | 2010年5月20日 | 8 | FROYO |
| Android Gingerbread(姜饼) | 2.3 – 2.3.7 | 2010年12月6日 | 9 - 10 | GINGERBREAD_MR1( 2.3.3 - 2.3.4) GINGERBREAD(2.3、2.3.1、2.3.2) |
| Android Honeycomb(蜂巢) | 3.0 – 3.2.6 | 2011年2月22日 | 11 - 13 | HONEYCOMB_MR2(3.2) HONEYCOMB_MR1(3.1x) HONEYCOMB(3.0.x) |
| Android Ice Cream Sandwich(冰淇淋三明治) | 4.0 – 4.0.4 | 2011年10月18日 | 14 - 15 | ICE_CREAM_SANDWICH_MR1(4.0.3、4.0.4) ICE_CREAM_SANDWICH (4.0、4.0.1、4.0.2) |
| Android Jelly Bean(果冻豆) | 4.1 – 4.3.1 | 2012年7月9日 | 16 – 18 | JELLY_BEAN_MR2(4.3) JELLY_BEAN_MR1(4.2 - 4.2.2) JELLY_BEAN(4.1 - 4.1.1) |
| Android KitKat(奇巧巧克力) | 4.4 – 4.4.4 | 2013年10月31日 | 19 - 20 | KITKAT |
| Android Lollipop(棒棒糖) | 5.0 – 5.1.1 | 2014年11月12日 | 21 - 22 | LOLLIPOP_MR1(5.1) LOLLIPOP(5.0) |
| Android Marshmallow(棉花糖) | 6.0 – 6.0.1 | 2015年10月5日 | 23 | M |
| Android Nougat(牛轧糖) | 7.0 – 7.1.2 | 2016年8月22日 | 24 - 25 | N_MR1(7.1 - 7.11) N(7.0) |
| Android Oreo(奥利奥) | 8.0 – 8.1 | 2017年8月21日 | 26 – 27 | O_MR1(8.1) O (8.0) |
| Android Pie(派) | 9 | 2018年8月6日 | 28 | P |
| Android 10 | 10 | 2019年9月3日 | 29 | Q |
| Android 11 | 11 | 2020年2月19日 | 30 | R |
| Android 12 | 12 | 2021年10月 | 31 | S |
从 Android Q 开始不再以甜品命名,且直接称 Android Q 为 Android 10。以上信息参考 uses-sdk
跳转到系统各个设置界面
跳转常用方法如下:
// 第一个参:包名 |
各个设置的类名汇总
com.android.settings.AccessibilitySettings 辅助功能设置 |
Android 设备信息以及系统 API
Build 系列
| Build 系列 | android.os.Build | ||
|---|---|---|---|
| 系统版本 | RELEASE | 获取系统版本字符串。如4.1.2 或2.2 或2.3等 | 4.4.4 |
| 系统版本值 | SDK_INT | 19 | |
| 品牌 | BRAND | 获取设备品牌 | Huawei |
| 型号 | MODEL | 获取手机的型号 | HUAWEI G750-T01 |
| ID | ID | 设备版本号 | HUAWEITAG-TLOO |
| DISPLAY | DISPLAY | 获取设备显示的版本包(在系统设置中显示为版本号)和ID一样 | TAG-TLOOCO1B166-TLOO |
| 产品名 | PRODUCT | 整个产品的名称 | G750-T01 |
| 制造商 | MANUFACTURER | 获取设备制造商 | HUAWEI |
| 设备名 | DEVICE | 获取设备驱动名称 | hwG750-T01 |
| 硬件 | HARDWARE | 设备硬件名称,一般和基板名称一样(BOARD) | mt6592 |
| 指纹 | FINGERPRINT | 设备的唯一标识。由设备的多个信息拼接合成 | Huawei/G750-T01/hwG750-T01:4.2.2/HuaweiG750-T01/C00B152:user/ota-rel-keys,release-keys |
| 串口序列号 | SERIAL | 返回串口序列号 | YGKBBBB5C1711949 |
| 设备版本类型 | TYPE | 主要为user 或eng. | user |
| 描述build的标签 | TAGS | 设备标签。如release-keys 或测试的 test-keys | release-keys |
| 设备主机地址 | HOST | 设备主机地址 | scmbuild |
| 设备用户名 | USER | 基本上都为android-build | queen |
| 固件开发版本代号 | codename | 设备当前的系统开发代号,一般使用REL代替 | REL |
| 源码控制版本号 | build_incremental | 系统源代码控制值,一个数字或者git hash值 | C01B166 |
| 主板 | board | 获取设备基板名称 | TAG-TL00 |
| 主板引导程序 | bootloader | 获取设备引导程序版本号 | unkonwn |
| Build时间 | time | Build时间 | 1476084456000 |
| 系统的API级别 | SDK_INT | 数字表示 | 19 |
| cpu指令集1 | CPU_ABI | 获取设备指令集名称(CPU的类型) | arm64-v8a |
| cpu指令集1 | CPU_ABI2 |
Android 硬件设备信息:
| 名称 | 接口参数名称 | 备注 | 示例 |
|---|---|---|---|
| 序列号 | getDeviceId | 序列号IMEI | 865872025238821 |
| andrlid_id | getString | android_id | bcbc00f09479aa5b |
| 手机号码 | getLine1Number | 手机号码 | 13117511178 |
| 手机卡序列号 | getSimSerialNumber | 手机卡序列号 | 89860179328595969501 |
| 手机卡IMSI号 | getSubscriberId | IMSI | 460017932859596 |
| 手机卡国家 | getSimCountryIso | 手机卡国家 | cn |
| 运营商 | getSimOperator | 运营商 | 46001 |
| 运营商名字 | getSimOperatorName | 运营商名字 | 中国联通 |
| 国家iso代码 | getNetworkCountryIso | 国家iso代码字 | cn |
| 网络运营商类型 | getNetworkOperator | 返回MCC+MNC代码 | (SIM卡运营商国家代码和运营商网络代码)(IMSI) 46001 |
| 网络类型名 | getNetworkOperatorName | 返回移动网络运营商的名字(SPN) | 中国联通 |
| 网络 | getNetworkType | 网络 | 3 |
| 手机类型 | getPhoneType | 机类型 | 1 |
| 手机卡状态 | getSimState | 1 | |
| mac地址 | getMacAddress | mac地址 | a8:a6:68:a3:d9:ef |
| 蓝牙名称 | getName | HUAWEI TAG-TL00 | |
| 固件版本 | 固件版本 | 无线电固件版本号,通常是不可用的 | MOLY.WR8.W1328.MD.TG.MP.V1.P22, 2014/07/15 19:57 |
WifiManager
| WifiManager | WIFI相关 | ||
|---|---|---|---|
| 蓝牙地址 | getAddress | 蓝牙地址MAC地址 | 6a: cd:57:f2:3b:59 |
| 无线路由器名 | getSSID | WIFI名字 | 210e03fcf0 |
| 无线路由器地址 | getBSSID | ce:ea:8c:1a:5c:b2 | |
| 内网ip(wifl可用) | getIpAddress | 可以用代码转成192.168形式 | -2023511872 |
Display 屏幕相关
| Display | 屏幕相关 | ||
|---|---|---|---|
| 屏幕密度 | density | 屏幕密度(像素比例:0.75/1.0/1.5/2.0) | 2.0 |
| 屏幕密度 | densityDpi | 屏幕密度(每寸像素:120/160/240/320) | 480 |
| 手机内置分辨率 | getWidth | 内置好的不准确已废弃API | 720 |
| 手机内置分辨率 | getHeight | ||
| 字体缩放比例 | scaledDensity | 2.0 |
- 本文作者:hi-dhl
- 本文标题:Android 常用资源汇总
- 本文链接:https://hi-dhl.com/2021/05/23/android/07-Android-resource/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 hi-dhl
