献出来给入门者参考:
主要问题:
1. 如何处理cancel事件
2. ListAdapter的使用
3. 文本编码.
资源下载地址:
http://download.csdn.net/source/1713476
刚入手的同学可能在导入Android的工程或者某些sample的时候无从下手,
因为单单靠Eclipse import project解决不了所有的问题。终极方案为通过Eclipse 的向导, 将已经存在的代码工程,
再创建成一个新的工程, 如图所示的: create project from existing source选项
为了方便大家入门,今天对代码做一下标注.
1. Android程序的进入点
不要妄图像学习C或者Java的入门一样, 有一个main函数供你进入, Android的应用程序运行在一个框架中, 因此main进入点 函数被层层包裹,探寻这个进入点函数,实在是没有多大的价值(这就跟我们用Visual c++去写MFC程序一样, 看到的不是main函数, 唯有寂寞...)
Android框架做得比较精妙:
1. 应用的各个功能,都被切割成一个个的Activity对象
2. Activity都在AndroidManifest.xml这个xml中注册, 并且规定那个Activity是启动Activity
3. Activity 之间是可以通信的
以本文的代码为例, AndroidManifest.xml是这样的:
很好奇,为什么会有三个Activity? 大致的思路是这样的:
1. 进入应用程序的时候,需要有一个Button,选择一个目录
2. 浏览目录
3. 选中文件的浏览目录之后,需要呈现Txt文件的内容
可能大家会觉得奇怪, 为什么按照这样的思路去划分Activity,这样会不会造成管理Activity的困难?
回答这个疑问前, 看看Activity的划分标准是什么,这里牵涉到界面的知识:
1. 每个Activity都表征了一种形式的界面, 比如你的应用程序中有多少个不同的界面,就将出现多少个不同的Activity
2. Activity通过加载一个界面文件xml, 来表征界面的特点
为什么要这么做?
原因是,界面的绘制牵涉到系统资源的调配,手机终端不同于PC,手机系统资源紧缺, 销毁重绘这样耗时费劲的工作,不宜重复进行。因此Android中将这些不同的界面绑定到不同的Activity中,当手机由一种风格的Activity切换到另外风格的Activity时,节省时间和系统资源。
程序如何实现Activity的切换?切换时,如何夹带信息?
Intent构造下一个将要出现的Activity, 并夹带 Bundle(); 然后Activity类中提供了startActivityForResult的方法,让你启动, 够简单吧!
在将要启动的Activity中oncreate方法启动,将Bundle的值取出来, 搞定.
整个流程大致可以这样描述:
Bundle
Activity被触发---------------> 加载Bundle -----> 加载GUI及其Layout(XML或者自己写Layout)
----> 展示GUI----> 触发GUI事件 ---> 其他Activity 被触发----> 继续....
菜单布局等细节, 实在没什么更多的内容。
Android的布局方式很赞,采用了HTML的配置布局方式,非常不错, 界面本来就是配的,而不是代码写的。 所以J2ee转业过来的同学们, 这个难度实在是太小了。
另外从Eclipse RCP开发过来的同学们, plugin.xml这个是再熟悉不过的了, 所以你们转过来学习Android的布局和配置管理,应该也是轻松加愉快了。
后面深入补充下Activity的知识。 界面这块,有时间再探索下。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |