近期学习知识复习

23. 更改按钮 listview  gridview显示的内容 selector

24.上下文的菜单

  一,给某个view对象注册上下文的菜单

  二,重写上下文菜单的方法 /把上下文的菜单创建出来

  三,响应这个上下文菜单的点击事件

在api 文件userinterface – menu –上下文菜单

25.大文件通过服务器 去下载

26. 如何优化数据库. 16M - > 3M 清楚数据库的冗余数据

27. 如何建立数据库 数据库的增删改查

28.更改归属地显示位置, 通过重写onTouch的事件 实现控件的移动,位置的更改

Ontouch的事件 , boolean返回值, 定义事件是否继续向下传递

29.自定义一个activity样式, 更改style下面的样式 重写系统里面activity默认显示的风格.

30.windowManager 窗体的对象, 可以在窗体对象上挂载一个view (仿toast)来实现 .

Gravity.Top Botomm 

Gravity.Top|Gravity.Left = 51;

31.短信备份 在服务里面做比较耗时的操作,

Looper.prepare();

Toast….

Looper.loop();

32. xml的序列号

    serializer.setOutput(os,"utf-8");

    serializer.startDocument("utf-8",true);

注意:os.flush();

      Os.close()

33. 短信的内容提供者 content://sms/

34.packagemanager

ApplicationInfo -> 清单文件中 application所在的xml的节点的内容的包装

PackageInfo -> 清单文件中 整个androidmenifest节点信息的包装

35.popupwindow 比activity要轻量级的控件 开销> dialog

注意:一定要设置popupwindow的background

使用跟对话框类似

Show(); 指定显示的位置

Dismiss() : 销毁popupwindow

36. 一个listview里面数据内容的切换.

通过一些状态和表示判断当前listview的状态

SetAdatpter();

Adapter. NotifydataSetChange(); // 通知数据适配器数据发生了改变 界面会刷新 刷新的位置 是在当前的位置

adapter.notifyDataSetInvalidated();//通知数据适配器数据发生了改变

界面会刷新  导致整个界面的刷新

37 .删除某个应用

Uri package:包名

Action Intent. Action_delete

38. 分享某个应用

           IntentshareIntent = new Intent();

           shareIntent.setAction(Intent.ACTION_SEND);

           //shareIntent.putExtra("android.intent.extra.SUBJECT", "分享");

           shareIntent.setType("text/plain");

           //需要指定意图的数据类型

           shareIntent.putExtra(Intent.EXTRA_SUBJECT,"分享");

           shareIntent.putExtra(Intent.EXTRA_TEXT,

                  "推荐你使用一个程序" + item.getAppname());

           shareIntent= Intent.createChooser(shareIntent, "分享");

           startActivity(shareIntent);

39. listview的优化

复用convertview 减少getview方法对Inflater的操作

使用static的view对象的应用 减少内存中申请的局部变量的个数

//分批的加载数据

//分页的加载数据

// 懒加载

40. startService bindservice的区别 应用场景

同时startsevice开启服务 保证服务长期后台运行

Bindservice 绑定服务 ,调用服务里面的方法.

 

停止的处理 ->

如果绑定过了服务->显示停止绑定服务.

 

 

41. 启动模式

4中启动模式 -> singleInstance 新的一个任务栈的创建

42. 如何去停止一个死循环的子线程

Flag 方式控制子线程生命周期.

43.使用了keyGuradManager获取当前锁屏的状态.

44. 使用内容提供者更新数据库 ,注册一个内容观察者观察的路径

前提:  

getContext().getContentResolver().notifyChange(changeuri, null);

接下来 可以使用内容观察者 观察数据库内容的变换

getContext().getContentResolver().registerContentObserver();

45. LockScreenReceiver注册

android.intent.action.SCREEN_OFF

android.intent.action.SCREEN_ON

你可能感兴趣的:(近期学习知识复习)