MySQL降龙十八掌,第六掌内容:利涉大川之MySQL索引的使用与优化(附含MySQL8.0隐藏索引),了解详情>>
0

我的帖子

个人中心

设置

  发新话题
      各位即将踏入或正在Android开发路上的攻城狮们,为了促进开发者之间的交流,互相学习,共同进步,特开此贴。欢迎大家回帖提问。

本帖问题回答范围:1. Android应用开发技术
                                2. 如何提升用户体验
                                3. Android工程师的生涯发展


备注:如果涉及到具体的代码问题,提问的时候注意带上开发环境,贴上错误代码并附上截图。


个人简介:
    隋雨辰,Android技术普及的推动者,希望促进开发者之间的交流,帮助开发者少走弯路。
    Android技术专家,厦门新博教育科技联合创始人。曾在华为先后担任项目经理和系统工程师。曾任某移动互联网创业公司技术主管。带领团队成功开发了国内首款平板软件商店、平板桌面等8款应用。9年软件研发、项目管理经验。4年Android开发经验。三年企业内训和就业培训经验。企业内训的客户有包括工商银行北京研发中心、兴业证券研发部、中国电信珠海研发部等多家大中型企业及移动互联创业公司,培训过的学生超过600人。

联系方式:
Email:suiyuchen2001@gmail.com
微博:http://weibo.com/suiyuchen
博客:http://yuchen.blog.51cto.com




本帖最后由 suiyuchen 于 2013-12-15 12:13 编辑
好,先来顶一个。想问老师一个关于个人android发展的困惑。
  我是去年开始4月份学的java,之后十月份开始学了android,做了7个多学的开发,也就是做过两三个商业项目,然后现在在一个公司做android自动化测试。以后也想着继续做开发,只是现在在android学习上迷茫了起来,不知道该怎么学下去,简单的应用能做一点,牵涉到底层就不会了。我不是软件专业的学生,数据结构这类的都没学过,只能说现在只会一点java和android。想深入发展就不知道该怎么进行下去。也想学习一点数据结构,编程思想 ,或者android底层的东西,但是不知道该怎么学习,该看些什么书?怎样学习效率才高一点。。。。。
   请老师指点一下。不胜感激。



引用:
原帖由 风泊海上 于 2012-8-27 15:27 发表
好,先来顶一个。想问老师一个关于个人android发展的困惑。
  我是去年开始4月份学的java,之后十月份开始学了android,做了7个多学的开发,也就是做过两三个商业项目,然后现在在一个公司做android自动化测试。以后也想着继续 ...
你的问题里包含了几个问题。
首先确定方向,是否要做开发,是否选择Android。
如果确定了,想方法找资料去补充知识,提升能力。

你自学过JAVA和Android,同时也有一些Android项目经验,如果有机会,建议选择开发岗位。
这并不是说测试不好,而是目前国内的现状,平均来看,测试的待遇和发展潜力是不如开发的。

后面一点,也是很多初学者的误区,认为做开发需要了解数据结构、编程思想等知识才行,而自己不是科班出身,恐怕未来无法胜任开发工作。
这是不需要担心的。软件开发大体可分两类,一类是面向开发者的软件,比如JDK、Android SDK等等的开发工具,另一类是面向用户的,比如Android应用工程师。绝大多数开发者做的是应用软件,面向的是普通用户,对于这类开发者,重要的是业务领域知识以及SDK的用法。对于大多数应用开发工程师而言,只要会使用SDK里提供的数据结构、算法就可以了。
要了解底层、编程思想、数据结构、算法等等,这些对SDK的开发者来说才是有直接价值的。他们是需要的。但如果要成为一个高手,你说的这些知识当然也要有,但不是初中级开发者必须具备的。

最后一点,高效率的学习方法,我的经验是,最好是有经验的人教你,其次是看视频,最后是看书。编程是一项技能,跟游泳开车一样,提升技能最重要的不是背诵理论,而在于反复实践,达到孰能生巧。

目前主流的技术体系里,JAVA EE、.net php 嵌入式 iOS Android,Android和iOS是非常适合初中级开发者选择的,至少在3年内,是很好的选择,无论前途还是钱途。
最后,祝你的学习之路顺利,早日成为Android高手!



