专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
蚂蚁技术AntTech  ·  语言智能并非自回归机制独有,详解扩散语言模型 ... ·  8 小时前  
程序员的那些事  ·  余承东暗讽某大厂,雷军疑似回应“诋毁是仰望” ... ·  3 天前  
程序员的那些事  ·  国民软件 QQ ... ·  2 天前  
51好读  ›  专栏  ›  程序员大咖

Android新手如何学习开发一款app?

程序员大咖  · 公众号  · 程序员  · 2018-04-05 10:24

正文

请到「今天看啥」查看全文


在讲如何开发一款 app 之前,先说下一定要避免的一些误区。

  • 借鉴与copy

  • 表面与原理

  • 效果与深度


(1)借鉴是为了学习


作为一名 Android 开发新手,在学习开发一款自己的 app 之前,参考一些大牛的项目,进行借鉴与参考是一个很好的捷径。


然而有些新手上手就开始撸代码,看着一脸懵逼的代码,不明所以,想着不管三七二十一,敲着敲着就明白了。结果,最后一出 bug 就懵逼了,丝毫不理解项目的结构与框架,更不提其中的技术难点。


所以不要盲目地 copy,磨刀不误砍柴工,要像看源码一样学习项目。先理清项目中的结构,使用的框架,每个类的功能,以及使用到的技术点,庖丁解牛,逐个拆分学习,化为一个个的技术问题,这样才能最终转化为自己的知识。


(2)从表面深入原理


针对具体的技术实现,不要仅仅以实现为目的,更不要仅仅因为实现了一些炫酷的 UI 效果而沾沾自喜。


对于一些技术,要知其然,更要知其所以然。比如:进程间通信的实现方式 AIDL,可能照着一些模板就可以实现,达到目的。再比如说:RecyclerView 或 ListView,按照一定的方法就可以快速实现列表布局。


然而这些实现不仅在一个项目或一处使用,而是频繁高发的实现,将来也更是工作或面试中会遇到的。所以我们要透过表面学习原理,在开发一款app 的同时,通过这种方式激励自己加深对技术的理解与实际应用。


比如,针对 AIDL 理解 binder 机制的实现,更进一步理解 android 中的进程间通信方式。针对 RecyclerView 或 ListView,理解复用机制以及如何定制化实现一些特殊的效果,加深我们自己的技术深度。


(3)不盲目追求效果


Android 开发的乐趣在于可以自己实现 app 的开发,用技术创造体验。


然而正是这种乐趣可能会导致一些新手盲目注重UI实现效果,而忽略自身的技术学习。有时候技术学习与效果并不冲突,然而在自己独立开发app,学习技术的过程中,可以适当较少对 UI 效果的追求,专注于对技术的追求与学习。


当然完美主义者(强迫症)会不知觉地倾斜,但也请保持平衡。



二、准备工作







请到「今天看啥」查看全文