文章目录
- 好记性不如烂笔头
- - intent 安装apk
- - resolveActivity
- - JSONObject对象的optXXX和getXXX
- - String ==和equals
- - 禁止在foreach循环里对元素进行remove/add操作
- - list判空相关问题
- - Sqlite 数据库replace函数
- - Sqlite 数据库存储类型
- - Arrylist初始化赋值两种方式
- - Java InetAddress类
- - Java String.format()使用
- - Java date判断是否为同一天
- - Android textview 竖直滑动
- - Java builder 模式
- - Android EditText 软键盘
- - Android PendingIntent 详解
- - mac 配置Android dx命令
- 已更新至 2019-04-29
好记性不如烂笔头
本文主要记录日常工作、学习中遇到的Android“琐碎”知识点。
目标:
1、方便日后使用时查询
2、利用空余时间可以对这些知识点进行深入了解并做响应扩展
- intent 安装apk
- resolveActivity
作用:判断是否有匹配的activity可供启动 防止没有匹配的activity导致崩溃
使用:
ComponentName componentName = intent.resolveActivity(context.getPackageManager());
if (componentName != null) {
context.startActivity(intent);
}
详情:待补充。。。
- JSONObject对象的optXXX和getXXX
区别:getXXX取值不正确或者类型不正确时会抛出异常,必须用try catch或者throw捕获
optXXX取值不正确时则会试图进行转化或者返回默认值,不会抛出异常
详情:JSONObject对象的optXXX和getXXX区别
- String ==和equals
区别:String类的equals方法是继承自object并重写 其实现主要是比较两个字符串内容是否相同 而 == 则是比较连个字符串是否指向同一地址引用 即是否为同一对象 所以如果要比较字符串内容要用equals 判断是否为同一引用则用另一个
- 禁止在foreach循环里对元素进行remove/add操作
原因:foreach是用while和Iterator来实现的 如果在遍历过程中对集合进行添加/删除而并未通过Iterator 会触发fail-fast机制从而抛出异常
详情:禁止在foreach循环里对元素进行remove/add操作
- list判空相关问题
原因:Java 中list集合为空还是为null 是不同的概念 null是指该list尚未分配内存 空是指list已分配内存但是集合中没有元素
详情:list 为null或空的区别
- Sqlite 数据库replace函数
原因:在数据库中我们经常会有这种需求,插入时,某条记录不存在则插入,存在则更新。或更新时,某条记录存在则更新,不存在则插入 此时可使用replace函数
- Sqlite 数据库存储类型
原因:
INTEGER –整数,对应Java 的byte、short、int 和long。
REAL – 小数,对应Java 的float 和double。
TEXT – 字串,对应Java 的String。
- Arrylist初始化赋值两种方式
原因:1、通过add添加 2、代码块赋值
- Java InetAddress类
原因: 该类是Java5提供的网络相关类 有isReachable、getAddress等方法用于进行网络ip相关的操作
详情:InetAddress类
- Java String.format()使用
原因:今天读代码遇到String.format()开始以为是格式化string 发现理解有偏差
- Java date判断是否为同一天
原因:业务需要对两个时间戳进行判断是否为同一天 目前看基本思路有两个
一个是通过compareTo(包括string和date)一个是通过Calendar
- Android textview 竖直滑动
原因:业务需要 方式有3中1、自定义view 2、socller 嵌套textview 3、设置textview属性实现 目前采用第三种方案 但是感觉滑动有些卡顿 需要深入了解下原因
详情:待补充
- Java builder 模式
原因:业务需要 之前只使用未深入了解
详情:待补充
- Android EditText 软键盘
原因:工作遇到需求EditText初始不弹出软键盘,只有光标显示,点击再弹出
详情:待补充‘
- Android PendingIntent 详解
原因:业务需要
详情:待补充
- mac 配置Android dx命令
原因:需要将jar转成 dex
详情:1、sudo vim .bash_profile
2、export PATH="${PATH}:/你的androidSdk目录/build-tools/xxxxx” SDK目录不知道在哪的可以看在Android studio 查看 xxxx可以在/Users/用户名/Library/Android/sdk/build-tools文件夹中选择一个版本即可
3、保存并执行source .bash_profile
4、在终端输入 dx命令 会打印相应提示 至此完成配置
已更新至 2019-04-29
1573

被折叠的 条评论
为什么被折叠?



