从第二课开始,我们就要了解一些关于活动activity的内容了。
首先了解一下活动是什么。活动(Activity)是最容易吸引用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互,一个应用程序可以包含零个或者多个活动。我搜索了相关知识,让我们看看官方文档是怎么定义的:“AnActivityis an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map.”大概意思是说,Activity是一个可以让屏幕提供用户交互动作的组件,比如打电话、照相、发送邮件和查看地图等。简单来说,我们在应用程序中能看到的内容,绝大多数都是Activity组件提供的。
在这里告诉大家一个小技巧如何配置eclipse的代码自动提示功能,非常实用哦!!!
EcliPSe代码里面的代码提示功能默认是关闭的,只有输入“.”的时候才会提示功能,
下面说一下如何修改eclipse配置,开启代码自动提示功能打开 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,在右边最下面一栏找到 auto-Activation ,下面有三个选项,找到第二个“Auto activation triggers for Java:”选项在其后的文本框中会看到一个“.”存在。这表示:只有输入“.”之后才会有代码提示和自动补全,我们要修改的地方就是这。把该文本框中的“.”换掉,换成“abcdefghijklmnopqrstuvwxyz.”,这样,你在Eclipse里面写Java代码就可以做到按“abcdefghijklmnopqrstuvwxyz.”中的任意一个里字符都会有代码提示。
接下来就是活动的用法了
创建一个Activity
声明活动,Activity在manifest注册
除了要定义和继承Activity之外,我们还需要在manifest中进行注册,表示声明,如果不声明的话,这个Activity在运行时候,会报ANR错误,就是应用程序没有响应。那么怎么声明呢,我们每新建一个项目时候,都会有一个AndroidManifest.xml文件,我们需要在AndroidManifest.xml文件中对我们的Activity进行注册。如图
可以看到每一个应用程序,都必须有一个AndroidManifest.xml。
活动的加载布局
我们现在对这个布局稍做编辑,添加一个按钮,如下所示:
这里添加了一个Button元素,并在Button元素的内部增加了几个属性。android:id是给当前的元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作。你可能会对@+id/button_1这种语法感到陌生,但如果把加号去掉,变成@id/button_1,这你就会觉得有些熟悉了吧,这不就是在XML中引用资源的语法吗,只不过是把string替换成了id。是的,如果你需要在XML中引用一个id,就使用@id/id_name这种语法,而如果你需要在XML中定义一个id,则要使用@+id/id_name这种语法。随后android:layout_width指定了当前元素的宽度,这里使用match_parent表示让当前元素和父元素一样宽。android:layout_height指定了当前元素的高度,这里使用wrap_content,表示当前元素的高度只要能刚好包含里面的内容就行。android:text指定了元素中显示的文字内容。如果你还不能完全看明白,没有关系,关于编写布局的详细内容我会在下一章中重点讲解,本章只是先简单涉及一些。现在按钮已经添加完了,你可以点回Graphical Layout切换卡,预览一下当前布局
可以在中央的预览区域看到,按钮已经成功显示出来了,这样一个简单的布局就编写完成了。
下面来说说使用intent在活动之间穿梭
Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件指甲传递数据。Intent的用法大致可以分成两种,显式Intent和隐式Intent
1.使用显式Intent
Intent(Context packageContext,Class cls)
接受两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构造出Intent的意图
通过startActivity(Intent intent)启动目标活动
2.使用隐式Intent
不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent并找出合适的活动去启动。
什么叫合适的活动呢,简单来讲就是可以响应我们这个隐式Intent的活动,
通过在标签下配置的内容,可以指定当前活动能够响应的action和category。只有和中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent
标签包含了一些附加信息,更精确的指明当前活动。
Intent intent = new Intent("android.intent.action.MAIN");这是Intent的另外一个构造函数,直接将action的字符串传了进去。
每一个Intent中只能指定一个action,但却能指定多个category
调用Intent中的addCategory()方法来添加一个category
来看下小成果
只有启程,才会到达理想和目的地,只有拼搏,才会获得辉煌的成功,只有播种,才会有收获。只有追求,才会品味堂堂正正的人。
稔熟小生