如果你现在学Android

虽然现在网上有不少Android的教程,不过现在Android的发展已经到了5.1,很多之前的开发教程和学习建议已经不是很适用,决定以自己的见解写一篇Android学习的教程,如果大家有什么好的意见或建可以评论给我。

工欲善其事,必先利其器

虽然Android开发的门槛比较低,但是有件得心应手的兵器还是很有必要的。

  • 开发设备 : Mac (作为开发者,我认为入手一台mac还是很有必要的,推荐还是mac pro,这种设备真的是早用早享受,如果你是学生党那么这真的是你对自己非常好的投资,如果你不是,那么我相信你是买得起的,购买渠道就不详细说了,港货确实能省一笔钱,官网分期无利息也是挺好的。如果你确定不购买的话,那么Linux开发也是比在Win下开发好一些的)
  • 调试设备 : 真机 (推荐使用真机调试,速度更快)
  • 模拟器 :genymotion (有时候还是要用到模拟器的,那么我推荐你使用geymotion,这货速度绝对比自带快很多,虽然自带模拟器也可以使用x86核心,不过速度依旧不如genymotion)
  • IDE :Android Studio (这里我想到一句别人说过的话,如果你是Android开发老老手,那么我推荐你使用Android Studio,如果你是新手,那么我更要推荐你使用Android Studio。其实我发现很多人在学习过程中继续使用eclipse的原因是,他看的的书或者视频教程使用的是eclipse,他们和我说新手就该用eclipse,除了一些做NDK开发的,我说的是专业人士,其他人请你们换成AS吧,去学习一下使用AS,也会有不少提升,至少比你照着视频敲看不懂的代码好)
  • 梯子 : 云梯(在我大天朝做开发有一架梯子还是很必要的,你可以去找一些免费的,不过速度确实渣。云梯是我用过的梯子里非常不错的,也有很多人推荐,你可以点我的推荐链接可以省一点钱!推荐链接

学习路线

入门级

  • 语言基础Java (使用Java语言。现在开发Android的方式有很多,如Hybrid开发,但如果你是新手,我推荐你使用原生开发,使用Java语言,因为任何跨平台开发最后你的web和Native都要精通,不然你总有解决不了的的问题)
  • Android官网 http://developer.android.com/ (需梯子)

    (Android官网更新其实很快的,你应该经常上去看看,需要梯子,如果你英文不错把Training部分练习一遍,就基本可以写一些小东西了)

  • 学习ApiDemo ApiDemo 是很重要的,很多的功能其实Google官方以及帮我们做好了例子,只要学习一下就好了
  • 学习视频 其实我是很喜欢对着视频学习的,再用播放器调整为2-3倍速度播放,其实视频学习有利有弊吧,利就是你在学习一个知识点的时候,也附带学习了讲课者的思维方式,以及其他一些小知识点你也可能注意到(比如一些好用的插件,软件等)弊可能就是视频良莠不齐,开发方面的视频我并不认为存在什么经典,随着时间的流逝和技术的发展反而不再适用,盲目学习事倍功半。

    这里插入一个小广告吧,下载视频的话,可以关注我的微信公众平台晓晨学习组(微信号:xiaochenAndroid),在里面你能找到学习视频下载,都是我认为不错的学习资源。然后我想说的是视频教程,重要的是理解思想,写代码要关了视频敲一遍,照着写实现了也没有什么提高。

  • 遇到问题能Google少百度,可以到eoe找找,stackoverflow,而且要多查查看看,注意文章日期,因为有些问题其实已经有了更好的解决方法,我举个例子,比如要在Android上实现下拉刷新,百度得到的内容基本都是使用pull-to-refresh这个第三方库,但是在Android官方提供的Support包里其实已经带了实现下拉刷新的快捷方法,而且效果更好。

进阶篇

如果你完成了入门教程,那么你应该进阶了

高手篇

究竟什么是写代码的高手,可能每个人都有自己见解,在这里我其实不知道该写什么东西,我觉得每一个开发者最终的产物都是你的项目,所以你要做的并不是去炫技,而是写出更健壮、更易用的代码。那么我臆测该学的可能有如下:

  • 设计模式 (设计模式更像是一种经验的东西,知道和用是不一样的,根据代码能看出这是什么设计模式似乎很容易,但是高手总是能巧妙的运用他们,你看完后发现,好有道理哦!就是写不出来5555 。。。)
  • 学习架构师方面的知识 (开发小项目看不出来,开发大一点的前期的设计真的很重要啊)
  • 学习内核相关内容 (有去看过讲内核的沙龙,我就是打酱油的,需要汇编和c,大神讲的理所当然,我是一头雾水,不过深入还是有很多好玩的东西的)
  • 写写算法 leetcode 全A了,有些题其实还有更优解法的,但是我不推荐你做ACM的(大神请无视)基本上都是些数学内容。
  • 学习设计 不会做设计的程序员不是好的产品经理,我最近在学习使用sketch,其实很好玩的。
  • 学习各种新技术,做做小玩意(比如木匠活的什么的,我觉得挺好玩的),你除了是一个做技术的还要提高情商,不然你怎么追妹子啊!
  • 锻炼身体 这个真的特别重要!!!

其实高手篇就是我写着玩的,大家随意看看就好,拍砖?我其实无所谓的啦!~~

写在最后
   整理码字不易,转载请注明
   欢迎关注我的博客 [晓_晨DEV]<http://tanfujun.cc>
   有任何意见或建议 欢迎讨论
时间: 2024-12-13 18:09:38

如果你现在学Android的相关文章

Android开发学习之路-该怎么学Android(Service和Activity通信为例)

在大部分地方,比如书本或者学校和培训机构,教学Android的方式都基本类似,就是告诉先上原理方法,然后对着代码讲一下. 但是,这往往不是一个很好的方法,为什么? ① 学生要掌握这个方法的用途,只能通过记忆而不是理解 ② 当某些原理稍微复杂的时候,通过讲解是不能直接理解的,有时候下课回去了再看也不一定看得明白 ③ 对英语文档不够重视,有问题先百度 本鸟自学Android一年,慢慢也学习到了很多的方法,如果你也是一个入门不久但是觉得很多东西都不明白的新手,希望本文对你有帮助. 我觉得要想学好And

刚学Android遇到的问题,findViewById值为null(新版本),老鸟欢迎你的指正

环境交代: 刚学Android,在官网下载的新版的ADT 以及新版的SDK 在新版的IDE(ADT)创建项目时如果你的最小版本(minimum required SDK)要支持4.0以下版,并且目标版本为(4.0+).那么此时IDE会为你创建一个兼容包 (appcompat_v7)如下图, 创建发短信项目后就会有如下的项目目录结构 这个时候在生成的项目主Activity不是以前的那种继承的Activity,而是继承的ActionBarActivity,我把发短信的界面创建起.界面效果如下.点此时

想学android进来看看吧~ ~

我深知学校里面有很多同学想学习新的知识,而苦于没有指导.其实我想说的是,很多东西需要靠自己,需要借助度娘,谷歌的.当然有人指导是最好的了.对于刚接触android是不是也想做出像下面的效果: 这是我花了几天写的界面布局,很多也是通过网络学习的.至于功能是控制家电的.看了评论的朋友要么就是要源码之类的,其实看源码确实是一种很快提高自己一种方式.但我绝对无论你开发什么,对你所在的平台的相关特性的了解是很重要的一步,就android来说,我个人觉得首先要理解android的线程机制,其中包括了消息机制

一起学android之利用回调函数onCreateDialog实现加载对话框(23)

效果图: 有时候我们需要去做一个Activity启动时的数据加载对话框,关于对话框的各种实现可以通过一起学android之对话框 Dialog的创建(7)来完成,在这里另外介绍一个,利用onCreateDialog回调方法来实现,当然这个方法标记已经过 时了,但我们还是可以使用这个方法来实现我们想要的功能.具体请参看代码: public class MainActivity extends Activity { @SuppressWarnings("deprecation") @Ove

从零开始学android&lt;android事件的处理方式.二十四.&gt;

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean

从零开始学android&lt;RatingBar评分组件.二十三.&gt;

如果现在用户要对某个应用程序打分往往会使用图所示的组件,通过选择的"五角星"的个数来决定最终的打分成绩 这样的功能在Android之中,可以使用RatingBar组件实现,使用此组件可以方便用户的输入,而且很直观,RatingBar类的定义结构如下: java.lang.Object ? android.view.View ? android.widget.ProgressBar ? android.widget.AbsSeekBar ? android.widget.RatingBa

从零开始学android&lt;AutoCompleteTextView随笔提示文本框.十九.&gt;

随笔提示功能可以很好的帮助用户进行方便的信息输入,而在Android之中也提供了与之类似的功能,而这个功能的实现就需要依靠android.widget.AutoCompleteTextView类完成,此类的继承结构如下: java.lang.Object ? android.view.View ? android.widget.TextView ? android.widget.EditText ? android.widget.AutoCompleteTextView No. 方法 类型 描述

从零开始学android&lt;使用嵌套布局实现计算器界面.十七.&gt;

所谓的嵌套布局就是在一个文件中嵌套多个布局文件 <span style="font-size:18px;"> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layou

菜鸟学Android编程——简单计算器《一》

菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少,加减乘除就可以. 第一步:设计布局文件 界面如下图: 由于刚开始学Android,对布局文件也不是很了解,边查边找,最后凑合着写好了布局文件. 注意事项:此布局文件用到了GridLayout布局,是在Android4.0以上才出现的(不知道谷歌有没有开发相应的包来适配4.0以下版本). 有关Gri