引用:
原帖由 suiyuchen 于 2012-8-27 16:11 发表

你的问题里包含了几个问题。
首先确定方向,是否要做开发,是否选择Android。
如果确定了,想方法找资料去补充知识,提升能力。

你自学过JAVA和Android,同时也有一些Android项目经验,如果有机会,建议选择开发岗位。
这并不是 ...
感谢老师,这么详细的分析指点。我的目标是很明确的,以后做软件就是做android开发,现在选择测试,主要是当初面试时一个妥协吧,毕竟android测试要求没开发高,空余时间也很多,也想趁这段时间能再深入一下学习一下开发,以后再找开发工作,比较有底气一点。。。但是,就是迷茫在不知道怎么学习下去了,开发书本,视频都有,只是没有有些浮躁了,没有项目驱动,学习起来很慢,也不知道做什么项目能收获大一点,也就产生了这样的困惑。。。



引用:
原帖由 风泊海上 于 2012-8-27 16:25 发表

感谢老师,这么详细的分析指点。我的目标是很明确的,以后做软件就是做android开发,现在选择测试,主要是当初面试时一个妥协吧,毕竟android测试要求没开发高,空余时间也很多,也想趁这段时间能再深入一下学习一下开发,以后再找 ...
不客气。

基础学差不多之后,可以自己做些项目。
项目选择有几种方法:
1. 做在线音乐播放器,课参照Jamendo,网上有分析的文章。
   好处:涉及到的Android开发知识较多,是一个很好的练手的项目
2. 如果有目标公司或目标行业,可以做一个类似他们产品的客户端。
   好处:如果有机会去了这样的公司,面试问的技术你可以回答得比较好。
3. 选择有视频或分析文档的项目去开发
   好处:项目开发中比较耗时的就是不知道某个功能怎么做,或者遇到问题难以解决。如果有参考,你可以节省很多时间。



引用:
原帖由 suiyuchen 于 2012-8-27 16:59 发表

不客气。

基础学差不多之后,可以自己做些项目。
项目选择有几种方法:
1. 做在线音乐播放器,课参照Jamendo,网上有分析的文章。
   好处:涉及到的Android开发知识较多,是一个很好的练手的项目
2. 如果有目标公司或目标行业 ...
嗯,谢谢老师了,思路确实清晰了不少。



才看到有这贴啊~ 想问老师一个问题

对于有一定Java基础的人  没有安卓开发经验

想要投身安卓开发,应聘安卓工程师之前应掌握哪些基础知识才行

或者说要如何自学到能够去应聘安卓工程师的程度



引用:
原帖由 blamemaster 于 2012-8-28 09:18 发表
才看到有这贴啊~ 想问老师一个问题

对于有一定Java基础的人  没有安卓开发经验

想要投身安卓开发,应聘安卓工程师之前应掌握哪些基础知识才行

或者说要如何自学到能够去应聘安卓工程师的程度 ...
先看你在哪个城市。
一线城市大部分企业要找成手,也就是来了就能干活的人。
二线城市有些企业正在转向移动互联的话,只要你有开发经验,有初级基础,有意向要转,有些企业也接受。
不是绝对,比例不同而已。

你这种情况基本上是要靠自学了, 首先要入门,请参考我的帖子:Android自学路线图 http://bbs.51cto.com/thread-944411-1.html
好在网上有很多视频,可以去看,重要的是练习,不断的练习。平时遇到什么问题也欢迎到我们论坛来提问。
Android基础要大概过一遍。
然后就开始做项目。找Android工作要带上自己的项目,一定要有Android手机,可以拿来给面试官演示。

如果仍然没有办法短期内进入安卓领域,你投身安卓的策略可以转换一下,比如先稍稍降低身价进入一家中小型企业,极度缺人又想低薪招聘,成功率高一些。有经验之后身价就重新涨起来了,并且肯定会超过你现在的待遇。

另外前面的回答你也可以参考。
最后祝你成功,早日成为Android开发者中的一员!




本帖最后由 suiyuchen 于 2012-8-28 10:26 编辑
引用:
原帖由 suiyuchen 于 2012-8-28 10:24 发表

