为了账号安全,请及时绑定邮箱和手机立即绑定

【花式填坑第7期】如何开发一款完整的Android App?

【花式填坑第7期】如何开发一款完整的Android App?

慕女神 2017-06-06 12:04:41

http://img1.sycdn.imooc.com/5936280100014db905000423.jpg


花式填坑第7期最新话题:Android  App。


全球有超过二十亿的设备安装Android操作系统。最近,Android之父安迪.鲁宾发布了名叫Essential的新手机,其公司推出了名为“Home”的智能家居枢纽设备,这一举动昭示着Android平台已然扩张到其他领域,App开发变得尤为重要。


如果你对这方面感兴趣,那这一期的话题活动别错过了~~


http://img1.sycdn.imooc.com/593628c9000172cf01730048.jpg

那么,如何开发一款完整的Android APP呢?

在开发过程中,如何设计APP框架?又如何进行敏捷开发?

欢迎参与本期话题,跟老师聊聊在Android开发过程中遇到的那些事儿。


话题交流时间:6月9日--6月11日

话题交流方式:可以先在下方提问,老师会在活动期间一一给大家回复的



http://img1.sycdn.imooc.com/593629470001fdc301730048.jpg

   qiujuer老师个人主页,可点击查看

http://img1.sycdn.imooc.com/5936299900014e3c05000334.jpg

http://img1.sycdn.imooc.com/593629aa000159cd01730048.jpg

  •   什么是坑?

相信每一位热爱学习の小伙伴都曾经遇到过各种各样的问题有待解决,我们称这种悬而未决的问题为坑。在各种各样奇奇怪怪的坑中,不乏深坑、巨坑,甚至是自己亲手挖的坑,但是光挖不填何年何月才能走上人生巅峰?

  •   怎么填?

每期1位大牛老师,围绕本期话题进行答疑与互动讨论

  •   怎么参加?

可根据话题主题在活动页下方进行留言,活动期间老师会为你解答

  • 活动时间结束了还能参与话题讨论吗?

可以。进行话题分享,获取更多答案。


查看完整描述

314 回答

?
Vzer

TA贡献5条经验 获得超54个赞

老师你好,我请教一下。

1. 您对目前Android的就业形势有什么看法吗?

2. 对即将参加秋招的我们,面试时应该具备什么技能知识?(设计模式?计算机网络?数据结构?Java?Android?具体一下深度)

谢谢,老师。


查看完整回答
28 反对 回复 2017-06-07
  • Qiujuer
    Qiujuer
    是不是前面几个问题我没有回复,其他同学都以为没有老师在呀;哈哈哈。 主要是我太忙了,而且回复的时候不是根据排序和时间来的,是看着一个合适的就回复了,到晚上1点了就停止了,连续几天所以现在才来回复前面的,抱歉哈。
  • Qiujuer
    Qiujuer
    首先回答你的第一个问题,对于就业;因为现在Android学习的人非常多,加之近几年培训班的接入导致现在Android市场人员很多,这是体现在中低端开发人员上,所以就业形式肯定更加堪忧;但是因为现在新兴企业的发展,可穿戴,医疗,大数据等方向的加入也让就业得到一定的缓解,所以今年来说就业还不算艰难,自己能够足够优秀就不愁找不到工作;所以目前就业找不到工作的往往都是自己技术本身不够达标,你想企业肯定不愿意招一个什么都不会的程序员呀,对吧;所以强大自己是关键。
  • Qiujuer
    Qiujuer
    对于即将到来的面试,如果你是Android的开发,同时也打算面试Android的相关岗位,这里我贴出一个不错的知识点: 技术: Android 基础: Activity,Frag,Service,XML。 Java 基础:String,StringBuilder,StringBuffer,List,HashMap,Thread,ThreadPool。 Android :UI,自定义控件,界面优化,性能优化,JNI,跨进程传递,SQL。 设计模式:单实例,代理,观察者,工厂模式,适配器模式。 框架模式:MVC,MVP。 算法:冒泡排序,插入排序、选择排序、快速排序、堆排序、归并排序。 相关框架:图片,网络,数据库等。
点击展开后面2
?
D明日边缘

