Android攻城狮学习笔记—入门篇三
第十章 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, 1); } }); } /* * requestCode:请求标识,可能会调用多个startActivityForResult(intent,requestcode)方法 * resultCode:第二个页面返回的标识 * data:第二个页面回传的数据 * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //2为第二个页面设置的结果码 if(requestCode == 1 && resultCode == 2 ){ //“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文档的使用