安卓开发之Activity

一、Activity的作用

Activity作用就是和用户进行交互;

Activity间接或者直接集成Context、ContextWrapper、ContextTheme、Wrapper等基类

有的时候Activity只用集成Activity的子类(——代表子类)

AccountAuthenticatorActivity实现账户管理界面

ActivityGroup——TabActivity实现Table界面

ListActivity,实现列表界面

——LauncherActivity一个列表项对应一个Activity

——PreferenceActivity实现程序参数设置、存储界面

AliasActivity启动其他Activity结束自己

ExpandableListActivity实现可展开列表界面

FragmentActivity多ui界面

NativeActivity 使用C/C++在NDK环境中处理Activity的生命周期

二、Activity的使用以及之间数据交互

  1. Activity创建

创建Activity

首先要建立一个继承Activity的类,然后重写onCreate方法

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_activity01);//设置布局文件

TextView myTextView = (TextView)findViewById(R.id.myTextView);

//这里是通过布局文件中的id属性找到对应的组件

Button myButton = (Button)findViewById(R.id.myButton);

myTextView.setText(“我的第一个TextView”);

myButton.setText(“我的第一个Button”+”\n”+”test”+”\r”+”test2”);

}

  1. 配置Activity

Android应用要求所有应用组件(Activity、Service、ContentProvider、BroadcastReceiver)都必须显示的进行配置

AndroidManifest.xml 中的application元素中添加

<!– 配置Activity –>

<activity

android:name=”.Activity1″    指定实现Activity的类名

android:icon=”@drawable/ic_launcher”  对应的图标(一般不需要)

android:label=”@string/app_name” >    对应的标签

<intent-filter> 如果带有这个元素说明这个Activity是启动的首先相应的

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

  1. 启动关闭Activity

通常程序会有很多Activity但是只有一个Activity是入口(就是配置文件中带有intent-filter的那个)

启动其他的Activity需要入口启动的Activity启动;通常用两种方法启动

startActivity(Intent intent)

startActivityForResult(Intent intent,int requestCode)

Intent intent = new Intent(StartActivity.this,SecondActivity.class);

//启动intent对应的Activity

startActivity(intent);

或者使用finish()这样这个程序就是结束了

finish()结束当前Activity

finishActivity结束以startActivityForResult启动的Activity

  1. Activity之间传递参数

intent.putExtra(“name”, “中文?”);

这样在intent.getStringExtra(“name”);就可以获取到对应的值

同样可以使用putSerializable序列化对象进行传递参数

三、Activity的回调机制和生命周期

onCreate()第一次被创建,通常设置布局文件绑定监听器等(常见)

onStart()用户可以看到

onResume()获取用户焦点

onPause()启动了另外的Activity(常见)

onStop()Activity不能被用户所见

onRestart()返回原来创建的Activity,未被onDestory

onDestory()代码中调用finish方法或者系统资源不够用

PS:Activity是四大组件之一,也是用户接触最多的一个组件,是用户进行交互的窗口;一定要熟练使用Activity

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vamei实验室

安卓第六夜 凡高的自画像

在上一讲中,我已经制作了一个简单的Android应用。项目的主要文件包括: MainActivity.java activity_main.xml 在这一讲,我...

2117
来自专栏Android干货

APP级别处理未捕获异常

3346
来自专栏向治洪

顺序广播和无序广播

普通广播(Normal Broadcast): 一,优缺点:和有序广播的优缺点相反! 二,发送广播的方法:sendBroadcast() 有序广播(Or...

2189
来自专栏Android常用基础

MVC、MVP、MVVM的理解与使用

对于MVC、MVP、MVVM,这都是Android开发的一种架构,随着日积月累的开发,很对人对这几种模式是再熟悉不过了。不过当初我在学习的时候是因为看一个开源项...

881
来自专栏分享达人秀

Activity数据传递

在Android开发中,经常要在Activity之间传递数据。前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据...

2158
来自专栏林冠宏的技术文章

为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区

开门见山: 这个误区是:子线程不能更新 UI ,其应该分类讨论,而不是绝对的。 半小时前,我的 XRecyclerView 群里面,一位群友私聊我,问题是: ...

2237
来自专栏知识分享

android客服端+eps8266+单片机+路由器之远程控制系统

用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的。 控制距离有多远---...

7216
来自专栏向治洪

开源项目Universal Image Loader for Android

In the previous article, we’ve initialized the ImageLoader with configuration; ...

1875
来自专栏Fish

OnTouchListener的使用

最近在搞软件杯的事,要提取按键时的具体信息,包括按下去的时间和弹起的时间,还有按的是哪个键等等,发现用普通的OnClickListener无法做到,于是乎查了一...

20310
来自专栏飞雪无情的博客

Android Activity的生命周期

通过上一节“Android系列之四:Android项目的目录结构”我们已经知道了什么是Activity,那么为什么我们创建一个Activity的导出类的时候为什...

813

扫码关注云+社区

领取腾讯云代金券