活动的基本用法
0.创建项目
创建项目时选择Add No Activity
1.手动创建活动
创建一个基本的Activity(EmptyActivity)不勾选Generrate Layout File和Launcher Activity
Generrate Layout:表示为Activity自动创建一个对应的布局文件
Launcher Activity:表示将Activity设置为当前项目主活动
注意:项目中任何活动都应该重写Activity的onCreate()方法
2.创建布局
首先在res目录下创建layout目录,然后右键选择Layout resource file,命名
添加控件
3.加载布局
返回你创建的Activity中在onCreate()方法中调用setContentView方法
4.在AndroidManifest文件中注册Activity
<activity android:name=".FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
5.Toast
设置button点击事件
调用Toast.makeText(上下文,内容,时间).show();
6.menu
在res目录下new一个menu目录新建一个main的菜单文件
创建菜单项
<item android:id="@+id/aad_item" android:title="Add" /> <item android:id="@+id/remove_item" android:title="Remove" />
在Activity中重写onCreateOptionsMenu方法
用getMenuInflater().inflate(R.menu.main,menu)
return true表示将创建的菜单显示出来
定义菜单的响应事件 在Activity中重写onOptionsItemSelected()方法
7.finish();
销毁活动,定义一个控件设置监听事件销毁活动
finish()方法
8 intent意图
显式intent:
Intent intent=new Intent(FirstActivity.this,SecondActivity.class); startActivity(intent);
隐式intent:
Intent intent2 = new Intent("com.example.liuwei.activity_START"); intent2.addCategory("com.example.activity"); startActivity(intent2);
[1]开启网页:
Intent intent1=new Intent(Intent.ACTION_VIEW); intent1.setData(Uri.parse("http://www.baidu.com")); startActivity(intent1);
【2】拨打电话
Intent intent2=new Intent(Intent.ACTION_DIAL); intent2.setData(Uri.parse("tel:10086")); startActivity(intent2);
【3】传递数据
【3.1】发送
String data="hello logcat"; Intent intent1 = new Intent(FirstActivity.this, SecondActivity.class); intent1.putExtra("data",data); startActivity(intent1);
【3.2】接受
Intent intent=getIntent(); String data=intent.getStringExtra("data"); Log.d("data",data);
4.返回数据给上一个活动
【4.1】开启一个有返回结果的Activity
startActivityForResult(intent1,1);
【4.2】向上一个活动返回数据
Intent intent=new Intent(); intent.putExtra("data_reslut","hello FirstActivity"); setResult(RESULT_OK,intent);
【4.3】在上一个Activity中重写onActivityResult()方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode){ case 1: if (resultCode==RESULT_OK){ String returndata=data.getStringExtra("result_data"); Log.d("data",returndata); }break; } }