活动(activity)是一种可以包含用户界面的组件,主要用于和用户进行交互。
活动在src/java文件夹中java为后缀的文件。
public class MainActivity extends Activity //Activity是android系统提供的一个活动基类,所有活动必须继承Activity(或它的子类CompatAcvitity)。这里MainActivity继承自Activity(也可以继承自CompatActivity)
{
@Override
protected void onCreate(Bundle savedInstanceState) //onCreate()方法是创建一个活动时必须要执行的方法
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //setContentView()方法是给当前活动引用一个布局
Log.d("MainActivity","onCreate execute"); //Log打印日志
}
}
为活动在AndroidManifest.xml中注册
任何活动都必须在AndroidManifest.xml中注册。活动注册要放在<application>标签内,通过<acvitity>标签进行注册。此标签内<intent-filter>标签内的代码表示当前活动为主活动(启动器点开app图标首先加载这个活动)。
<activity
android:name=".MainActivity" //要注册的活动
android:label="@string/app_name" > //给活动指定名称,出现在布局顶部(在这里也会成为应用名称)
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter> //标签内代码指定当前活动为主活动
</activity>
活动中使用Toast语句
Toast语句是一种非常好的提醒语句,可以将一些短小的消息提醒给用户,一会自动消失。
在活动中的onCreate()方法中添加如下代码为按钮增加一个Toast语句
Button b=(Button)findViewById(R.id.button111); //button111是元素标识符
b.setOnClickListener(new View.OnClickListener()
{
public void onClick(View V)
{
Toast.makeText(MainActivity.this,"呵呵",Toast.LENGTH_SHORT).show(); //MainActivity是活动名称
}
}); //为按钮增加一个提示语句
在活动中使用Menu菜单
在res目录下新建一个menu文件夹,然后建立一个xml为后缀的文件,下例代码为xml内代码。
<item //创建具体的某一菜单项
android:id="@+id/a" //给菜单项指定唯一标识符
android:title="第一"/> //菜单项名称
<item
android:id="@+id/b"
android:title="菜单"/>
在AndroidManifest.xml文件中的活动类下代码
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main1,menu);
return true;
} //声明一个menu菜单
点击事件代码
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.a:
Toast.makeText(this,"我去",Toast.LENGTH_LONG).show();
break;
case R.id.b:
Toast.makeText(this,"不去",Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
} //菜单选项事件
销毁活动
销毁活动按返回(back)按钮,或者在java文件中使用finish()方法
Button b=(Button)findViewById(R.id.button111);
b.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View V)
{
Toast.makeText(MainActivity.this,"呵呵",Toast.LENGTH_SHORT).show(); //提示语句
finish(); //销毁当前活动
}
}); //为按钮增加一个提示语句
用Intent在活动之间穿梭
Intent是安卓程序各组件之间进行交互的重要方式。他不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动,启动服务和发送广播等场景。Intent分为显式Intent和隐式Intent
显式Intent
Intent有多个构造函数的重载,其中一个是
Intent(Context packageContext,class<?>cls)这个构造函数接受两个参数,第一个参数Context要求提供一个启动活动的上下文。第二个参数class指定想要启动活动目标。通过这个构造函数就可以构建出Intent的“意图”。在Activity类中提供了startActivity()方法来使用Intent。这个方法专门用来启动活动。它接收一个Intent参数。将构建好的Intent传入startActivity()方法就可以启动目标活动了。
Button b=(Button)findViewById(R.id.button111);
b.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View V)
{
Intent intent=new Intent(MainActivity.this,CanActivity.class); //跳转活动
startActivity(intent);
MainActivity.this.finish(); //跳转活动后销毁当前活动
}
}); //为按钮增加活动跳转