Android初学者的疑惑与“死板”的Android初学之路

今天11点多的时候刷新了一下自己的博客,发现已经被CSDN授予了“博客专家”称号。作为一个自学的一年多的大二学生来讲,这对我真是莫大的鼓励,真是感谢CSDN!在此,也是分享一下自己的经历,希望能够给初学者以及后辈们一些帮助。

(右图为读者目前知识树)

   


个人经历:

专业:

普通本一计算机科学与技术专业(没有开设Android课,自学)

大一上:

学校ACM OJ刷300+道题(仅认为算法重要,并没有参加学校ACM打比赛),同时也开始了解考研与工作的区别等,完成大学四年大致规划。

大一下:

加入学校技术组织,开始学习Android,并且确定Android为自己将来要走的路。

大二上至今:

进入学院实验室,跟着导师做项目(项目都有关物联网,软硬结合)。独自负责两个项目的Android客户端,另外也学习了写文档,团队交流等等。

 

在开发群交流的时候,经常会有一些初学者问我这样一个问题“为什么你大一下就开始自学Android了,基础够吗,没有java基础怎么学”。

1、笔者大一下的时候就开设了C++专业课,并且学的不错,了解了OOP思想后,其实入门Android并不难。当然也是碰到了许多JAVA上的问题,比如java与c之间socket通信,java的split(),java串的处理等。这些知识其实都是实际项目中经常涉及的,只是可能每门语言上处理都不太一样,碰到一点学一点基本是没有问题的。