先看你在哪个城市。
一线城市大部分企业要找成手,也就是来了就能干活的人。
二线城市有些企业正在转向移动互联的话,只要你有开发经验,有初级基础,有意向要转,有些企业也接受。
不是绝对,比例不同而已。

你这种情况基本上 ...
感谢老师的详细回答  非常清晰了

我在一线城市,这事儿比较难办啊,确实还是先学基础,然后从中小企业做起了!

感谢老师的指导!



老师您好!我现在来公司实习。本来是对android很有兴趣,准备投身于Android这个方向,通过学校的介绍来到这个公司做,本来安排是做Android的,做了一段时间后,公司说学生做不安全!然后要我们做.net方向,.net本人从没有学过。现在比较迷茫,我是要放弃这次实习机会去学自己的Android还的继续留在公司做.net呢?专科生,学历低,无奈!



引用:
原帖由 longfu2012 于 2012-8-28 11:28 发表
老师您好!我现在来公司实习。本来是对android很有兴趣,准备投身于Android这个方向,通过学校的介绍来到这个公司做,本来安排是做Android的,做了一段时间后,公司说学生做不安全!然后要我们做.net方向,.net本人从没有学过。现在 ...
先大致了解一下你的情况,现在是大学最后一年吧,做Android实习多久了?实习前有过哪些自学经历没有?



老师您好,
我最近想学习安卓开发,却不知道怎么下手
以前有过学习C的经验,擅长的还是网络和linux
不知道对学习安卓开发有没有帮助,如果有帮助,对于我这种新手又从哪些方面开始下手学习呢?
谢谢老师。



引用:
原帖由 bone0528 于 2012-8-28 13:08 发表
老师您好,
我最近想学习安卓开发,却不知道怎么下手
以前有过学习C的经验,擅长的还是网络和linux
不知道对学习安卓开发有没有帮助,如果有帮助,对于我这种新手又从哪些方面开始下手学习呢?
谢谢老师。 ...
Android开发职位主要分两块,一个是应用开发,需要掌握的技术是JAVA SE + Android SDK,另一个是驱动开发,技术是c语言,做的是linux驱动开发。

Android应用职位需求人数相对较多,开发者要经常跟UI打交道。
驱动开发主要是硬件厂商或手机设计公司需要,主要是调试驱动,主要跟硬件打交道。

如果学应用开发的话,参见Android自学路线图 http://bbs.51cto.com/thread-944411-1.html
看你的个人兴趣了,两个方向都可以



引用:
原帖由 suiyuchen 于 2012-8-28 14:09 发表

Android开发职位主要分两块,一个是应用开发,需要掌握的技术是JAVA SE + Android SDK,另一个是驱动开发,技术是c语言,做的是linux驱动开发。

Android应用职位需求人数相对较多,开发者要经常跟UI打交道。
驱动开发主要是硬 ...
隋老师,就是厉害。。。。。。
想问下 隋老师,做驱动开发,linux驱动的,需要什么专业知识啊?
你认为学习路线是怎么样的呢?
谢谢隋老师答复。



引用:
原帖由 aiguo1999 于 2012-8-28 14:49 发表

隋老师,就是厉害。。。。。。
想问下 隋老师,做驱动开发,linux驱动的,需要什么专业知识啊?
你认为学习路线是怎么样的呢?
谢谢隋老师答复。 ...
要有c语言开发基础,然后学习Linux的驱动开发,往上走就要分析内核了。
在Linux系统上开发,陷阱还是很多的,勤上网找资料或找高手请教。
市面上比较流行arm,开发调试最好有块开发板,可以买二手的。
书籍可以看《Linux设备驱动》第三版




本帖最后由 suiyuchen 于 2012-8-28 16:00 编辑
谢谢老师,我也是初学者,andriod开发前景不错,因此考虑往这方面发展,我是学计算机专业的,不过主攻方向为网络及软件应用,因此软件开发这块有点欠缺,需要如何补救呢?什么C,C++,数据结构,JAVA都学过,应该有所帮助,最近在学习做些小的项目,因此想请老师推荐几本经典教程或者书籍,可以快速入手,谢谢!



