41
回答
高手问答第 183 期 — 十年开发老兵带来 Android 开发实战分享
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

OSCHINA 本期高手问答(12 月 27 日 - 1 月 2 日)我们请来了欧阳燊老师@ouyangshen 和大家一起探讨关于 Android 开发和 Android Studio 使用的问题。

欧阳燊,浙江大学软件工程专业工程硕士,毕业以后先后就职于福建新大陆软件工程公司、亚信科技有限公司杭州研发中心、福建福诺移动通信技术有限公司,担任系统分析师、高级软件工程师。有 13 年以上软件开发经验,熟悉 C/C++、Java、Android 开发及相关软件架构,热爱技术分享,著有技术书籍《Android Studio开发实战:从零基础到App上线》。

欧阳老师从事软件开发工作十几年,期间经历了多次编程方向的转型,先从 C/C++ 开发转向 Java 开发,再从 Java 开发转向 Android 开发,对于 Android 开发涉及到的编程语言都十分熟悉,本期高手问答十分有幸邀请到欧阳老师,欢迎大家踊跃提问。

本期问答内容:

  • Android Studio 的使用
  • Android App 的开发
  • Android App 的优化手段
  • Android 开发者的职业规划
  • Android 开发的未来发展
  • 优秀的 Android 开源项目推荐

或有其他关于 Android 开发和 Android Studio 实战使用的问题,也欢迎大家积极提问!

为了鼓励踊跃提问,@局长 会在问答结束后从提问者中抽取 5 名幸运会员赠予《Android Studio开发实战:从零基础到App上线》一书。

图书购买地址:京东当当天猫

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就相关问题向欧阳老师提问,请直接回帖提问。

举报
局长
发帖于4个月前 41回/3K+阅
共有41个答案 最后回答: 3个月前

高手问答第 183 期 — 十年开发老兵带来 Android 开发实战分享

@肖申克救赎 @宝富@我心中有猛狗 @ff100 @开源中国首席圣杯守护者Saber

恭喜以上五位用户获得《Android Studio开发实战:从零基础到App上线》图书一本

请尽快私信@局长  告知快递信息(格式:姓名+电话+地址),感谢支持~

--- 共有 8 条评论 ---
局长 回复 @ff100 : cool,抱歉让你久等了 3个月前 回复
ff100收到书了。 3个月前 回复
我心中有猛狗@ff100 回复@ff100 : 没有 3个月前 回复
ff100 回复 @我心中有猛狗 : 你的书收到了么? 3个月前 回复
ff100@局长 书还没有收到。能把快递单号给一下。 3个月前 回复
做安卓开发好几年了,好迷茫,不知道以后的路在哪里,能给个建议吗
--- 共有 1 条评论 ---
ouyangshen你觉得迷茫是对哪个方面迷茫呢?对技术瓶颈迷茫还是对个人发展迷茫还是对家庭生活迷茫?如果对技术瓶颈迷茫,可以主动跟进技术发展趋势比如android系统原理、kotlin开发等等;如果对个人发展迷茫,可以想想你的优势和意愿是什么,是想往管理发展还是继续技术路线还是往产品发展?如果对家庭生活迷茫,可以考虑一下你是想离家近一点还是工作轻松一点还是工资拿的多一点?对症下药才好解决你的迷茫 4个月前 回复

@ouyangshen 做开发很多年了,如何断掉经常百度、google毛病?

--- 共有 1 条评论 ---
ouyangshen经常百度、google说明你的技术知识还不成体系,建议你开个技术博客,每次解决问题之后就在博客上面发表文章总结,也可以对经常用到的知识点发表文章进行归纳,坚持一段时间之后,相当一部分问题都能在你的博客上面找到答案,这样属于你自己的技术知识体系就慢慢建立起来了。 4个月前 回复

@ouyangshen 在一些移动应用中大部分功能前端的框架都可以满足了, android的开发是否会受到排挤? android开发者如何面对这样的压力另辟蹊径? 现在有点迷茫 , 非常感谢

--- 共有 2 条评论 ---
前冲 回复 @ouyangshen : 非常感谢, 顿悟了 4个月前 回复
ouyangshen只要在Android设备上开发应用,就离不开Android开发,就Android这块而言,开发者还有很多工作要做,比如: 1、Android8的新特性你都了解吗?Android8会对应用的兼容性产生哪些影响? 2、AndroidStudio3已经集成了Kotlin开发环境,你用过Kotlin吗? 3、Android在电视、汽车、可穿戴设备上面的开发,你有尝试过吗? 4个月前 回复

