android.app.Activity

本文详细介绍了Android中SharedPreferences的使用方法,包括获取、编辑及提交preferences文件的过程,并解释了单例模式下的工作原理。此外,还阐述了ContentResolver的作用及其在不同应用间数据交换的重要性。
public abstract SharedPreferences getSharedPreferences (String name, int mode)

Since: API Level 1
Retrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.

获得以name为名的preferences文件,返回SharedPreferences可修改其值.它是单例模式.


Parameters


name Desired preferences file. If a preferences file by this name does not exist, it will be created when you retrieve an editor (SharedPreferences.edit()) and then commit changes (Editor.commit()).

根据name获得SharedPreferences实例,如果不存在,则自动创建.通过SharedPreferences.edit()来编辑,然后Editor.commit()提交后才会改变

mode Operating mode. Use 0 or MODE_PRIVATE for the default operation, MODE_WORLD_READABLE and MODE_WORLD_WRITEABLE to control permissions. The bit MODE_MULTI_PROCESS can also be used if multiple processes are mutating the same SharedPreferences file. MODE_MULTI_PROCESS is always on in apps targetting Gingerbread (Android 2.3) and below, and off by default in later versions.
Returns


Returns the single SharedPreferences instance that can be used to retrieve and modify the preference values.

返回一个单例SharedPreferences,可以恢复和修改preference的值

See Also

MODE_PRIVATE
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE

MODE_MULTI_PROCESS

---------------------------------------------------------------------------------------------------------------------------

boolean android.content.SharedPreferences.getBoolean(String key, boolean defValue)


public abstract boolean getBoolean (String key, boolean defValue) 
Since: API Level 1 
Retrieve a boolean value from the preferences.
从preferences里面取回一个boolean值

Parameters
key  The name of the preference to retrieve. 根据name取回
defValue  Value to return if this preference does not exist. 如果不存在这个name,则返回defValue


Returns
Returns the preference value if it exists, or defValue. Throws ClassCastException if there is a preference with this name that is not a boolean.如果存在则返回,或者defValue,如果不是boolean值,则报ClassCastException
Throws
ClassCastException   

------------------------------------------------------------------------------------------------

public abstract ContentResolver getContentResolver ()


Since: API Level 1
Return a ContentResolver instance for your application's package.

mCloseFlag=false

mContentProvider=android.content.ContentProvider$Transport@44db41c8

mSQLiteCursor=android.database.sqlite.SQLiteCursor@44dbfd00

12-02 06:23:02.788: V/AlarmClock(292): android.content.ContentResolver$CursorWrapperInner@44dc0230

数据在android中是私有的,当然这而数据包括文件数据和数据库数据以及一些其他类型的数据。那么两个程序之间如何进行数据交换呢?解决这个问题主要靠ContentProvider。一个ContentProvider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。也就是说一个程序可以通过实现ContentProvider的抽象接口将自己的数据暴露出去。外界根本看不到,也就不用看到这个应用暴露的数据在应用当中如何存储的,或者是用数据库存储还是文件存储,还是网络存储。外界可以通过这套标准及统一的接口和程序中的数据打交道,可以操作程序中的数据。

外界的程序通过ContentResolver接口可以访问ContentProvider提供的数据,在Activity当中通过getContentResolver可以得到当亲的ContentResolver实例。ContentResolver提供的接口和ContentProvider中需要实现的接口对应。在ContentResolver中到相应的接口的话,ContentProvider会执行相应的接口,把结果返回。

在 Maven 的 POM 文件中添加对 `android.app.Activity` 的依赖,需要理解 Android 的依赖管理机制以及 Maven 与 Android 项目的集成方式。由于 `android.app.Activity` 是 Android SDK 的核心类之一,它并不以普通的 Maven 仓库形式提供,而是作为 Android SDK 的一部分存在于开发环境中。 如果目标是构建一个依赖于 Android 框架的模块(如测试库或工具库),则需要在 POM 文件中声明对 Android SDK 的依赖。通常,可以使用如下方式声明依赖: ```xml <dependency> <groupId>android</groupId> <artifactId>android</artifactId> <version>4.1.1.4</version> <scope>provided</scope> </dependency> ``` 此依赖项指向一个包含 Android API 的 JAR 文件,通常用于编译和测试目的。由于 Android SDK 本身不会发布到公共 Maven 仓库,因此可能需要手动安装 Android SDK 的 JAR 文件到本地 Maven 仓库,或者使用已有的本地仓库路径。例如,可以通过以下命令将 Android SDK 的 JAR 文件安装到本地 Maven 仓库: ```bash mvn install:install-file -Dfile=path/to/android.jar -DgroupId=android -DartifactId=android -Dversion=4.1.1.4 -Dpackaging=jar ``` 其中 `path/to/android.jar` 是 Android SDK 中 `android.jar` 文件的路径,通常位于 `$ANDROID_HOME/platforms/android-XX/android.jar`(XX 表示具体的 API 级别)。 此外,如果项目是基于 Gradle 构建的 Android 项目,并且希望在 Maven 发布过程中包含对 Android 框架的依赖,则需要确保 `.pom` 文件中正确声明了这些依赖项,以便使用该库的项目能够解析到所需的 Android 类 [^2]。 ### 注意事项 - `android.app.Activity` 依赖通常用于编译和测试阶段,因此 `<scope>provided</scope>` 是推荐的配置,表示该依赖由运行环境提供。 - 在实际的 Android 项目中,不需要显式声明对 `android` 的依赖,因为 Android SDK 会自动包含在构建过程中 [^3]。 ### 示例代码 以下是完整的 POM 文件片段,展示如何声明对 Android SDK 的依赖: ```xml <project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-android-library</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>android</groupId> <artifactId>android</artifactId> <version>4.1.1.4</version> <scope>provided</scope> </dependency> </dependencies> </project> ``` 通过上述配置,可以在 Maven 项目中引用 Android 的核心类如 `android.app.Activity`,但请确保环境已正确配置并包含所需的 Android SDK 文件 [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值