本文为我这个学渣的自我救赎笔记,只能包含一些重点了
|
四大组件:Activity、BroadcastReceiver(广播接收者)、Service(服务)、Content Provider(内容提供者)
|
目录(链接)
1,安卓四层结构体系,名称和内容
2,安卓UI各类布局属性,控件资源和属性
3,activity编程(可能有大题),数据的启动、跳转、回传
4,数据存储的参数、名称、属性
5,SQLite的crud(会写)
6,BroadcastReceiver和ContentProvider使用方法
7,Service的基本概念,重点关注启动方式和生命周期
六种布局:
常用控件:
Activity之间的跳转需要Intent(意图)组件,通过Intent可以开启新的Activity实现界面跳转功能。
|
1,显式意图
Intent intent =new Intent(this,Activity02.class);
intent.putExtra("extra_data","hello Activity02");
startActivity(intent);
数据接收
Intent intent =getIntent();
String data=intent.getStringExtra("extra_data");
2,隐时意图
相对显示来说,更为抽象,它并没有明确指定要开启哪个目标组件,而是通过action与category来指定
在Activity中,使用Intent既可以将数据传给下一个Activity,还可以将数据回传给上一个Activity。Activity中提供了一个startActivityForResult(Intent intent,int requestCode)方法,该方法也用于启动Activity,并且这个方法可以在当前Activity销毁时,返回一个结果给上一个Activity。
|
Activity01:
Intent intent=new Intent(this,Activity02.class);
startActivityForResult(intent,1);
Activity02:
Intent intent=new Intent();
intent.putExtura("extra_data,"hello activity01");
setResult(1,intent);
带回来的结果,request是你请求码,request是返回码(这两个码确定是哪个信息),intent是返回信息:
protected void onActivityResult(int requestCode,int resultCode,Intent intent){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==0){
if(resultCode==0){
String string =data.getStringExtra("extra_data");
}
}
}
XML解析方式:
JSON解析(就是json格式的那一套)
5种存储方式:
文件存储:文本、音频、图片等
SharedPreferences:采用k 、v的形式存储一些简单的配置信息,采用XML格式
SQLite数据库
ContentProvider
网络存储
增加一条数据
public void insert(String name,String price){
SQLiteDatabase db=helper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("name",name);
values.put("prices",prices);
long id=db.insert("information",null,values)//第二个意思是:如果为空行,则列名的值设置为null
db.close();
}
修改一条数据
public void insert(String name,String price){
SQLiteDatabase db=helper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("prices",prices);
long number=db.update("information",values,"name=?",new String[]{name});
db.close();
return number;
}
删除一条数据
public int delete(long id){
SQLiteDatabase db=helper.getWritableDatabase();
int number=db.delete("information","_id=?",new String[]{id+""});
db.close();
return number;
}
查询一条数据
public boolean find(long id){
SQLiteDatabase db=helper.getWritableDatabase();
Cursor cursor=db.query("information",null,"_id=?",new String[]{id+""},null,null,null);
boolean result=cursor.moveToNext();
cursor.close();
db.close();
return result;
}
接收广播:继承BroadcastReceiver类,重写onReceive()方法
内容提供者:访问之前需通过Context中的getContentRedolver()方法获取
创建方法:new ->service->service,在弹出来的窗口中输入名称即可
启动方式
startService()方法生命周期
bindService()方法生命周期