引用:
原帖由 langmanyingh 于 2012-9-1 22:59 发表
谢谢老师,我也是初学者,andriod开发前景不错,因此考虑往这方面发展,我是学计算机专业的,不过主攻方向为网络及软件应用,因此软件开发这块有点欠缺,需要如何补救呢?什么C,C++,数据结构,JAVA都学过,应该有所帮助,最近在学习做些小的 ...
Android应用开发学习路线,参见Android自学路线图 http://bbs.51cto.com/thread-944411-1.html

市面上的书籍绝大多数都是教你API的使用,书籍内容的编排不太系统,先后顺序不是很合理,难易内容混杂在一起,更重要的是缺少思考问题的思路,对于初学者看书经常会晕掉。如果推荐的话可以看《Android应用开发揭秘》,游戏部分可以先不看。
对于初学者,建议看视频,有讲解会稍好一些,比如Mars的,虽然比较浅,但正好适合初学者。




本帖最后由 suiyuchen 于 2012-9-3 10:19 编辑
老师您好 刚从学校出来 会发现在学校学的东西很少能用的上 所以我想确定下以后的发展方向 下面三个方向都有兴趣 不知道怎么取舍 想听听老师的意见
一是学习移动开发 这方面 已经学的有C 数据结构 算法 java学了一点(但没C好)
二是嵌入式开发  已经学的有Linux  会大致的操作 命令 架设些简单的服务器
三是做网站开发  这方面基本不会 但是听说这个好学 起点低
希望老师给点建议



引用:
原帖由 颖川才子 于 2012-9-5 21:40 发表
老师您好 刚从学校出来 会发现在学校学的东西很少能用的上 所以我想确定下以后的发展方向 下面三个方向都有兴趣 不知道怎么取舍 想听听老师的意见
一是学习移动开发 这方面 已经学的有C 数据结构 算法 java学了一点( ...
1. 移动开发主要指的是智能设备应用的开发,目前最热门的就是Android和iOS。
2. Android的驱动开发属于嵌入式,和以前的Linux驱动实质是一样的。
3. 网站开发是在iOS和Android设备出来之前开发者最多的领域,Android之前绝大部分JAVA开发者做的是网站开发,其他还有.net和PHP等。

三者之间的优缺点比较:
1. 移动开发
优点:处于新一波机会的中前期,未来三年内还有很多创业和高速发展的机会。
      作为开发者参与其中,如果抓住机会,会给自己的职业生涯提速。
      待遇是目前开发领域里相对较高的。
缺点:因为开发的产品直接被用户使用,UI修改的频率较高,也就是令开发者头痛的需求频繁变更,你要做好准备。

2. 嵌入式
优点:通常到硬件设备厂商、手机解决方案设计公司等去工作。待遇比较高
缺点:机会较应用开发要少,自学的门槛较应用开发高一些

3. 网站
优点:工作机会最多,未来无论走技术方向还是管理方向都有很多机会,可以了解网站后台架构,框架、高性能等等移动前端应用涉及较少的知识。项目管理的机会也很多,因为开发者较多,而做移动应用的团队通常两三个人,向上升迁的通道比较狭窄。
缺点:同样因为开发者较多,竞争相对激烈。同时这已经软件开发中非常成熟的领域了,高速发展的阶段已经过去,不过云计算是个不错的领域。未来就是“云” + “端的世界。

总结一下:
1. 喜欢玩手机,做出的应用被几十万上百万用户使用,感觉非常有成就感,不怕需求变来变去,那就选Android或iOS吧,前期二选一,后期要通吃。

2. 在深圳或北京,想闷声赚大钱,对Linux操作系统感兴趣,喜欢研究硬件相关的东西,自己没事儿捣鼓捣鼓ARM开发板,就选嵌入式,去深圳的话,以后自己弄个小工厂也说不定

3. 向往架构师,对架构或各种各样的网站开发技术感兴趣,或者感觉自己技术不是很牛,但喜欢这个行业,沟通能力不错,向项目经理方向发展,那么就选择网站开发吧。



纯顶帖的,版主很不错。回复很及时而且很详尽!真的不错:)



‹‹ 上一贴:Android Studio中实时显示代码帮助信息   |   下一贴:关于html5和安卓开发的问题? ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com