1.Android系统架构:从上往下 应用程序层,框架层,系统运行库,linux内核层
2.简述四大组件
android系统有四大组件,这四种组件构成android应用的框架,然后由intent联系这四种组件。其中Activity用来显示程序界面,service是没有界面的后台服务,常用来做数据处理,有时也用来做定时任务。广播接收器在广播机制中充当广播接受者的角色,android中充满各种广播,所以需要有选择的接收一些有用的广播并处理。内容提供者是在不同程序之间共享数据,可以把一个应用的数据提供给其它应用使用。
3.Activity
生命周期:oncreate,onstart,onresume,onpause,onstop,ondestory
四种状态:运行时,暂停,停止,销毁
横竖屏切换:android:configChanges="orientation|keyboardHidden"
启动:直接启动 Intent intent = new Intent(this,NewActivity.class); this.startActivity(intent);
带返回值的启动 startActivityForResult(Intent intent, int requestCode);
四种启动模式:standard,singleTop,singleTask,singleInstance
如何退出activity:1.单一activity直接finish(),killProcess()或System.exit().
2.多个,a.发特定广播 b.记录打开的activity,在需要退出的时候再关闭
4.Intent
六个属性:组件名,动作(action),数据(data),分类(category),额外信息(extra),标志(flags)
显示匹配,隐式匹配
为什么引入IntentFilter?
对于显式Intent,它的接受者已被指定,所以系统会自动把这个Intent发给指定的组件。但是对于隐式Intent,由于并没有指定其组件名属性,所以系统不知道该把它发给哪个组件名,于是系统就直接将其发出去,算是所有的组件都有权接收,这就需要定义一个组件可以接收到哪些Intent,所以就引入了IntentFilter(Intent过滤器)。
5.Adapter
Adapter控件:ListView Gallery(缩略图) Spinners(选择列表) GridView(网格图)
Adapter对象:
ArrayAdapter,最简单的Adapter,适合于列表项中只含有文本信息的情况
SimpleAdapter,适合于每一个列表项中含有不同的子控件,比如一个图片、一串文本和一个按钮的组合
SimpleCursorAdapter,专门用来把一个Cursor(游标)中的数据映射到列表中
自定义Adapter,
6.ListView
特点:1.采用MVC模式将前端显示和数据分离,M-数据 V-listView C-Adapter 2.数据通过Adapter来获取
缓存原理:1.如果成千上万条数据,只有可见项在内存中,其它都在Recycler中,Recycler是Android中专门用来处理缓存的组件
2.可重复利用convertView,当列表第一项滚出屏幕,并且一个新的项从屏幕低端上来时,convertView不为空
优化
---请写出从内部存储中读取一个文件的三个步骤。
答案:①调用openFileInput()方法并传入要读的文件的名称作为参数,它会返回一个FileInputStream对象。②调用该对象的read()方法读取字节数据。③最后,调用其close()方法关闭输入流。
7.Service