A
Android四大基本组件
Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器
src文件夹:Java代码
gen文件夹:系统自动生成的文件夹。R.java文件,任何资源都会生成一个资源id。
assets文件夹:打包的文件,webview相关的本地网页可以存放于此
bin文件夹:apk文件
libs文件夹:依赖的jar包
res文件夹:资源文件。drawable存放图片,layout存放布局配置文件,values存放字符串配置
AndroidManisfest.xml,配置文件,所有的组件或者服务都要来着注册。
project.properties,指定SDK版本
C 活动的生命周期
D 布局
主要控件:textview button editText imageView AlertDialog
四种布局:
linearLayout 线性布局
android:orientation vertical 垂直排列 horizontal 水平排列
relativeLayout 相对布局
tableLayout 表格布局
android:stretchColumns 指定值为 N,表示如果表格不能占满屏幕,则第N+1 个cell
ListView
性能优化
1)在getview方法中判断converview是否为空,如果不为空则不再重新加载view;
2)使用 viewHolder,减少findviewbyid的使用 。通过内部类,加入缓存
E 广播
标准广播 有序广播包
F 数据存储
1、文件存储
MODE_PRIVATE 覆盖写入
MODE_APPEND 追加写入
2、sharedPreference存储
2.1 得到sp对象
Context getSharedPreferences(FileName,操作方式)方法 MODE_PRIVATE 只有当前应用可以写入 MODE_MULTI_PROCESS 多进程可写入
Activity getPreference()
PreferenceManager getDefaultSharedPreferences() 静态方法
3、SQLite数据库
命令行操作数据库
adb shellcd /data/data/包名sqllite3数据库名.table 查看数据表.schema 查看建表语句
G 内容提供器
跨应用程序的数据共享
H 通知
pendingIntent
I 异步消息处理
1、机制
异步消息处理有四部分组成,Message Handler MessageQueue Looper
Looper是每个线程的管家,调用器loop()方法后,就会进入一个无线循环,每当messageQueue中有一条消息时,就会获取它并传递到Handler的handmessage()方法
2、AsyncTask 抽象类
J 服务
1、前台服务
Notification notification = new Notification(R.drawable.ic_launcher, "Notification comes", System.currentTimeMillis());
Intent notiintent = new Intent(this, MainActivity.class);
PendingIntent pint = PendingIntent.getActivity(this, 0, notiintent, 0);
notification.setLatestEventInfo(this, "title", "contentText", pint);
startForeground(1, notification);
2、intentService 在服务中开启子线程
K 位置服务
三种位置提供器:GPS_PROVIDER、NETWORK_PROVIDER、PASSIVE_PROVIDER