TA贡献18条经验 获得超29个赞

第三方的SDK怎么用好?app的趋势是什么情况?

查看完整回答
14 反对 回复 2017-06-06
点击展开后面3
?
Vzer

TA贡献5条经验 获得超54个赞

请问老师,你对于近期火热的Kotlin有什么看法?我们有必要花时间去学习,然后逐步使用kotlin开发吗?

kotlin 以后真的会代替Java吗?

查看完整回答
10 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    你好,Kotlin是一门优秀的语言,其诞生很多人都说是为了替代Java而来的,这个我是不同意的,因为两者的层次不同,但是场景也不同,所以并不存在什么冲突问题。对于一个APP你可以使用Java写的很好那你就用Java,如果你用Kotlin写的很好那就用Kotlin来搞定就好,看个人能力;而对于常规所说的Kotlin能够简化开发,加快速度这个的确是这样的;但是在Android上最终都会编译为对应JVM的文件,所以本质上和Java编译后的文件一样,甚至会产生更多的文件,这个是可以自己输出测试的哦。所以对于中小项目是可以尝试使用Kotlin来开发,在足够熟练的情况下是可以加快你的开发进度的,当然如果是对于大型项目或者你本身不够熟练那么对于企业项目还是多慎重一些哈。所以使用Kotlin来开发是必然的,应该说共存的可能性较大。 对于最后一点说Kotlin能够替换Java,这个其实是无稽之谈,至少目前来说是这样的,因为Android目前系统还是Java来做的,方法已经固定在哪里了,所以Kotlin无论怎么编译在Android上来说现在还是会和JVM挂钩,所以底子不变的情况下,Java的地位又怎么能够变呢;所以只能说可以做和Java一样的工作,但是还不足以完全替代Java。当然学习一门新语言是不错的,有时间就看看吧,技多不压身,学到了都是自己的!加油,祝愉快~
?
Vzer

TA贡献5条经验 获得超54个赞

老师,你有女朋友吗?

你说课程里告诉我们;我买了课程,现在都快看完了,可你还是没有告诉我们

查看完整回答
9 反对 回复 2017-06-06
  • 百年叔叔
    百年叔叔
    你是不是喜欢老师,喜欢老师就去表白。别在这里说啊
  • Qiujuer
    Qiujuer
    这个问题,说实话是教学给我挖的坑,我录制课程完成了,问题是在上线后问的所以课程中肯定没有啦。所以课程中是找不到的哈,你可以在群里问哈,我一定能够回答的。
  • Qiujuer
    Qiujuer
    怎么样课程学起来还不错的吧?我的课程可是花了我半年时间准备,请加一个月全职录制的,其质量我还是能够保障的哈,知识点也非常多,自己要多多学习哦。 说实话回答你的问题的时候,我还在想是谁在我课程中询问的这个问题,目前这个问题算是点赞最多的一个问题了;祝你学习愉快~
点击展开后面1
?
666丶666

TA贡献2条经验 获得超10个赞

APP中的线程,什么时候需要线程,线程怎么调度和切换?

查看完整回答
7 反对 回复 2017-06-08
?
Manes

TA贡献16条经验 获得超66个赞

老师,推送咋实现?

需要Socket吗?

如何使用socket,需要注意什么?

查看完整回答
7 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    这个问题我会晚点回复的哈,莫急。
  • Qiujuer
    Qiujuer
    首先,推送一般是使用第三方框架来解决,因为第三方框架本身足够优秀,而且支持大数据并发的情况,所以这个选择不错。当然这是说的方法,并不是技术。
?
Pugss3

TA贡献1条经验 获得超7个赞

