• Android(digest)


    Android开发者文档这么说的:

    Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security.

    通俗的说,ContentProvider是一种数据包装器。它提供统一的接口对数据进行操作,使用者不用关心数据到底是如何存储的以及数据类型到底是什么。ContentProvider将数据封装好了,这样就能方便的管理数据了。它主要用于不同应用间,不同进程间的信息的共享

    为什么有ContentProvider?

    大家都知道,涉及到数据的访问就要考虑到数据的安全性。怎样在保证数据的安全性的同时,又能方便的访问数据呢?

    众所周知,Android系统是基于Linux内核的。在Linux中,文件具有如下图中的一系列属性,如文件权限。不同的用户或用户组对文件有不同的读写,执行的权限。如图中的r(Read),w(Write),x(Execute),-(无权限)。

    Android是基于Linux的,也继承了Linux的文件管理方式,通常每个应用都是独立的进程,也就是不同的用户。Android为每个应用程序分配了独立的用户ID和用户组ID。并且由这个应用程序创建出来的文件被赋予了相应的读写权限。其他应用程序无权访问。

    这样就保证了数据的安全性,但是这对数据的共享给第三方造成了不便。Android系统的开发者为了解决了这个问题,设计了ContentProvider类。Content Provider很好的兼顾了二者。

    1.3Android官方的ContentProvider

    Android官方为了便于第三方开发者开发,提供了一些ContentProvider。这些标准的Provider都定义在了android.provider中。 Android Standard Provider

    2.Content URI

    在了解Content URI之前,先了解下URI.

    URI:通用资源标识符(Uniform Resource Identifier, 简称"URI")主要用于Web上可用的每种资源 -HTML文档、图像、视频片段、程序等 - 进行定位。

    Android上的资源也可以用URI表示。

    文档中是这么描述URI的:

    A content URI is a URI that identifies data in a provider. Content URIs include the symbolic name entire provider (its authority) and a name that points to a table (a path). Content URI由三部分组成:"content://"、主机名(或理解为域名authority)、path(路径,其中id可选)。

    例如:

    用户字典的单词表: content://user_dictionary/word
    设备上存储的所有图片: content://media/internal/images
    联系人信息: content://contacts/people
    某个人的联系人信息: content://contacts/people/1
    使用URI的parse方法将字符串转换为Uri: <Uri uri = Uri.parse("content://com.ijtsai.contactprovider/people");>

    http://www.cnblogs.com/JohnTsai/p/4034062.html

           这些方法定义了Activity完整的生命周期,实现这些方法,我们能监控Activity生命周期中的三个嵌套循环(monitor three nested loops in the activity lifecycle)
     
            1.Activity的entire lifetime(全部的生命期)发生在
                                  调用onCreate()和调用onDestory()之间。
            在onCreate()方法中执行全局状态的建立(例如定义布局),在onDestroy()方法中释放所有保存的资源。
           
     
           2.Activity的visible lifetime(可见的生命期)发生在
                                  调用onStart()onStop()之间。
             在这个期间,用户能在屏幕上看见Activity,和它进行交互。
            系统在Activity的完整寿命中可能多次调用onStart()和onStop(),正如Activity交替地对用户可见或隐藏。
     
          3Activity的foreground lifetime (前台的生命期)发生在
                                   调用onResume()onPause()之间。
           在这期间,Activity在屏幕上所有其他Activity的前面,有用户输入焦点。
           一个Activity能频繁的在前台进入和出去之间转变。

    http://www.cnblogs.com/JohnTsai/p/4052676.html

  • 相关阅读:
    java注解-笔记
    java重载与重写-笔记
    java中(equals与==)- 笔记
    Java迭代与递归-笔记
    C++指针悬挂-笔记
    极速倒入sql记录到excel表格,19个子段5万条记录只需30秒
    利用MCI的方法可以方便的实现光驱门的开关
    如何让你的程序在任务列表隐藏
    如何实现遍历文件夹中的所有文件
    识别操作系统版本
  • 原文地址:https://www.cnblogs.com/softidea/p/4053274.html
Copyright © 2020-2023  润新知