String[] from = new String[] { KEY_IMAGE, KEY_TITLE, };
int[] to = new int[] { R.id.listitem_pic, R.id.title, };
SimpleAdapter adapter = new SimpleAdapter(this, getData(),
R.layout.vlist, from, to);
参数:
this: 所属者,一个Activity
getData():一个List<Map<String,Object>>对象,即要添加到ListView中的每天数据
R.layout.vlist:ListView用布局文件
from: 要显示在ListView每一item上的可现实对象的KEY,这个KEY与getData()中的MAP中 的 KEY是对应的
to: 与from的对象是一一对应的,是每个元素的配置信息
乔布斯 和 6502 及 JBit
早上获知乔爷辞职了,查了一下,发现他最早做的PC,用的居然是 6502。
史蒂夫·乔布斯 http://t.cn/h0BZ3 当时的8080芯片零售价要270美元。1976年买到了摩托罗拉公司出品的6502芯片,只要20美元。他们设计了一个电路板,将6502微处理器和接口及其他一些部件安装在上面,通过接口将微处理机与键盘、视频显示器连接在一起,仅仅几个星期,电脑就装好了。
想起以前玩的 JBit 项目,搜索一下,很晕。
在中国移动开发者社区上看到这篇文章:《在手机上玩编程》 http://t.cn/amH68x
这个我是发在 iteye 上的。这个人转过去,居然不注明出处。
Android中用于显示的容器是Activity,一个Activity对应一个显示页面。
- Activity生命7方法
Activity对象运行与它自己的7个方法密切相关,从对象的创建到销毁,这7个方法在Activity不同阶段运行,具体的方法介绍如下表格所示:
Method
Description
Killable
Next
onCreate
当启动新的Activity的时候被调用
No
onStart()
onStart
当Activity对用户即将可见时调用
No
onResume() or onStop()
onRestart
重新启动Activity时调用(此方法是重启留在缓存中的Activity)
No
onStart()
onResume
当Activity界面可与用户交互时调用
No
onPause()
onPause
当系统要启动一个其他的activity时调用,用于保存当前数据
Yes
onResume() or onStop()
onStop
该Activity已经不可见时调用
Yes
onRestart() or
onDestroy()
onDestroy
当Activity被finish或手机内存不足被销毁的时候调用
Yes
nothing
- Activity LifeCycle
Google官方提供了Activity LifeCycle的运行图,个人觉得官方提供的图非常简洁明了地介绍了Activity的运行周期:
如上图所示,当启动Activity1时,首先调用onCreate方法初始化Activity的内容,当Activity显示出来的时候调用onStar方法(此时Activity只能看不能点击使用),当Activity可以被点击时,则调用onResume方法;
如果新一个Activity2完全覆盖原Activity1,首先会让Activity1执行onPause方法暂存Activity1的数据,然后依次执行onCreate、onStart、onResume方法启动Activity2,最后因为Activity1会被Activity2完全覆盖,所以会执行Activity1的onStop方法;
另一种情况,如果新Activity2未完全覆盖Activity1(可能只是一个弹出层),则运行流程与上面说的执行流程相同,只是不会执行Activity1的onStop方法;
如果点击手机上的“返回”按钮,当前Activity对象会被销毁,此时就会执行onDestory方法。
- Android的Task
Android的Task是一个Activity栈,保存的是所有正运行的application的Activity数据,Task中的Activity可以分属于不同的application,一个Activity栈也可能是由一个或多个Task组成,Task数据仅仅是临时保存,若手机内存不足或长时间未使用该application,Android会自动销毁Task部分Activity数据。
- onSaveInstanceState保存数据
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if(savedInstanceState!=null && savedInstanceState.containsKey(ET_KEY)){ EditText et = (EditText)findViewById(R.id.et); et.setText(savedInstanceState.getString(ET_KEY)); } } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); EditText et = (EditText)findViewById(R.id.et); outState.putString(ET_KEY, et.getText().toString()); }
我的百度文库有关于Android Activity生命周期的ppt,免费下载,希望对大家有所帮助:
http://wenku.baidu.com/view/db19524ce518964bcf847cf9.html
附Activity生命周期例子,版本2.1