两周学会并全面android开发
前言:经过一年时间来的学习和和同事的交流,自己总结出个人认为比较好的android学习流程,各位大神看后要是有什么错误或者不正的希望多多指教拍砖!或者可以留言到我邮箱:[email protected] 废话少说,先上图
第一周:
1、(第一天)了解android,并且配置开发环境(可以参考http://blog.csdn.net/icqapp/article/details/21228743)
2、(第二天)1)了解开发一个android应用的每个文件结构并且懂得他的意义作用所在,比较重要的有
src---编写Java源代码文件
libs---存放相关类库的包
res---android应用所需要的所有外部资源文件(图片、数据文件等)
-> res/drawable 应用中包含一个图片或者图标或者一些配置文件
-> res/layout 布局文件
-> res/Values 应用中要引用的key-value对。这些XML文件声明了数组(Array)、颜色(color)、度量(Dimension)、字符串
AndroidManifest.xml 这个XML文件包含了android应用中的元信息,是每个android项目中的重要文件。它包含了activity(行为)、view(视图)、service(服务)之类的信息
2)要认真理解android的生命周期
3、(第三天)编写布局控件:假如了解过C#桌面应用的话就应引申到android的控件上,即使没有了解过C#,也可把web的相关界面控件引申到android控件上,
具体实现步骤可为:看---找---拖---写
看:表示通过控件了解此控件是什么控件,比如通常我们所说的术语Button,
找:在android的控制面板上左侧找到相应的控件
拖:选择相应的控件发到布局文件上(系统就会自动生成一系列代码)
写:在布局文件里或者activity中编写你想要实现的效果
4、(第四,五天)初步了解ListView,GridView
加载本地静态数据,涉及到有是配置,封装的实体类等
步骤有:
(1)、编写窗体类,并在布局文件下建立相应的布局文件
(2)、编写需要封装成对象的实体类,
(3)、编写listview的子项布局文件,
(4)、结合listview子项布局文件进行编写ListView的适配器
(5)、通过适配器绑定数据到子项然后再把子项绑定到ListView控件上
第二周:
1、(第六、七天)学习多线程加载数据,大致可有四种
1)Activity.runOnUiThread(Runnable)
2)View.post(Runnable) ;View.postDelay(Runnable , long)
3)Handler
4)AsyncTask
2、(第八天)学习json或者xml。可以理解为数据交换格式。json比较简单的应用一般最多用到它的二到三级结构,解析json数据格式的时候无非就有JSONObject、JSONArray
自己常用的json格式化地址为:http://jsonformatter.curiousconcept.com或者http://tool.oschina.net/codeformat/json
1)、对象格式:{键名:键值}(单键或者属性);
{键名1:键值1,键名2:键值2,、、、键名n:键值n}(多键或者属性)
比如:{"name":"张三"}(单键);
{
"name":"张三",
"age":"20",
"heigh":170
}
2)、对象集合格式:
[
{键名1:键值1,键名2:键值2,、、、键名n:键值n},
{键名1:键值1,键名2:键值2,、、、键名n:键值n},
{键名1:键值1,键名2:键值2,、、、键名n:键值n}
]
比如一个班有多个学生:
[
{
"name":"张三",
"age":"20",
"heigh":170
},
{
"name":"李四",
"age":"20",
"heigh":166
},
{
"name":"王五",
"age":"19",
"heigh":156
}
]
3、(第九、十天)远程响应返回json格式数据并绑定到ListView上
资源下载地址:http://download.csdn.net/detail/shi508181017/7038937
4、(第十一天)操作android本地数据库sqlite,在此就得用到sqlite的编辑器了,个人用的是SQLite Expert Personal 3,操作无非也就有SQLiteDatabase,SQLiteOpenHelper等类
5、(第十二天)远程响应数据后缓存到本地,通过结合sqlite在没有网络的情况下就读取本地文件
(后期会送上源码)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。