Activity的基本使用

Activity

从视觉效果看:是一个活动窗口。
从外部看,Activity 就是一个图形界面,通俗点说就是在android 的应用中所看到的用户界面都是一个Activity或者说是Activity的表现。
从内部来看,Activity就是view 的容器,负责把放在其中的组件按照一定的组织进行表现和处理。

实现上只需要继承Activity和AppCompatActivity。

Activity的创建流程:

  1. 自定义Activity的类名,继承Activity或它的子类
class MyActivity extends Activity{}
  1. 重写onCreate()方法,在此方法中调setContentView(),设置要显示的视图。
public void onCreate(Bundle savedInstanseState){
	super.onCreate(savedInstanseState);
	setContentView(R.layout.main);
  1. 在AndroidManifest.xml中对Activity进行配置
<activity
	android:icon = "图标"
	android:name = "类名"
	android:label = "Activity要显示的标题"
	android:theme = "要应用的主题">
</activity>
  1. 启动Activity:掉用startActivity(Intent);
Intent it = new Intent(MainActivity.this,MyActivity.class);
startActivity(it);
  1. 关闭Activity:调用finish,直接关闭当前Activity
finish();

启动Activity的方式

显示启动:

  1. 最常见的:
startActivity(new Intent(MainActivity.this,MyActivity.class);
  1. 通过Intent的ComponentName
ComponentName cn = new ComponentName(MainActivity.this,MyActivity.class);
Intent intent = new Intent();
intent.setComponent(cn);
startActivity(intent);
  1. 初始化Intent时指定包名
Intent intent = new Intent("android.intent.action.MAIN");
intent.setClassName(MainActivity.this,MyActivity.class);
startActivity(intent);

隐式启动

通过Intent-filter的Action.Category或data来实现

<intent-filter>
	<action android:name="com.xxx.action.START_SECOND_ACTIVITY" />
	<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

退出Activity的方式

finish();

Activity生命周期

Activity生命周期

回调描述
onCreate()这是第一个回调,在活动第一次创建时使用
onStart()这个回调在活动为用户可见时调用
onResume()这个回调在应用程序与用户开始可交互时调用
onPause()被暂停的活动无法接受用户输入,不能执行任何代码,当前活动要被暂停,上一个活动将要被恢复时调用
onStop()当活动在不可见时调用
onDestroy()当活动即将被系统销毁之前调用
onRestart当活动被停止以后重新打开时调用

Activity之间利用Intent进行数据传递

  1. 将数据封装进Intent对象,然后利用startActivityForResult或startActivity将数据从A传输至B
  2. B执行完操作之后将A所需要的返回数据封装在Intent中,利用setResult再传递回A中。
  3. A利用onActivityResult回调接受B返回的数据做后续处理

Intent可以传递:简单数据类型及数组、实现序列化接口的类、Bundle

在Activity中传递数据的方式:

  • 通过Intent进行传递,可以传递基本数据类型、Bundle打包数据、序列化的自定义对象。
  • 通过全局变量直接设值
  • 通过静态变量直接设值
  • 通过SharePreference将对象储到本地,进行存取。

数据存储:Shareperferences

Android平台用于存储轻量级数据的存储方式,以键值对(key-value)的方式来进行存储,本质上是一个xml文件。

存:

  1. 通过Context,获取SharedPreferences对象;
  2. 创建SharedPreferences.Editor对象
  3. 写入数据并执行commit操作
SharedPerferences sharedPreferences = getSharedPreferences("sptest",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name","名字");
editor.commit();

取:

  1. 通过上面获取到的SharedPerferences,执行getString方法即可;
SharedPreferences sharedPreferences = getSharedPerferences("sptest",MODE_PRIVATE);
String name = sharedPerferences.getString("name","默认值");
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值