慢慢研究
2011年12月24日
Android学习路线
很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。
1.Java基础
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a) Java基础语法:
具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
2.Linux基础知识:
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
3.数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
4.网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
5.Android基础知识
有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;
6.服务器端开发知识:
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE:
就是上面邮件当中所提到的SSH―Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;
b)PHP:
简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;
c).NET:
这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails:
这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种技术,就看大家自己的判断了。
要成为一个专业的Android开发者,以上的这些知识都必不可少。看起来好像很多,多的可怕。所以还是那句话--“耐心,耐心很重要”。
很多初学者可能会问,怎么样才能学好android,我们要看什么书呢,还是什么视频,其实这些都不是重要的,重要的是,你认为自己可以学好android,认为自己可以坚持下来。其实学很多语言都是通的,你要有C基础,学JAVA很快的,等你学会了JAVA学android也很快,学语言,无非就是要学好基础,弄清楚概念,然后做个简单的例子,慢慢的体会为什么要用这个,用这个有什么好处,这样印象就深了,基础打好了,到后面你会觉得突然自己提高了很多,很多东西都明白了,在黑暗中的努力是为了迎接光明。我以前学的时候也会有时候很迷茫,觉得一个概念弄不清楚,比如说接口,我看了半天没发现接口的作用,看别人写的代码用接口了,没觉得怎么样,后来写数据库的时候发现了,定义了接口后可以修改里面的实现方法,既可以用JDBC有可以HIBERNATE,接口只一种约定,只要符合这样的约定的,用任何方法实现都可以,大大提高了灵活性。同样,在项目中,服务器端和客户端定了接口规范后,不需要去管另一方是怎么实现的,只要双方都实现了,就可以实现整体,至于效率性能问题,看各方能力,这里不谈论,嘿嘿。
不说题外话了,我觉得学android,首先心态要好,你不要想这我学个1个月,可以找个好工作,可以转钱了,牛人除外。一般的都应该想怎么样可以去最快的了解android,了解android的架构,了解他跟其他手机的一些区别,了解他的一些历史,然后你慢慢会有点兴趣,想了解更多的东西,然后你开始找资料,找视频,查百度,看见hello world,看见TEXTVIEW,BUTTON,LISTVIEW都试试,等你觉得这些基础的都差不多理解了,那就别看书,看这API,然后自己设计个东西,可以涵盖他们的,做个自己想做的东西出来,虽然可能很难,但是你会在过程中学到很多,是别人教不会你的,比如你想让button有个什么事件监听,但是你暂时不知道方法,首先可以查API,虽然是英文的,看见有些还是看了懂的,这样你就会熟悉API,你觉得哪个好像有像,比如“xxxClickxx”,虽然你还是不明白,没关系,复制下来方法名,百度下,很多的,多看几个,印象深了,就掌握了。真的遇到什么思路上的问题,可以来论坛发帖,我们论坛肯定会有人来帮忙的,就算不能完全解决,也可以提供点参考。学习要会利用资源,论坛上那么好的资源不用可惜的哦,还有资料堆的东西,只要你能掌握70%,就是个牛人的,这个实话,不相信你试试。
等学完了UI后,可以想想搞点数据的存储的东西,比如做个网络图片收集的,里面涉及到网络连接,图片保存,UI线程安全,数据库操作等等,又可以学到好多,何乐而不为呢。等学完这些,已经算不错了,接下去就要做点大的项目,最好是有客户端和服务器的,也练习下xml或者json的数据操作,了解下http协议,了解下wifi,了解下电话短信googlemap的等知识。
当然你有兴趣的话可以在中间看看android的源码,很多,要很有耐心,这个我们后期可能会推出一个板块,专门讲解源码的。
这些东西了解后,可能你会想到去做点游戏,那好啊,这个暂时不谈论,已经我会发帖就讨论怎么做游戏,将自己做的一些游戏开源,讲讲自己的游戏怎么做的。
最后,等上层应用的东西基本学完了,学点底层的,驱动就给嵌入式C的人去做吧,你就做点调用底层的东西JNI,深入了解下,就可以做很多东西了,比如3D游戏性能提高,编码解码等等。
说了那么多,希望大家参考下,主要是你觉得适合的,可以去试试,当然你可能有比我更好的方法咯,每个人都不同的嘛,但是都希望你们能成为高手,谢谢。待续
android adb shell 命令大全
2011-09-26 16:05
1. 显示系统中全部Android平台:
android list targets
2. 显示系统中全部AVD(模拟器):
android list avd
3. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
4. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
android delete avd --name 名称
6. 创建SDCard:
mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
ddms
9. 显示当前运行的全部模拟器:
adb devices
10. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
11. 安装应用程序:
adb install -r 应用程序.apk
12. 获取模拟器中的文件:
adb pull
13. 向模拟器中写文件:
adb push
14. 进入模拟器的shell模式:
adb shell
15. 启动SDK,文档,实例下载管理器:
android
16.
2011年12月24日
Android学习路线
很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。
1.Java基础
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a) Java基础语法:
具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
2.Linux基础知识:
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
3.数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
4.网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
5.Android基础知识
有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;
6.服务器端开发知识:
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE:
就是上面邮件当中所提到的SSH―Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;
b)PHP:
简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;
c).NET:
这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails:
这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种技术,就看大家自己的判断了。
要成为一个专业的Android开发者,以上的这些知识都必不可少。看起来好像很多,多的可怕。所以还是那句话--“耐心,耐心很重要”。
很多初学者可能会问,怎么样才能学好android,我们要看什么书呢,还是什么视频,其实这些都不是重要的,重要的是,你认为自己可以学好android,认为自己可以坚持下来。其实学很多语言都是通的,你要有C基础,学JAVA很快的,等你学会了JAVA学android也很快,学语言,无非就是要学好基础,弄清楚概念,然后做个简单的例子,慢慢的体会为什么要用这个,用这个有什么好处,这样印象就深了,基础打好了,到后面你会觉得突然自己提高了很多,很多东西都明白了,在黑暗中的努力是为了迎接光明。我以前学的时候也会有时候很迷茫,觉得一个概念弄不清楚,比如说接口,我看了半天没发现接口的作用,看别人写的代码用接口了,没觉得怎么样,后来写数据库的时候发现了,定义了接口后可以修改里面的实现方法,既可以用JDBC有可以HIBERNATE,接口只一种约定,只要符合这样的约定的,用任何方法实现都可以,大大提高了灵活性。同样,在项目中,服务器端和客户端定了接口规范后,不需要去管另一方是怎么实现的,只要双方都实现了,就可以实现整体,至于效率性能问题,看各方能力,这里不谈论,嘿嘿。
不说题外话了,我觉得学android,首先心态要好,你不要想这我学个1个月,可以找个好工作,可以转钱了,牛人除外。一般的都应该想怎么样可以去最快的了解android,了解android的架构,了解他跟其他手机的一些区别,了解他的一些历史,然后你慢慢会有点兴趣,想了解更多的东西,然后你开始找资料,找视频,查百度,看见hello world,看见TEXTVIEW,BUTTON,LISTVIEW都试试,等你觉得这些基础的都差不多理解了,那就别看书,看这API,然后自己设计个东西,可以涵盖他们的,做个自己想做的东西出来,虽然可能很难,但是你会在过程中学到很多,是别人教不会你的,比如你想让button有个什么事件监听,但是你暂时不知道方法,首先可以查API,虽然是英文的,看见有些还是看了懂的,这样你就会熟悉API,你觉得哪个好像有像,比如“xxxClickxx”,虽然你还是不明白,没关系,复制下来方法名,百度下,很多的,多看几个,印象深了,就掌握了。真的遇到什么思路上的问题,可以来论坛发帖,我们论坛肯定会有人来帮忙的,就算不能完全解决,也可以提供点参考。学习要会利用资源,论坛上那么好的资源不用可惜的哦,还有资料堆的东西,只要你能掌握70%,就是个牛人的,这个实话,不相信你试试。
等学完了UI后,可以想想搞点数据的存储的东西,比如做个网络图片收集的,里面涉及到网络连接,图片保存,UI线程安全,数据库操作等等,又可以学到好多,何乐而不为呢。等学完这些,已经算不错了,接下去就要做点大的项目,最好是有客户端和服务器的,也练习下xml或者json的数据操作,了解下http协议,了解下wifi,了解下电话短信googlemap的等知识。
当然你有兴趣的话可以在中间看看android的源码,很多,要很有耐心,这个我们后期可能会推出一个板块,专门讲解源码的。
这些东西了解后,可能你会想到去做点游戏,那好啊,这个暂时不谈论,已经我会发帖就讨论怎么做游戏,将自己做的一些游戏开源,讲讲自己的游戏怎么做的。
最后,等上层应用的东西基本学完了,学点底层的,驱动就给嵌入式C的人去做吧,你就做点调用底层的东西JNI,深入了解下,就可以做很多东西了,比如3D游戏性能提高,编码解码等等。
说了那么多,希望大家参考下,主要是你觉得适合的,可以去试试,当然你可能有比我更好的方法咯,每个人都不同的嘛,但是都希望你们能成为高手,谢谢。待续
android adb shell 命令大全
2011-09-26 16:05
1. 显示系统中全部Android平台:
android list targets
2. 显示系统中全部AVD(模拟器):
android list avd
3. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
4. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
android delete avd --name 名称
6. 创建SDCard:
mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
ddms
9. 显示当前运行的全部模拟器:
adb devices
10. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
11. 安装应用程序:
adb install -r 应用程序.apk
12. 获取模拟器中的文件:
adb pull
13. 向模拟器中写文件:
adb push
14. 进入模拟器的shell模式:
adb shell
15. 启动SDK,文档,实例下载管理器:
android
16.