字符串数组保存到Map使用避免超出范围崩溃

买了个新手机,应用又崩溃了,连上电脑看catlog,报错:java.lang.ArrayIndexOutOfBoundsException。

java 复制代码
 String APV[] = new String[] {
            "",
            "Android 1.0 , BASE, 200809",
            "Android 1.1 , BASE_1_1, 200902",
            "Android 1.5 , CUPCAKE, 200904",
            "Android 1.6 , DONUT, 200909",
            "Android 2.0 , ECLAIR, 200910",
            "Android 2.0.1 , ECLAIR_0_1, 200912",
            "Android 2.1.X , ECLAIR MR1, 201001",
            "Android 2.2.x , FROYO, 201005",
            "Android 2.3 / 2.3.1 / 2.3.2, GINGERBREAD, 201012",
            "Android 2.3.3 / 2.3.4 , GINGERBREAD MR1, 201102",
            "Android 3.0.X , HONEYCOMB, 201102",
            "Android 3.1.X , HONEYCOMB MR1, 201105",
            "Android 3.2 , HONEYCOMB MR2, 201107",
            "Android 4.0 / 4.0.1 / 4.0.2, ICE CREAM SANDWICH, 201110",
            "Android 4.0.3 / 4.0.4, ICE CREAM SANDWICH MR1, 201112",
            "Android 4.1 / 4.1.1, JELLY BEAN, 201207",
            "Android 4.2 / 4.2.2, JELLY BEAN MR1, 201211",
            "Android 4.3, JELLY BEAN MR2, 201307",
            "Android 4.4, KITKAT, 201310",
            "Android 4.4W, KITKAT_WATCH, 201406",
            "Android 5.0, Lollipop , 201411",
            "Android 5.1, Lollipop MR1, 201503",
            "Android 6.0, Marshmallow, 201510",
            "Android 7.0, Nougat, 201608",
            "Android 7.1.1, Nougat, 201610",
            "Android 8.0, Oreo, 201708",
            "Android 8.1, Oreo MR1, 201712",
            "Android 9.0, Pie, 201808",
            "Android 10.0, Q, 201909",
            "Android 11, Red Velvet Cake, 20200909",
            "Android 12, Snow Cone, 20211005"
};

String s = APV[android.os.Build.VERSION.SDK_INT]; 
复制代码
android.os.Build.VERSION.SDK_INT,3年多前的旧手机=31,新手机=36,超过范围直接崩溃。

使用Map取不到值="null",不会崩溃。

java 复制代码
HashMap<Integer, String> map_APV;

map_APV = new HashMap<>();
for (int i=0; i<APV.length; i++) {
    map_APV.put(i, APV[i]);
}

String s = map_APV.get(android.os.Build.VERSION.SDK_INT);
相关推荐
flower_drop3 小时前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
撩得Android一次心动4 小时前
Jetpack Compose 知识点整理1【个人用】
android·学习·kotlin·android jetpack·compose
ForteScarlet6 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
方白羽7 小时前
Android Studio 自动国际化插件:SmartI18n
android·android studio·intellij idea
码农coding10 小时前
android12 状态栏图标的加载流程
android
hai_android11 小时前
Kotlin 协程作用域源码剖析
android·kotlin
Yeyu11 小时前
Android 画中画(PiP)小窗播放:怎么做、以及它到底是怎么工作的
android
千里马学框架11 小时前
安卓系统性能优化高级实战开发专题--开机,app冷启动优化
android·智能手机·性能优化·framework·性能·开机优化·app冷启动优化
律宏阔12 小时前
Android 手机通过 adblib 使用 ADB Wi-Fi 控制 Android 9 开发板
android
律宏阔12 小时前
Android App 里实现开机动画替换
android