准备找实习了 现在对实习的能力要求是什么 简历应该怎么写 有什么模版么
查看完整回答
7 反对 回复 2017-06-06
  • qq__2824
    qq__2824
    。。。。。这种问题,百度都有了。。还模版。。。。
  • qq__2824
    qq__2824
    其实老师会问你:吃饭你会吗?哈哈。。
  • Qiujuer
    Qiujuer
    你好,对于实习的能力其实是越优秀越好,但是也知道其实很难找到这样的;所以我们往往会从几个指标来衡量:项目,功底,态度。项目其实就是经验,这个都不多,所以需要注意的是你处理事情的方式。功底就是你对基础的知识掌握的程度,是否足够扎实,不用太多,因为面试官都会把你问倒,除非面试官很渣;所以你需要的就是基础知识弄牢固就是最好的。企业最怕的就是招了一个会吹不会做的人。态度当然这个就是看你对学习,对人,和协作上的一些能力了;大胆一点就好。对于模版,我给你一个地址:http://www.uisdc.com/22-high-end-resume-template,但是我建议的是参考,有自己的风格,因为要是面试和别人拿了一样的那就不好办了。
点击展开后面1
?
nineHt

TA贡献1条经验 获得超7个赞

老师你好,一款APP从开发到上线运行,中间需要的步骤大概可以归纳为几点?
查看完整回答
7 反对 回复 2017-06-06
  • Qiujuer
    Qiujuer
    你好,多谢你提问;一遍对于一个app需要经过:需求分析、需求确认、技术预研、开工大会、开发、沟通,初期版本、前后连调、测试、上线、迭代版本 的过程。当然其中关于一些细节还可以细分,具体的取决于一个公司的具体情况。不同公司有不同的决策,或者走敏捷开发的流程等等,所以只能作为参考。祝愉快。
  • nineHt
    nineHt
    谢谢老师
?
cfyr

TA贡献51条经验 获得超33个赞

APP中的图片、网络、数据库这几个大头该如何解决相关问题?

查看完整回答
6 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    同学你好,对于这几个大头我不建议在技术储备不够的情况下自己去完成,因为一旦处理不当只会给自己带来烦恼,同时也会带来更多的错误。我建议使用现在比较成熟的框架来解决,比如Glide,DbFlow,OkHttp等框架都是值得使用和参考的。如果自己要另外开发一定需要衡量当前的业务以做考虑。祝愉快~
?
佺栈攻城狮

TA贡献3条经验 获得超9个赞

老师 一款类似ofo共享单车的 app从制作到上线需要多久

查看完整回答
6 反对 回复 2017-06-07
  • Qiujuer
    Qiujuer
    你好,这个问题我相信很多同学都有这样的问题,但是这样的问题往往又比较难回复,因为团队人数和能力往往是不等的;所以回答出来并不一定准确。只能大概推断“人天”(1人1天)来算,这里我就按照中等水平的能力来说(因为这个共享单车app难点在服务器,不在手机端)大约需要70人天左右,也就是两个小伙伴一起加紧做就1个月多一些就完成了。当然这个是在有设计有参考物(单车软件)来说的。 哦,我才看了前面说的是摩拜的,ofo的话至多55人天就差不多了。
?
为木

TA贡献1条经验 获得超7个赞

初级安卓工程师至少应该掌握哪些知识呢

查看完整回答
7 反对 回复 2017-06-06
  • Qiujuer
    Qiujuer
    非常抱歉,这么晚回复你的问题。对于初级Android来说其实需要懂的不需要太深,但是知识点需要足够全面;简单来说就是你不需要理解到控件的底层实现,你也不需要知道一个UI的操作纠结发生了什么,但是你需要知道我们的Android是怎样的体系,是由那些部分构成,怎么才能作出一个app即可。我在这里给你贴出一个表: Android 基础: Activity,Frag,Service,XML Java 基础:String,StringBuilder,StringBuffer,List,HashMap,Thread,ThreadPool Android :UI,自定义控件,界面优化,性能优化,JNI,跨进程传递,SQL 设计模式:单实例,代理,观察者,工厂模式,适配器模式 框架模式:MVC,MVP 算法:冒泡排序,插入排序、选择排序、快速排序、堆排序、归并排序 上面的就是初中级别需要知道的一些常见的内容,你可以对照着去完善你的知识点,当然你也可以先去工作,在工作中去完善这些。多谢你的提问,祝愉快~
  • 为木
    为木
    谢谢老师
?
Vzer

TA贡献5条经验 获得超54个赞

最近,关于程序员职业规划的问题也很火热。老师你能说说你的职业规划吗?

