第一行代码 ( 第二章 Activity )

一.在AndroidManifest文件中注册activity并声明启动activity(Android Studio会自动帮我们生成)

	//主活动设置的label不仅会成为标题栏的内容,还会成为启动器(Launcher)中应用程序显示的名称。
    
        
        
    

二.Toast的使用

使用静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来,注意:makeText()需要传入三个参数,第一个是Context,即Toast要求的上下文,第二个是你要展示的提示的内容·,第三个参数是Toast显示的时长。(有两个内置常量可以选择:Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG)。

Toast.makeText(FirstActivity.this,"这里是你要显示的内容(字符串形式)",Toast.LENGTH_SHORT).show();

三.在活动中使用Menu

步骤
(1)在res目录下新建一个menu目录,再在这个目录新建Menu resource file的菜单文件;
(2)在菜单文件中添加代码设置menu的下拉菜单项选项:


(3)在Activity中重写onCreateOptionsMenu():通过getMenuInflater()能够得到MenuInflater对象,再调用它的inflater()就可以给当前活动创建菜单。inflater()接收两个参数,第一个参数指定通过哪一个资源文件创建菜单,第二个直接用传入的menu参数即可。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.test_menu, menu);
    return true;
}

(4) 在Activity中重写onOptionsItemSelected():通过调用item.getItemId()来判断我们点击的是哪一个菜单项(比如对应上面item的"R.id.item1"),再进行我们想要的操作,至此,大功告成。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.item1:
            Toast.makeText(FirstActivity.this, "你点击了item1这个菜单项", Toast.LENGTH_SHORT).show();
            finish();    //手动调用方法销毁当前活动
            break;
        default:
            break;
    }
    return true;
}

四.使用Intent实现活动间的跳转以及数据传递

(1)显式Intent实现跳转:(第一个参数是启动活动的上下文,第二个参数是你想要启动的目标活动)

button.setOnClickListener(new View.OnClickListener(){
	@Override
	public void onClick(View v){
		Intent intent =new Intent(FirstActivity.this,SecondActivity.class);
		startActivity(intent);
	}
});

(2)隐式Intent实现跳转:通过在activity标签下配置intent-filter,可以指定当前活动能够响应的action和category:


	
		
		
	

然后在FirstActivity中:

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		Intent intent =new Intent("com.example.activitytest.ACTION_START");
		startActivity(intent);	//因为上面那个category是默认的,在调用startActivity()会自动添加这个category
	}
});

其他隐式Intent用法(跳转到其他程序的活动):
通过Uri.parse将一个网址字符串解析成一个Uri对象,然后再调用Intent的setData()将这个Uri对象传递进去。
例子1:打开手机浏览器,进入百度

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		Intent intent =new Intent(Intent.ACTION_VIEW);	//这是Android系统内置的动作
		intent.setData(Uri.parse("http://www.baidu.com"));	
		startActivity(intent);	
	}
});

例子2:拨打电话10086

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		Intent intent =new Intent(Intent.ACTION_DIAL);	
		intent.setData(Uri.parse("tel:10086"));	
		startActivity(intent);	
	}
});

实现数据传递

通过putExtra(),以左键右值的形式,将想传递的数据暂存在Intent中;启动另一个活动后,通过getIntent()方法获取到用于启动当前这个活动的Intent,然后调用getStringExtra()或是其他的方法(看传过来的数据是什么格式,如整型用getIntExtra()),传入相应的键值就可以获得传递的数据了。FirstActivity代码如下:

button.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		String data="hello putExtra"
		Intent intent =new Intent(FirstActivity.this,SecondActivity.class);	
		intent.putExtra("extra_data",data);	
		startActivity(intent);	
	}
});

SecondActivity代码如下:(待更新)

public class SecondActivity

你可能感兴趣的:(android)