您的位置:首页 > 移动开发 > Android开发

【Android笔记】 探究活动①活动的基本用法

2018-04-01 18:56 330 查看
1.第一行代码Android 第2版 郭霖 著

探究活动①

活动的基本用法

活动是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户交互。

我的理解:活动就像是一个个应用当中不同的界面,每个活动都有自己的布局和方法,为用户提供不同的体验,通过不同活动的跳转,最终汇聚成一个完整的APP。

它的基本用法包括:启动活动、传递数据、活动的生命周期、启动模式等等,可以说,活动为APP提供了一个整体的框架,让其他系统组件可以在里面进行不同的工作。

创建和加载布局

之前也提及:在Android程序的设计中,我们讲究逻辑和视图分离,最好每一个活动都能对应一个布局。这样布局就用来显示界面,而活动则实现具体的逻辑。

在XML中,引用资源语法如下:

引用id:@id/id_name

添加id:@+id/id_name

这里的id可以替换成各种你需要的资源,例如:如果是字符串可以换成string,如果是图片可以换成drawable,如果是应用图标可以替换成mipmap,如果是布局文件可以替换成layout等等。

而如果需要在代码中应用则可以用R.需要的资源.app_name表示。

在AndroidMainifest文件中注册

我们知道,所有活动都需要在AndroidMainifest.xml中进行注册才能生效,而标签就是用来对活动进行注册的,在标签中使用android.name就可以具体注册哪一活动了。

如果需要将活动设置为程序的主活动,则需要在标签的内部加入标签。例如:

<activity android:name = ".FirstActivity"

<android:label = "This is FirstActivity">
<inter-filter>
<action android:name = "android.intent.action.MAIN" />
<categorey android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


这样就表示FirstActivity成为了程序的主活动了,当我们点击APP时,首先打开的就是这个活动了。

在活动中使用Toast

Toast相当于一种提示信息,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);

//获取布局中定义的元素
Button btn = (Button)findViewById(R.id.button_1);

btn.setOnClickListener(new View.OnClickListener()){
@Override
public void onClick(View v){
/*
matkeText()方法创建一个Toast对象,再调用show()就可以将其提示信息显示出来了。
该方法需要3个参数,一个参数是上下文对象Contest,第二个参数需要显示的内容,
第三个参数是显示的时长。
*/
Toast.makeText(FirstActivity.this,"You clicked Button1",Toast.LENGTH_SHORT).show();
}
}
}


在活动中使用Menu

在res目录下的menu文件夹下创建一个main.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<iten
android:id = "@+id/add_item"
android:title = "Add" />
<iten

a231
android:id = "@+id/remove_item"
android:title = "Remove" />
</menu>


这样我们就创建了两个菜单项Add和Remove,而id则是这个菜单项指定的一个唯一标识符。

接着重写onCreateOptionsMenu()方法

public boolean onCreateOptionsMenu(Menu menu){
//通过getMenuInflater方法得到MenuInflater对象,再调用inflate()方法创建菜单
getMenuInflater().inflate(R.menu.main,menu);
//若返回false,菜单则无法显示。
return true;
}


最后,我们再定义菜单响应事件就可以简单运用菜单了。

public boolean onOptionsItemSelected(MenuItem item){
//通过getItemid()判断点击的菜单项,接着加入自己需要的逻辑处理
switch(item.getItemid()){
case R.id.add_item:
Toast.makeText(this,"You clicked Add",Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show();
break;
}
}


上面都是一些在活动中常用的事件,最后还有一点就是摧毁活动,在平常使用中,我们通过Back键就可以摧毁当前活动了,但如果想要通过其他方式摧毁当前活动,则可以通过finish()这个方法就可以摧毁当前活动了,效果和Back一样。

总结:

这一小节的学习,自己亲自创建一个空项目,到创建一个活动,可以直观的感受到什么是活动,活动其实就是我们平常在APP当中看到一个一个个页面,它里面由不同的组件和布局构成,而这些组件又通过不同的逻辑连接,最终实现不同的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: