android开发学习日志(其一)
2015的时候安卓开发很火爆,我也看了一些书籍和视频。当时的工具链并没有现在那么完善,而且因为一些众所周知的原因下载谷歌的开发工具非常缓慢,我记得当时装安卓SDK和ADT相关的东西开着电脑跑了一天一夜。开发工具主要用的eclipse,开发语言是Java。最后因为找不到志同道合的伙伴加上自己是是鸽子附体学了个半途而废,学网站开发和php也是后话了。
从业以来立志做全栈程序员,学了html、js、css网页开发这套,加上jq和Vue这里工具库和框架写了几个网站算是半个前端了,然后学了几门脚本语言写了几年接口算入门了个后端。自觉离目标还很远,有必要学一学app和桌面端,最近又重拾安卓开发。最近看下文档和入门视频发现其实安卓开发已经非常成熟和友好了,android studio非常好用,官方主推的kotlin语言也比Java好上手。学了几天下来总结下新手入门的坑:
1、安卓的好多功能都依赖上下文关系(context)比如弹个toast弹窗,发起个网络请求,获取个安卓ID等等。这个上下文关系要从activity中拿,这给我这种习惯封装工具类的人带来了不少麻烦,因为调用封装的函数必须传上下文关系。
2、多线程编程。写php脚本习惯了对多线程只有一些概念,实际用起来需要考虑主线程和子线程的调配。比如发起网络请求的时候主线程activity中不允许任何等待和阻塞行为,post同步请求这类当然不被允许。
3、权限相关。以前看低版本安卓这些问题并没有很规范,自由度很高。现在要列出个公共音乐文件夹还需要单独在XML配置文件里面声明要哪些权限,然后需要弹窗让用户同意否则无法调用。
4、各个版本兼容(碎片化)。需要一些功能的时候就去查资料,但是写出来以后就发现方法被ban了,各个类和库之间直接调用得判断安卓版本再找对应的库和方法。
以上是最近几天的心得,待续。
更多>>