如果读者和笔者经历一样(C#,JAVA,C++等都是OOP思想),并且已经确定了Android的兴趣,不要犹豫,直接开始学吧。你的畏惧只会把你的热情磨损殆尽。

当然,如果是完全编程零基础的读者,笔者还是推荐先学习一下JAVA。直接学习、跨度太大会让自己有很大的挫败感。

2、技术的学习,我认为没有学历、年龄的界限。在技术界真的不乏一些年少的天才(笔者和他们相差甚远),他们开始学习的时候难道去思考“自己没有XX基础,学习会不会遇到瓶颈”之类的问题吗?

有兴趣即可,遇到问题就去解决啊。


下面就是一些干货了。

网上其实已经有一些比较厉害的前辈些的Android学习的路线了。在此推荐两篇。

Stormzhang Android学习之路

任玉刚 Android学习路线指南


为何再写“Android学习之路”?

虽然对于有经验的读者来讲,技术学习已有自己的“套路”,但是对于新手,博客中巨多的知识点往往会让其产生畏惧,新手更偏爱于“死板”的学习路线,即“非野路子”,可效仿的学习之路


笔者仅以自身经历总结,读者选择借鉴。

一、刷书,至少学完一本书。(理解书上每一个知识点,而不是仅仅看过)

推荐《第一行代码》、《Android疯狂讲义》、《Android编程权威指南》。

《第一行代码》是最适合新手学习Android的书籍,至少此时看来没有之一。不过《第一行代码》是基于Android4的,第一版出版时间为2014年8月,第二版还没出。由于官方API的改动,书中的一些知识点现在看来不乏有错误的地方。但是瑕不掩瑜,其通俗易懂和知识点的丰富还是深受读者好评。

《Android疯狂讲义》和《Android编程权威指南》在笔者看来可以作为学完《第一行代码》后的深化,这两本书能够继续帮你扩展知识面,选其一即可。当然,学习能力强的读者不学习《第一行代码》直接选择这两本书也完全是可以的。

二、做项目。

关于做项目的好处,笔者已经在另一篇博客中讲到过了,在此也不复制粘贴增加篇幅,有兴趣的读者可以自己看一下:

android 第一个项目完成! 阶段总结

在学完一本书后就完全可以开始做项目了,不过也是得边做边学新的知识点。

科班大学生可以与笔者一样考虑进入学院实验室,这个也不多说,基本你愿意学,肯努力,去找导师谈一下,导师就会收下你。不过,进实验室也并意味不了什么,还是要自己学,导师基本只有在觉得你能力够的时候才会给你项目做。

那么没有这样的资源怎么办呢?靠自己也完全没有问题,可以仿照网上一些APP自己做,遇到不会的知识点就自己去学习。比如新浪微博,知乎日报等都是新手经常仿写的一些APP。

在做项目的时候读者一定要时刻记得,这是一个自我提高的方式,千万不要“为了做项目而做项目”。每遇到一个不会的知识点,都应该值得庆幸,因为这正是你做项目的意义所在,当你一个个克服这些的时候,就是自我提高了。

三、当做完一两个项目,读者应该已经有自己自学的一些心得了。这时候的自我提高就会显得比较灵活了,可以是书籍、也可以是大牛博客、也可以官方文档。

官方文档:笔者很认同一句话:“官方文档是最好的教科书”,但是并不适合新手直接学,笔者建议有能力的读者一定要学习一遍官方training。很多大牛博客中为了将某些知识点容易让人理解,可能会产生让读者误解的情况。但是官方文档不会,其中都是规范的解释,而且不会错。另外,看官方文档往往也会让读者有一些惊喜,官方详细的解释会解释读者心中的很多疑问。

中文官方training:http://hukai.me/android-training-course-in-chinese/basics/index.html

 

书籍推荐:《Android群英传》、《Android开发艺术探索》、《APP研发录》。

要点:这时候大家学习,就不需要和入门时一样了搞懂所有的知识点了。(不过进程间通信,图片缓存,消息处理,线程之类,事物分发机制等等,这些还是需要都懂的,属于基础。但是可以根据需要决定学习先后。)

一方面,Android如此庞大的一个操作系统,你要去学会所有的东西谈何容易。更何况谷歌公司也是在不断更新Android,不断推出新的版本,废弃旧的用法,如果仅仅学习一些表面的东西,那么不仅自己疲于奔命,更是故步自封。学习可以更偏向于原理方面的。

另一方面,每个人的工作需求和个人方向不同。有的开发者偏向于动画制作,有的偏向于缓存处理,有的偏向于View的绘制等。个人的精力是有限的,所有的都要学会基本是不可能的,但是在学习中培养出的学习能力和学习经验是不会变的。一些表面的或者简单的框架,采用“用到什么就去学什么”的方法完全是可以的。

 

最后,也是推荐新手都可以写一下博客,这点也是笔者受益匪浅的。一方面,能在前进的过程中通过写博客获得一定的成就感,另一方面,写博客本身也是对自我的知识树的一个整理。

笔者对写博客的一些看法:对系统学习与写博客的看法——学完《第一行代码》有感

 

初学者必看 1、LinearLayout Button、RadioGroup、 CheckBox 2、TableLayout 3、FrameLayout 霓虹灯效果 4、RelativeLayout 梅花效果 5、自定义view跟着触点走的小球 6、 ListView 列表视图 7、WebView web视图 8、ToggleButton 动态布局效果 9、AnalogClock 、 DigitalClock and Chronometer 时钟和数字日期 10、AutoCompleteTextView 根据输入自动补充可能的全部 11、Spinner View 选择框(弹出框形式选择) 12、DatePicker TimePicker View 日期时间选择器 13、ProgressBar View 普通进度条、显示在标题栏上的进度条 14、RatingBar View 评级 15、 SeekBar 拖动条,音量调节效果 16、ScrollView 、HorizontalScrollView 垂直和水平滚动条 17、ScrollView 、HorizontalScrollView 垂直和水平滚动条 18、ExpandableListView 分组可展开收缩的ListView 19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24、ClipDrawable 徐徐展开的风景 25、AnimationDrawable 会动的图片 26、Menu、SubMenu、ContextMenu xml配置menu 27、Attribute 自定义view的duration属性 控制图片的透明度 28、Bitmap、BitmapFactory 图形与图像处理 29、Canvas 绘制自定义图形 30、Canvas 采用双缓存实现画图板 31、SharedPreference 简单的key-value数据存取 32、SQLiteDatabase 安卓客户端的嵌入式数据库 33、GestureDetector + ViewFlipper实现翻页效果 34、GestureLiberay 自定义手势 35、GestureLiberay 通过自定义的手势实现用户操作 36、TextToSpeech 语音朗读 37、ContentProvider、ContentResolver 应用之间共享数据 38、 Service 相当于没有界面的activity 39、Activity与Service运行中通信 40、Service 相当于没有界面的activity 41、AIDL Service android中的跨进程调用 客户端,服务端见AidlService 42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉加载更多效果 48、异步加载图片的二级缓存技术 49、QQ的好友列表展示效果 50、Fragment + ViewPager实现tab滑动切换 51、能够显示在桌面前面的的歌词效果 52、activity切换特效
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值