PHPer转战Android的学习过程以及Android学习
原文作者: eoeadmin
原文地址: http://my.eoe.cn/shuhai/archive/19684.html
--------------------------------------------
这篇文章主要写了一个PHP程序猿是如何转战学习Android的。
第一步:
直接跨过java的学习,原因有我之前看过毕向东和张孝祥的Java基础课程,虽然中间好几次看睡着,但java的环境是能跑起来的。
我建议大家如果没有Java基础的话,可以看一下毕向东的java课程。毕向东这哥们的声音大,幽默,不容易睡着。http://edu.eoe.cn/category/bixiangdong-java-video.html
第二步:
直接开始Android环境搭建的步骤,见day1的博客。
网上教程一堆,请使用最新的adt-bundle,不要被老教程带到沟里去了。
第三步:
我没有直接开始写Hello World,而是看少佳老师的视频。
在了解完四大组件,几种布局方式,了解了大约十个控件以后,开始写一个项目,见day3。
看视频的时间一共花了三天,上班时间每天晚上看7集,周末各看了15集,78课时的视频我应该看了一半。
看视频的主要目的是有个框架性的了解,知道Activity和布局的关系,知道事件以及adapter的逻辑。
第四步:
写的第一个应用,是基于一个真实的需求。功能是读取网络接口的json,格式化成数组列表,再通过adapter加载到Listview。
有目的学习一个完整的小型应用,而不是单机的功能。
根据我的编程经验来讲,知道常用的基本组件关系,了解控件用法,其它事情就是一边做一边查手册的事了。
总的来说,入门比我想像中简单。跑起来第一个应用,花了一周时间。感谢在中途帮助过我们的ice和夏阳。还有,ice确实是很牛X的,讨论半天没解决的问题,人悄悄就把答案发过来了。
文中说的day是作者写的一个学习笔记:
海爷学安卓 day1 : ubuntu android环境搭建,adt-bundle最简单安装版
http://my.eoe.cn/shuhai/archive/19381.html
海爷学安卓 day2 : 史上最快Android模拟器:Genymotion使用教程
http://my.eoe.cn/shuhai/archive/19480.html
海爷学安卓 day3 : 一个完整的Android ListView+网络接口读取+JSON处理的Demo
http://my.eoe.cn/shuhai/archive/19604.html
海爷学安卓 day4 : Android ListView实现自动翻页的功能
http://my.eoe.cn/shuhai/archive/19669.html
给Android初学者的建议:
编程之间最好有一个粗略的印象,比如看一下Java基础课程,再看一套Android基础课程。
Java基础课程我建议看毕向东的视频,课果短,老师很幽默,不容易睡着。之前我是看张孝祥老师的视频,但课时太长,我看几个小时的视频就会睡几个小时。
学习没有效果或者学不动,是初学者的最大障碍
http://edu.eoe.cn/category/bixiangdong-java-video.html
其次是看一套完整的Android视频教程,我建议看eoe少佳老师的课程,而不是老罗的视频。老罗的视频结构性不强,初学者容易迷失方向。少佳老师的视频,我也不建议全看,看完四大组件,布局方式和一些常用控件以后,就可以开始写代码了。遇到什么查什么。
http://www.eoeschool.com/course/show/id/26.html
初学者,不要急着一边学一边写代码。
比如在学Java的时候,不用一边学一边写,看一下,了解即可。
很多时候,看到老师会的东西,你看完视频不一定能写出来。写不出来,会很打击信心。
看完视频以后,在对编程有一些基本理解以后,再去写一个比较完整的功能。
知道要做什么,下一步要做什么。
这确实是篇好文章,Android初学者不妨看看。
PHPer转战Android的学习过程以及Android学习的更多相关文章
- android的JNI 、 NDK 学习!
转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) ...
- Android 6.0 权限知识学习笔记
最近在项目上因为6.0运行时权限吃了亏,发现之前对运行时权限的理解不足,决定回炉重造,重新学习一下Android Permission. 进入正题: Android权限 在Android系统中,权限分 ...
- 从零开始学习Android(一)Android环境的搭建
好久没有开始写博客了,最近开始学习Android,所以想把学习的笔记都一一记录下来.一来是方便自己以后资料的查询,其次也是给Android新手朋友进行学习使用,再次也希 望得到高手的指点.废话少说,我 ...
- Android Material Design控件学习(一)——TabLayout的用法
前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...
- 41.Android之图片放大缩小学习
生活中经常会用到图片放大和缩小,今天简单学习下. 思路:1.添加一个操作图片放大和缩小类; 2. 布局文件中引用这个自定义控件; 3. 主Activity一些修改. 代码如下: 增加图片操作类: ...
- 22.Android之ExpandableListView树形列表学习
Android经常用到树形菜单,一般ExpandableListView可以满足这个需要,今天学习下. XML代码: <?xml version="1.0" encoding ...
- 19.Android之文件存储方法学习
Android开发中会用到文件存储,今天来学习下. 先改下布局界面: <?xml version="1.0" encoding="utf-8"?> ...
- 10.Android之ProgressDialog进度对话框学习
APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下. 首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条.代码如下: <?xml version=&quo ...
- 5.Android之image控件学习
Android中经常用到图片,比如图片浏览.图标等等,今天学习下image控件,image控件主要有ImageButton和ImageView两种. (1)ImageButton 在布局文件增加: & ...
随机推荐
- Crowd安装和破解
参考资料来自:http://www.it165.net/os/html/201311/6653.html 这个破解比较简单
- HTML+CSS Day11产品网站
1.佰亿首页 效果图: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- Base64技术:把对象转变成字符串
需求:在安卓移动端和服务器进行数据交互的时候,有些时候需要上传,下载文件.如果所有的参数都变成字符串,会更加方便. 原理:Base64只是把byte[]数组进行了编码,然后再解码的过程,文档内容无法直 ...
- linux内核驱动——从helloworld开始
学习编程第一个都是学习hello world程序,学习内核驱动自然也不例外,我也是!本文整理了网上的一些资料以及加上自己的一些心得体会,希望对初学者有帮助,可别小看这个简单的hello world,本 ...
- bootstrap ch2清除浮动+12
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- Flask -- 内容管理系统
例子: # content_manager.py # 把TOPIC存在一个字典里,key为关键字,value为二维数组# TOPIC_DICT['Django'][0]为Title,TOPIC_DIC ...
- 【转载】将绿色版Tomcat服务添加到系统服务并设为开机运行
转自: http://www.cnblogs.com/lan0725/archive/2009/11/04/1873859.html 运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如 ...
- URL scheme添加以及查找方式
2.1.1 添加URL Types URL Scheme是通过系统找到并跳转对应app的一类设置,通过向项目中的info.plist文件中加入URL types可使用第三方平台所注册的appkey信 ...
- VC++中使用ADO方式操作ACCESS数据库
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为 ...
- arTemplate解析语法
模板解析语法 defaults.parser = function (code, options) { // var match = code.match(/([\w\$]*)(\b.*)/); // ...