Toast
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
调用代码:Toast.makeText(FirstActivity.this,”You clicked Button 1”,Toast.LENGTH_SHORT).show();
菜单创建方法
res目录下新建一个menu文件夹,文件夹下新建一个main的菜单文件,然后再main.xml中添加如下代码
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_item"
android:title="Add"/>
<item android:id="@+id/remove_item"
android:title="Remove"/>
</menu>
然后回到FirstActivity中来重写onCreateOptionsMenu()方法(重写方法快捷键:Ctrl+O)
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
菜单响应事件:在FirstActivity中重写onOptionsItemSelected()方法:
public boolean onOptionsItemSelected(MenuItem item) {
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;
default:
}
return true;
}
活动销毁的方法
finish();
Intent
定义:
Intent是Android程序中各组件之间进行交互的一种重要方式,他不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景。
分类:
显式Intent
#### 启动目标活动:
“`
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
### 隐式Intent
#### 隐式Intent并不明确指出要启动哪一个活动,而是指明了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮我们找出合适的活动去启动
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
“`
只有和中的内容能够同时匹配上Intent中指定的action和category时,这个活动才能响应该intent
FirstActivity中按钮的点击事件代码如下:
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent=new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
}
}
隐式Intent展示一个网页:
public void onClick(View v){
Intent intent =new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
隐式Intent调用系统拨号界面
public void onClick(View v){
Intent intent=new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
intent向下一个活动传递数据
FirstActivity发送:
public void onClick(View v){
String data="Hello SecondActivity";
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("extra_data",data); startActivityForResult(intent);
}
SecondActivity取出:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
Intent intent=getIntent();
String data=intent.getStringExtra("extra_data");
Log.d("SecondActivity", data);
}
返回数据给上一个活动
FirstActivity:
public void onClick(View v){
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
}
SecondActivity:
public void onClick(View view) {
Intent intent =new Intent();
intent.putExtra("data_return","Hello FirstActivity");
setResult(RESULT_OK,intent);
finish();
}
FirstActivity重写onActivityResult方法获得返回数据:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case 1:
if (resultCode==RESULT_OK){
String returnedData=data.getStringExtra("data_return");
Log.d("FirstActivity", returnedData);
}
break;
default:
}
}