安卓四大组件
活动(activity)、服务(service)、广播接收器(Broadcast Receiver)、内容提供者(Content Provider)
活动:所有安卓应用的门面,所有看得到的东西都在活动里
服务:
广播接收器:允许应用接受来自各处的广播消息
内容提供者:提供应用之间共享数据功能
1.活动
活动是一种可以包含用户界面的组件,用于和用户进行交互
安卓程序设计讲究逻辑与视图分离,每一个活动都对应一个布局,布局就是用来显示界面内容的。
2.Intent
intent有多个构造函数的重载,其中一个Intent(Context packageContext,Class<?> cls)
第一个参数需要提供一个启动活动的上下文,第二个则是制定想要启动的目标活动
1)显示intent
//直接指向下一个活动
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
2)隐式intent
//不直接指向活动,指定一系列抽象的actionhe和category
//每个Intent只能指定一份action,却可以指定多个category
Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
//不仅可以启动自己程序的活动,还可以启动其他程序的活动
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
3.向下一个活动传递数据
1)putExtra()
1].在FirstActivity的点击事件中
String data = "Hello SecondActivity";
Intent intent = new Intent();
intent.putExtra("extraData",data);
startActivity(intent);
2].在SecondActivity中将数据取出来
Intent intent = new getIntent();
String data = intent.getStringExtra("extraData");
4.返回数据给上一个活动
1)在FirstActivity中点击进入SecondActivity
startActivityForResult(),此方法接受俩个数据,第一个方法为Intent,第二个为请求码
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
2)在SecondActivity中将将数据返回上一层
Intent intent = new Intent();
intent.putExtra("dataReturn","Hello FirstActivity");
setResult(RESULT_OK,intent);
finish();
3)在FirstActivity中重写onActivityResult()方法获取返回的数据
View缺省为可见的,在应用可以通过setVisibility 修改View的可见性,View可用性可以有如下三种状态:
View.VISIBLE View可见
View.INVISIBLE View不可以见,但仍然占据可见时的大小和位置。
View.GONE View不可见,且不占据空间。
本例使用三个按钮来修改View B的可见性:
[java]
OnClickListener mVisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.VISIBLE);
}
};
OnClickListener mInvisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.INVISIBLE);
}
};
OnClickListener mGoneListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.GONE);
}
};
OnClickListener mVisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.VISIBLE);
}
};
OnClickListener mInvisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.INVISIBLE);
}
};
OnClickListener mGoneListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.GONE);
}
}
活动(activity)、服务(service)、广播接收器(Broadcast Receiver)、内容提供者(Content Provider)
活动:所有安卓应用的门面,所有看得到的东西都在活动里
服务:
广播接收器:允许应用接受来自各处的广播消息
内容提供者:提供应用之间共享数据功能
1.活动
活动是一种可以包含用户界面的组件,用于和用户进行交互
安卓程序设计讲究逻辑与视图分离,每一个活动都对应一个布局,布局就是用来显示界面内容的。
2.Intent
intent有多个构造函数的重载,其中一个Intent(Context packageContext,Class<?> cls)
第一个参数需要提供一个启动活动的上下文,第二个则是制定想要启动的目标活动
1)显示intent
//直接指向下一个活动
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
2)隐式intent
//不直接指向活动,指定一系列抽象的actionhe和category
//每个Intent只能指定一份action,却可以指定多个category
Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
//不仅可以启动自己程序的活动,还可以启动其他程序的活动
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
3.向下一个活动传递数据
1)putExtra()
1].在FirstActivity的点击事件中
String data = "Hello SecondActivity";
Intent intent = new Intent();
intent.putExtra("extraData",data);
startActivity(intent);
2].在SecondActivity中将数据取出来
Intent intent = new getIntent();
String data = intent.getStringExtra("extraData");
4.返回数据给上一个活动
1)在FirstActivity中点击进入SecondActivity
startActivityForResult(),此方法接受俩个数据,第一个方法为Intent,第二个为请求码
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
2)在SecondActivity中将将数据返回上一层
Intent intent = new Intent();
intent.putExtra("dataReturn","Hello FirstActivity");
setResult(RESULT_OK,intent);
finish();
3)在FirstActivity中重写onActivityResult()方法获取返回的数据
View缺省为可见的,在应用可以通过setVisibility 修改View的可见性,View可用性可以有如下三种状态:
View.VISIBLE View可见
View.INVISIBLE View不可以见,但仍然占据可见时的大小和位置。
View.GONE View不可见,且不占据空间。
本例使用三个按钮来修改View B的可见性:
[java]
OnClickListener mVisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.VISIBLE);
}
};
OnClickListener mInvisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.INVISIBLE);
}
};
OnClickListener mGoneListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.GONE);
}
};
OnClickListener mVisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.VISIBLE);
}
};
OnClickListener mInvisibleListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.INVISIBLE);
}
};
OnClickListener mGoneListener = new OnClickListener() {
public void onClick(View v) {
mVictim.setVisibility(View.GONE);
}
}