关于Android开发中需要掌握的基础知识点讲述
1.android布局,控件
2.点击事件:
view:onclicklistener
3.对话框:
dialog:
new alertdialog.builder(context)
.settitle(标题)
.seticon(图标)
.setmessage(消息)
//.setview(view)
.setpositivebutton(确定,listener)
.setnagativebutton(取消,listener)
.show();
4.进度条对话框:
progressdialog:
progressdialog dialog = progressdialog.show(context,message);
5.activity:与用户进行交互
绑定view视图:setcontentview(布局资源)
6.启动activity,传值:
隐式启动:startactivity(new intent(action:目标activity的别名))
显示启动:startactivity(new intent(当前acitivty对象,目标activity.class))
通过intent的putextra(key,value)传值,value可以是所有数据类型
如果value是对象,需要该类实现序列化接口serializable
intent.putextras(bundle):bundle作用类似于map来存储数据
7.activity的声明周期:
创建 重新启动 启动 获得焦点 暂停 停止 销毁
oncreate、onrestart、onstart、onresume、onpause、onstop、ondestroy
a:oncreate、onstart、onresume
a-b:onpause(a)、oncreate(b)、onstart(b)、onresume(b)、onstop(a)
b-a(b返回到a):onpause(b)、onrestat(a)、onstart(a)、onresume(a)、onstop(b)、ondestroy(b)
在a页面按home键:onpause、onstop
8.activity四种加载模式:
标准模式:standard
栈顶模式:singletop
单个任务模式:singletask
当个实例模式:singleinstance(在一个新的任务栈中)
9.四种状态:运行、暂停、停止、销毁
10.listview:列表控件,能以列表的方式显示数据(数据一定是集合)
先获取listview;
为listview设置adapter:adapter需要自己去写
adapter优化:使用viewholder,来减少layoutinflater解析布局资源,减少findviewbyid的查找
11.gridview:默认情况和listview效果一致,可以设置多列显示,listview只能单列显示
numscolum来设置列数
12.解析,网络请求
xml,json
httpurlconnection
13.异步加载数据:因为在ui线程中不能进行耗时操作和网络请求。
hanlder:handler、message、messagequeue、looper
原理:进行线程切换,在子线程中进行耗时或者网络请求操作,完毕后切换到ui线程进行ui更新。
在主线程中创建handler对象,在子线程中将处理结果通过handler的send方法将结果以message对象的形式
发送到messagequeue中,looper从messagequeue中轮询抽取message对象,将抽取到的message对象交给对应的handler,
handler就能够回调他自己的handlemessage方法来处理该对象,也就是在这里面进行ui更新。
asynctask:谷歌提供一个轻量级的异步任务处理类。
自定义类继承asynctask,指定三个泛型参数.
重写方法,一般可以重写四个onpreexcute()(主线程,做准备工作)、
ondoinbackground()(子线程,做耗时或网络请求任务)、
onprogressupdate()(子线程,进度更新)、onpostexcute()(主线程,根据结果更新ui)
14.sharedpreferences:sp以xml的形式进行文件存储:存储一些配置信息。
存储:
editor edit = activity.getsharedpreferences(文件名字,访问模式).edit();
edit.put(key,value);
edit.commit();
读取:
sharedpreferences sp = activity.getsharedpreferences(文件名字,访问模式);
xxx value = sp.getxxx(key,默认值);