Android 烂笔头

好记性不如烂笔头

本文主要记录日常工作、学习中遇到的Android“琐碎”知识点。
目标:
1、方便日后使用时查询
2、利用空余时间可以对这些知识点进行深入了解并做响应扩展

- intent 安装apk

Android 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 判断是否为同一引用则用另一个

详情:String ==和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、代码块赋值

详情:Arrylist初始化赋值两种方式

- Java InetAddress类

原因: 该类是Java5提供的网络相关类 有isReachable、getAddress等方法用于进行网络ip相关的操作

详情:InetAddress类

- Java String.format()使用

原因:今天读代码遇到String.format()开始以为是格式化string 发现理解有偏差

详情:string.format使用

- Java date判断是否为同一天

原因:业务需要对两个时间戳进行判断是否为同一天 目前看基本思路有两个
一个是通过compareTo(包括string和date)一个是通过Calendar

详情:通过compareTo判断两个date是否为同一天

- 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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值