查看完整回答
4 反对 回复 2017-06-10
?
7zzz

TA贡献18条经验 获得超26个赞

如何进行代码迭代管理?

查看完整回答
4 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    Hello,你好,对于代码迭代管理以前我们习惯使用SVN,但是近几年已经渐渐被Git所替代,所以学习Git是个不错的选择。当然Git只是操作,具体的代码迭代需要做的是:分包,分模块,分功能点进行开发,建立分支,开发,测试,再合并分支;上面说的是一个简单的流程。这里就宣传我的课程了,我的IM实战课程中就有这样的内容讲解哦,希望你能加入来看看,绝对让你非常满意的哈。祝你学习愉快~
?
8hn4

TA贡献37条经验 获得超40个赞

如何进行APP质量把控?

查看完整回答
5 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    对于app质量的把控,有多种方法,最有效的是要保障你的团队不是你一个人,因为一个人的情况下想怎么搞就怎么搞,根本没有把控一说,只能自己自觉了。如果方便可以把项目公开给所有人检验。当然2个人及其以上的情况有多种方案,一种是相互审核叫做review操作;而如果两者技术相差较大,或者说有一个技术足够OK的老大,可以叫老大帮忙经行代码品控处理。如果都不满足上面需求,真的就是一个人,那么你可以多多看看优秀的项目,参考其中的涉及和代码规范,尽可能去模仿,去超越。 其实这个本身就有一个捷径,那就是从自我做起,自己在做代码的时候多一个洁癖的心里,多想怎么样更好,怎样才优秀,另外自己的方法和变量命名一定要足够优秀,拒绝name1,name2这样的命名出现,当你的基础做好了,代码看起来自然更美,更优秀。祝你愉快~~
?
慕名学课

TA贡献1条经验 获得超4个赞

请问老师项目中准备使用第三方开源库时,如何进行技术选型呢?


在决定使用第三方开源库时,碰到的问题:

1. 如何找到优质第三方开源库?

2. 如何尽可能减少成本的对比开源库优劣,并快速上手?


查看完整回答
4 反对 回复 2017-06-07
  • Qiujuer
    Qiujuer
    多谢你的提问;一般来说找开源库有几个技术点:代码质量、性能、内存、功能、健壮性。性能和内存这个可以直接测试对比拿到,而对于健壮性和代码质量这个真的只能通过不断的尝试和查看开源的代码来决定。在这里有必要说的是,很多国内的开源库往往都是吹的热闹,但是代码其实是非常糟糕的,至少能轻易的找出BUG和不足,这样的库往往都是因为宣传得当导致扩散的很多,而使用的人又不看源码实现所以就被掩盖了。所以我选型库,一般都是优先国外大厂的:Facebook Google... 等,你也可以参考。如果到了要使用非大厂的库的时候一定要记住的是看看这个库的代码实现,别去受所谓的名气和star影响。至于快速上手就只能看对应的官方文档了,这个如果官方文档写的OK那就非常简单的;如果有这些方面的咨询可以联系我,我给你推荐推荐。祝愉快~
?
Vzer

TA贡献5条经验 获得超54个赞

最近,机器学习火了,Google的下一步 目标也是AI。人工智能似乎也是未来发展所需。老师能说说你对AI未来发展形势的看法吗?这是否也意味着,市场会对后端人才的需求会逐步增大?

查看完整回答
3 反对 回复 2017-06-09
  • Qiujuer
    Qiujuer
    如你所想,人工智能一定会是今后的一个发展方向,但是说实话人工智能是一个大的概念,这个非一人能够搞定,是需要一个大团队有一定的积累才行。当然人工智能并不局限与AI这些方向,还有自动化,机械化,物联网等相关的产物也都可以和人工智能挂钩上的。从一定程度上来说后端大数据开发是一个热门,我有好些朋友在这些领域都有不错的建树,工资待遇都是非常高的,可以看出后端开发的确是一个重点。当然这里说重点,其实并不是说其具有统治地位,因为人工智能其实要发展起来是需要大量的终端设备的其中一定会有Android的一席之地,所以Android也不会说短期就垮掉的,只会说以后的开发会越来越要求高,努力提升自己能力是关键点。多谢你的提问,祝愉快~
