Andorid(1)

来源:互联网 发布:java jbpm工作流实例 编辑:程序博客网 时间:2024/05/18 01:42

之前学过了Andorid,但是,那只是粗糙的学习。之后,慢慢的转向了JAVA后台,因为发现自己的Android不足以找工作吧。是一个没有信心的人,感觉归根于是没有安全感。

今天凌晨本来打算学习ApiCLoud的,但是发现自己对安卓的热情还是没有消失。

早上在去上班的路上困困的,但是在看第一行代码,安卓却让我忘却了困意。我感觉是否是体内的安卓热情在呼唤着我。 所以,我决定学习java后台也不放弃对安卓的学习。每天有时间就看看第一行代码,抽出时间来学习。

从新再过一遍安卓的四大组件之一--活动。

对于活动的生命周期,再进行一遍的了解。

intent分为显示和隐式。显示的话是在代码中直接定义intent的树形。隐式则是在清单文件中进行配置。并且可以指定action和category来打开指定的活动。并且可以打开应用之外的另外的一个英语。

对于intent在两个活动之间的运动。然后intent的应用,打开另一个新的应用,或者携带数据的打开另外一个活动,可以A活动重写

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);  

}  

当然还需要设置是哪个活动返回来的参数startActivityForResult(Intent,int requestCode)然后对requestCode和resultCode进行判断,设置启动的requestCode来判断启动B活动,B活动通过设置setResult(int resultCode,Intent data); 这样两个活动之间机会有一个对应,就可以通过B活动存放数据,然后A活动获得数据。

当然了,可以直接intent设置数据,然后启动A活动,A活动通过getIntent().getStringExtra()获得数据。

活动A开启活动B的时候,正常情况下A活动是不回收的,但是如果内存不够的时候,就会导致A活动被销毁,这种情况下,如果A活动还有数据,那么就会丢失,应对这种情况的方法就是在A活动从写  

@Override  

protected void onSaveInstanceState(Bundle outState) {  

super.onSaveInstanceState(outState);  

}  

我们可以把数据存放在Bundle类型中,这样的话,当被不小心销毁之后,我们还可以拿到数据的,只需要在活动的onCreat()方法中通过savedInstanceState.getString()就可以获得之前保存的数据了。就不需要担心内存不够而导致A活动被关闭之后无法获得A活动销毁之前的数据了。

0 0
原创粉丝点击