Android - 四大组件

一、活动Activity

  1、逻辑与视图分离,活动设置视图:setContentView(R.资源ID)

  2、生命周期:onCreate、onStart、onResume、onPause、onStop、onDestroy

  3、意图Intent:各组件之间交互的一种方式,如 startActivity(Intent实例)

  4、Activity栈:

    - 启动一个新的活动,它就会入栈并处于栈顶位置;

    - 点击Back键或调用finish()方法销毁一个活动,处于栈顶的活动会出栈,前一个入栈活动就会重新处于栈顶的位置;

    - 活动启动模式:standard、singleTop、singleTask、singleInstance ; 通过android:launchMode进行配置

      standdard:默认启动模式,每次启动都会创建该活动一个实例,并入栈;

      singleTop:启动活动时如果发现栈顶已经是该活动,则直接使用它,不会再创建新的活动实例;

      singleTask:启动活动时会在栈中检查是否存在该活动实例,如果存在则直接使用该实例,并把该活动之上的所有活动统统出栈;

      singleInstance:启用一个新的返回栈来管理该活动,可以用来解决不同应用程序共享活动实例(不管哪个应用程序访问该活动,都共用同一个返回栈);

  5、生命周期实例:

    - 开启活动:onCreate -> onStart -> onResume

    - Home键:onPause -> onStop

    - Back键(出栈):onPause -> onStop -> onDestroy 

    - 返回栈顶:onRestart -> onStart -> onResume

二、内容提供器ContentProvider

  1、不同应用程序之间实现数据共享

  2、访问其他程序中的数据:借助ContentResolver类,可以通过Context类的getContentResolver()方法获取到对象实例;

    ContentResolver类提供了 insert()、update()、delete()、query()方法进行CRUD操作;

    需要使用URI来定位内容,URI主要由两部分组成,权限(authority)和路径(path),例如:content://com.example.app.provider/table1

  3、创建自定义内容提供器

    通过新建一个类继承ContentProvider类的方式创建自定义内容提供器

    通过<provider>标签对内容提供器进行注册

      <provider 

        android:name="com.example.test.MyContentProvider"

        android:authorities="com.example.test.providers"

        android:exported="true"

       </provider>

    内容提供器需要一种机制来区分各种URI,android使用类 UriMatcher 来实现此功能;

 三、广播机制Broadcast  http://www.cnblogs.com/null2/p/5113711.html

posted @   chenyizh  阅读(152)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
点击右上角即可分享
微信分享提示