@ouyangshen 您好!最近在研究Android的网络编程,使用了网络请求框架 Retrofit,很强大,使用上也很简单,但我看您的书中并没有这方面的介绍,是否Retrofit 框架使用不是很广泛?还有其他的值得推荐的网络框架吗?。另外,在线程异步中,AsyncTask调用需要注意什么?对RxJava这个库,您怎么看,值得学习吗?

--- 共有 4 条评论 ---
ouyangshen 回复 @myw31415926 : RxJava与AsyncTask都能实现异步操作,每个开发者的偏好不尽相同,只要能实现业务需求即可。如果说到代码的简洁,Kotlin的doAsync在异步处理上只要寥寥几行。 4个月前 回复
myw31415926 回复 @ouyangshen : 那项目中能否用 RxJava 来替代 AsyncTask,感觉 RxJava 使用要简单一些? 4个月前 回复
myw31415926 回复 @ouyangshen : 原来如此,那更想看看这本书了,基础知识还是很重要的,谢谢! 4个月前 回复
ouyangshen第三方网络框架有Android-Async-Http、Volley、OkHttp、Retrofit等等,本书侧重于介绍Android自有SDK的开发,未介绍第三方开源库的使用,其实这些网络框架的底层都是用HttpURLConnection实现的。 AsyncTask需注意系统给它分配的线程池数量是有限的,如果异步任务个数超过线程池容量,后面进来的任务就要排队等待。 4个月前 回复

@ouyangshen

欧阳老师好!

您有十三年的从业经验,您对软件工程师职业生涯有没有什么经验和建议?软件工程师工作十年之后是否需要转型? 怎么转?

--- 共有 3 条评论 ---
ouyangshen 回复 @东风玖哥 : 合格的技术专家和架构师要会写核心代码,但不是整天写代码,因为做系统架构还要建模、画图、写文档、开各种会、指导程序员等等,忙得很。技术经理还有一种发展方向,就是去做售前,这个岗位就不用写代码了,主要卖口才。 4个月前 回复
东风玖哥 回复 @ouyangshen : 可是技术经理,乃至技术经理发展方向技术专家和架构师不也是程序员吗?整天写代码 4个月前 回复
ouyangshen程序员有三种发展方向:项目经理、技术经理、产品经理,当然也可能三个经理都没混上依旧是个程序员。但即便是经理也有风险,比如行业的周期兴衰、技术的更新换代、生活方式的变迁都会影响,像中兴员工跳楼事件,都做到中层也有股份了,结果行业不景气也被裁员。“只要你怎么做就能转型成功”,这类充分条件并没有统一标准,我只说说转型成功的必要条件:健康的身体、正确的三观、足够大的格局、积极向上的心灵、能够付诸行动的毅力 4个月前 回复

@ouyangshen

系统架构要怎么设计?

--- 共有 1 条评论 ---
ouyangshen首先依据这个项目的业务需要,选择是主要采用原生开发,还是采用混合开发框架;然后根据业务复杂度与热更新要求,决定是否采取插件化框架,还是采取敏捷开发模式;接着对常用的第三方开源库进行选型,比如网络框架要用哪个,图片缓存框架要用哪个,数据库框架要用哪个;最后对具体的业务模块进行功能划分,分配给每个开发人员开展详细设计。 4个月前 回复

@ouyangshen 听了你对技术专家、架构师、技术经理的区别的讨论,我受益匪浅,另外我想知道书中有对用Android Studio开发C++、Java、JavaScript软件的内容吗?我想给这本书写一篇书评,并做一些补充

--- 共有 1 条评论 ---
ouyangshen本书的编程语言主要采用的就是Java,另外第14章的“14.2 JNI开发”有专门提到了如何在Android中开发C++代码的功能。 4个月前 回复

@ouyangshen 请问欧阳老师如何看待插件化开发,以及插件化未来的发展前景如何?

--- 共有 1 条评论 ---
ouyangshen插件化开发一般用于模块复杂的App,主要的插件化框架有腾讯的Tinker、360的RePlugin、滴滴的VirtualAPK。插件化开发是热更新的一种手段,类似的技术还有ReactNative等混合开发框架,其实它们都是为了满足业务需要的手段而已,不存在孰优孰劣的问题。工作中如果有需要,可以了解掌握一下相关技术,说到发展前景,那就要研究一下它的实现原理,而不仅仅停留在会用的层面,因为原理是相通的 4个月前 回复
顶部