?
Soar_

TA贡献1条经验 获得超3个赞

老师,现在有什么简单实用的安卓快速开发框架吗?

查看完整回答
3 反对 回复 2017-06-09
  • Qiujuer
    Qiujuer
    Hello,同学你好,其实提这个问题的实话就是非常dangerous的哦,当然这不是在贬低也不是在说你不该,因为我曾经和你一样,也曾是这么想的,我就在想要如何开发Android才能快点啊,有没有框架啊~~后来我才知道要是我一直这么下去一定没有现在的成就;为什么呢?因为当你这么想的时候其实是非常想要一个快速简单的框架的,当你找到这样的框架的时候你就用了,然后开发了,然后爽了,但是你就被框架框住了,你的进步就会很慢,你的学习就会受这些的影响。当然现在很多公司都是要求快速开发快速开发,所以也就导致了大家都去学习一些框架来进行快速开发,等你能快速开发的时候你会发现你会的东西其实寥寥无几。就拿曾经很火现在也不错的EventBus来说,当时大家都去学习,感觉这就是尚方宝剑一样,有了他什么都可以了,当时招人的时候都会问:“会EventBus么?”回答的朋友也一定是进行了精心准备,甚至都知道原理。OK,现在来看,其实EventBus也就是那么个东西,谁又能知道现在的okhttp,rxjava能火起来呢?在这里没有贬低任何一方,也不偏袒,在我看来其实都不是必须,没有这些我项目依然很好,甚至更好。要记住一句话:“用框架的人不牛B,生产框架的人才牛B!”,遇到了框架,如果框架真的很好也能为你减轻负担那就用就好,别有负担,框架嘛就是为了减轻负担的;但是我更加希望你能学习框架的原理,做一个能生产有意义的框架的人。没有什么能比创造更有意义了,我相信你也能的,加油!! 祝你学习愉快~
  • Soar_
    Soar_
    感谢老师!
?
__innocence

TA贡献369条经验 获得超290个赞

现在的安卓开发,原生安卓和H5,各自的前景如何?

查看完整回答
3 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    同学,你好,对于原生和H5其实没有谁更好,谁不好,只是适用场景不同。原生一般开发的都是一些更加注重体验注重性能的app,常见的就是你手机里边所有原始的应用基本上都是原生的。而对于H5更多的是用于我们的Web开发,适用的范围一般是电商的比较多,因为电商需要经常更改,这种情况下使用H5会更好,因为每次产品更新,节日活动不用更改app就可以完成。所有H5是电商的利器;所有具体的就要看公司的性质了,如果公司偏向电商那就是H5的会更多,而对于面向设备的一些开发基本上都是使用的原生Android开发了。两者并不冲突,相铺相成,就看你的喜欢都是可以的哈。祝周日愉快~
?
笑笑笑你3872606

TA贡献1条经验 获得超2个赞

。。。刚好想发错地方了,看您的android项目中用到了好多个model,我比较喜欢多建几个包,给我带来的好处没怎么体会到啊,反而我添加依赖的时候各种麻烦,想请您讲解一下为什么项目中要用多个modle引用

查看完整回答
2 反对 回复 2017-06-09
?
奶油味的葱

TA贡献6条经验 获得超12个赞

在校学到什么地步 就可以胜任安卓工程师的工作


查看完整回答
2 反对 回复 2017-06-08
  • Qiujuer
    Qiujuer
    同学,这个问题就尴尬了哈。要在学校学到什么地步才能胜任任何工作,这个我可以保证的说,暂时没有任何人能胜任任何工作,人的精力本就有限,不可能什么都懂,就算是懂 但是也不能样样精通。所以不能达到任何职位的要求。另外学校学习的在我看来其实都是引子算是一个开始,具体的发展需要自己去学习,这个学习如果是随意的学习那么时间耗费会很长,而如果是和实践结合,一边工作一边来就会加快进度,当然加快进度也就意味着精通,但并不能全知,即便如此我还是倾向于从实践中去学习进步。祝愉快。
首页上一页1234567下一页尾页

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信