整理一下学习Android的入门知识
学习视频:http://www.imooc.com/learn/96
Android目录
asset : 不会自动生成资源id
res :自动生成资源id
控件
Android控件 | HTML中与之功能相似的标签 | 备注 |
---|---|---|
TextView | label | |
AutoCompleteTextView | 无 | 动态匹配输入文本 |
MultiAutoCompleteTextView | 无 | 动态匹配多次输入文本 |
EditText | input | 输入框 |
ImageView | img | |
Button | button | 文本按钮 |
ImageButton | button | 图片按钮 |
ToggleButton | 无 | 开关按钮 |
Checkbox | checkbox | 复选按钮 |
RadioButton | radio | 单选按钮 |
RadioGroup | 无 | 一组单选按钮,多选一 |
事件
为控件添加事件监听的步骤:
1、初始化控件对象, 如
loginBtn = (Button)findViewById(R.id.xml布局文件中的控件ID)
2、调用控件自身的setOnClickListener()
方法设置事件监听器, 如loginBtn.setOnClickListener()
3、在监听器内部实现事件监听和处理,三种实现方式:
3.1、内部匿名类
loginBtn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//编写监听、处理点击事件
}
});
3.2、外部匿名类
//定义外部类,并且实现OnClickListener接口
class MyOnClickListener implements OnClickListener{
public void onClick(View v){
//编写监听、处理点击事件
}
}
//在监听器内使用外部匿名类实现事件监听
loginBtn.setOnClickListener(new MyOnClickListener(){
public void onClick(View v){
//调用独立类的事件处理方法
super.onClick();
//在当前方法中监听、处理事件
}
});
//外部匿名类的另一种写法,将外部匿名类赋予一个OnClickListener接口的对象
OnClickListener listener = new MyOnClickListener(){
public void onClick(View v){
//调用独立类的事件处理方法
super.onClick();
//在当前方法中监听、处理事件
}
}
loginBtn.setOnClickListener(listener);
3.3、实现接口
//MainActivity类直接实现OnClickListener接口,并重写onClick()方法
public void onClick(View v){
//调用监听、处理点击事件
}
//将监听事件的对象——MainActivity的当前对象(即this)绑定到当前控件上
loginBtn.setOnClickListener(this);
注:Android中常用到接口与匿名内部类的配合使用
用法一:
InterfaceDemo itfa = new InterfaceDemo(){
public void paly(){
//code
}
};
itfa.paly();
用法二:
new InterfaceDemo(){
public void paly(){
//code
}
}.paly();
布局
linearLayout
RelativeLayout
FrameLayout
TableLayout
签名打包
右键项目Export --> Export Android Application --> Create new keystore
注:一定要妥善保管好签名文件
四大组件之Activity
三步创建Activity
1、编写布局XML文件
2、编写activity,继承自android.app.Activity,重写onCreate()方法,在其中关联该activity的布局xml文件:setContentView(R.layout.布局XML文件名);
3、在AndroidManifest.xml中注册Activity
Activity生命周期
方法名 | 含义 | 运行时机 |
---|---|---|
onCreate() | 创建 | |
onStart() | 运行 | |
onResume() | 获取焦点 | |
onPause() | 失去焦点 | activity被部分遮挡(如弹出遮罩层);按返回键退出app;按home键app后台运行(短时间内) |
onStop() | 暂停 | activity被完全遮挡;按home键app后台运行(长时间后) |
onDestory() | 销毁 | |
onRestart() | 重新运行 | 关闭遮罩层、返回到之前的activity; |
Intent组件
Android各组件间的通讯通过Intent来完成
Intent实现页面之间的跳转
startActivity(intent);//无返回结果的跳转
startActivityForResult(intent,requestCode);//有返回结果的跳转