第十章 CheckBox
与其他控件类似 有自己的监听方法 实现监听 并定义被选中或取消后的操作
第十一章 RadioGroup和RadioButton
RadioGroup是RadioButton的集合,提供多选一机制
第十二章 五布局之线性布局LinearLayout
android:ore 垂直vertical 水平horizontal 页面布局属性 不重要
第十三章 五布局之帧布局FrameLayout
第十四章 五布局之相对布局RelativeLayout
第十五章 五布局之绝对布局AbsoluteLayout
第十六章 五布局之线性布局TableLayout
第十七章 重新认识Activity
Android的四大组件
Activity
Service
BroadcastReceiver
ContentProvider
Activity如何创建使用
(1)继承Android的Activity类
(2)重写onCreate()方法
(3)设置显示布局
(4)在AndroidManifest.xml中注册该Activity
第十八章 使用Intent实现页面跳转
intent负责各大组件之间的通讯
无返回结果的页面跳转
Aactivity.java(在这个activity中点击按钮后跳转到第二个activity)public class Aactivity extends Activity{ private Button bt1; //初始化按钮
private Context mContext; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ffactivity); bt1 = (Button)findViewById(R.id.button1);
mContext = this; bt1.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
Intent intent = new Intent(mContext, Sactivity.class); //不能直接应用this 声明全局变量 给变量赋值为this
startActivity(intent); // intent实现activity跳转
} }); } }
有返回结果的页面跳转
//第一个页面的代码
public class Factivity extends Activity{ private Button bt1; //点击button1 跳转到第二个页面
private Context mContext;
private TextView tv; // 第二个页面的回传数据显示在该textview中 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ffactivity); bt1 = (Button)findViewById(R.id.button2);
mContext = this;
tv = (TextView)findViewById(R.id.textView1); //监听按钮,点击时跳转到第二个页面并附带请求码
bt1.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
Intent intent = new Intent(mContext, Sactivity.class);
//第一个参数是intent对象,第二个参数requestcode是请求的一个标识
startActivityForResult(intent, );
}
}); } /*
* requestCode:请求标识,可能会调用多个startActivityForResult(intent,requestcode)方法
* resultCode:第二个页面返回的标识
* data:第二个页面回传的数据
* */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//2为第二个页面设置的结果码
if(requestCode == && resultCode == ){
//“data”为第二个页面存放数据的key
tv.setText(data.getStringExtra("data"));
}
}
}
//第二个页面的代码
public class Sactivity extends Activity {private Button bt1; //定义button,点击button时回传数据
private String str = "你好"; //定义需要回传的数据@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sactivity);bt1 = (Button)findViewById(R.id.button3);bt1.setOnClickListener(new OnClickListener() {@Override
public void onClick(View arg0) {
Intent data = new Intent();
//键值对放入
data.putExtra("data", str);
/*
* resultcode:回传码
* data:回传数据存放
* */
setResult(2, data); //通过setResult方法回传数据finish(); //销毁第二个页面
}
});}
}
第十九章 App签名打包
export…不再讲解
签名的必要性:
1 防止别人模仿你的包名后 篡改替换程序
2 同一个应用程序的不同版本必须使用同一个签名文件 否则无法自动更新
第二十章 Android的SDK文档的使用