如何访问外部应用程序的SharedPreference
示例AccessFromSharePreferenceDemo将说明如何读取其他应用程序(博客中另一项目:DemoSharedPreferences)中保存的SharedPreferences数据
1)新建android项目,项目名称:AccessFromSharePreferenceDemo
2)在继承自Activity的类中编写相应代码:
package com.mesada.demo1;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
/**
* This is a demo about access SharedPreferences.
*
* @author Xiaolong Long
* @date 2010-12-30
* @version 1.0
*/
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private static final boolean mIsPrintInfo = true;
public static final String PREFERENCE_PACKAGE = "com.mesada.demo";
public static final String PREFERENCE_NAME = "MyPrefsFile";
public static final String KEY_USERNAME = "USERNAME";
public static final String KEY_PWD = "PASSWORD";
public static int MODE = Context.MODE_WORLD_READABLE
+ Context.MODE_WORLD_WRITEABLE;
TextView mUserNameView;
TextView mPwdView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
if (mIsPrintInfo)
Log.i(TAG, "onCreate()...");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupControlers();
Context context = null;
try {
context = createPackageContext(PREFERENCE_PACKAGE,
Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
SharedPreferences settings = context.getSharedPreferences(
PREFERENCE_NAME, MODE);
String userName = settings.getString(KEY_USERNAME, "姚明");
String userPwd = settings.getString(KEY_PWD, "123456");
mUserNameView.setText(userName);
mPwdView.setText(userPwd);
}
/**
*
* Find the views that were identified by the id attributes from the XML.
*
* @param
* @return
* @date 2010-12-30
* @author Xiaolong Long
*/
private void setupControlers() {
if (mIsPrintInfo)
Log.i(TAG, "setupControlers()...");
mUserNameView = (TextView) findViewById(R.id.userName);
mPwdView = (TextView) findViewById(R.id.password);
}
}
2.main.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblusername" />
<TextView
android:id="@+id/userName"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lblpassword" />
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
3.AndroidMainfest.xml 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mesada.demo1"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
4)完成。
分享到:
相关推荐
在Android应用开发中,数据存储是至关重要的环节,它允许应用程序保存用户数据、配置或任何其他需要持久化存储的信息。Android提供了四种主要的数据存储方式:SharedPreferences、文件存储、SQLite数据库和...
在Android开发中,数据存储是应用必不可少的一部分,用于持久化用户数据或应用程序的状态。本教程主要探讨在Android Studio中如何实现文件存储和SharedPreferences存储,以QQ登录为例,讲解如何保存登录的用户名和...
在Android开发中,数据存储是一个重要的环节,用于持久化应用程序的数据。其中,`SharedPreference`是一种轻量级的数据存储方式,主要用于存储简单的键值对数据,如用户设置、偏好设置等。它以XML格式保存在设备的...
这个源码是开发者模仿小米应用市场的设计,创建的一个类似的应用程序模板。 在Android开发中,源码主要由Java或Kotlin编写,可能包括以下几个关键部分: 1. **项目结构**:源码通常会遵循MVP(Model-View-...
FileCacheUtils 是一个专门用来管理应用程序缓存的工具类,提供了多种方法来清除缓存,例如清除内部缓存、清除外部缓存、清除数据库、清除 SharedPreference 等。 在 FileCacheUtils 中,`cleanInternalCache()` ...
本文将深入探讨“数据存储第1部分”中的各个知识点,包括共享偏好设置(SharedPreference)、内部存储读写文件、获取SD卡剩余容量、文件访问权限、XML文件生成、Logcat日志记录、常见布局以及外部存储读写文件。...
7. **权限管理**:如果应用需要读写外部存储或访问网络,会涉及到Android的权限声明和请求。 通过对这个个人记账程序源码的深度研究,开发者不仅可以提升自己的Android开发技能,还能了解实际项目中的最佳实践,为...
1. **Android应用程序框架**:Android应用基于其特有的应用程序框架构建,包括Activity、Service、BroadcastReceiver、ContentProvider和Intent等核心组件。四次元微博客户端项目中,Activity可能被用作用户界面展示...
在Android系统中,常用的数据存储技术包括SharedPreference(用于轻量级数据存储)、内部数据存储(手机内存)、外部数据存储(如SD卡)、SQLite数据库以及网络存储。其中,SQLite数据库因其简洁和易于实现独享访问...
音乐Android专案会员名单: 休恩·明·史密斯(Huynh Minh Thinh) 潘陈泰国儿子Le Cong Huy 林沃光Truong 应用说明: App Music Android是一款可以在线/离线收听音乐的应用程序,其中包括可以有效管理音乐资源的库...
数据存储部分则讲解了Android中数据存储的基本知识,如SharedPreference、内部存储和外部存储(如SD卡)。 数据库操作是任何应用开发中不可或缺的一部分,手册提供了Sqlite数据库的基本知识和CRUD(创建、读取、...
- 应用程序组件:Activity、Service、BroadcastReceiver、ContentProvider的生命周期及其相互之间的通信。 - Intents:理解Intent的作用,如何使用Intent启动Activity或Service,以及隐式和显式Intent的区别。 - ...
WebView是Android SDK中的一个关键组件,它允许在应用程序内嵌入网页内容。在3DM游戏资讯客户端中,开发者通常会用WebView来加载游戏资讯、攻略等内容的网页,使用户可以在不离开应用的情况下查看网页信息。使用...
应用数据清除类,主要功能有清除内部/外部缓存,清除数据库,清除SharedPreference,清除文件和清除自定义目录 导出应用数据库工具类 日期工具类 手机状态工具类主要包括网络,蓝牙,屏幕亮度,飞行模式,音量等 ...
- Android系统由Linux内核、硬件抽象层、运行时环境、应用程序框架和应用程序组成。理解这五层架构对分析和解决问题至关重要。 2. **Activity生命周期** - Activity的创建、启动、暂停、恢复、停止和销毁等状态,...
- 应用程序组件(Activity、Service、BroadcastReceiver、ContentProvider)的作用及生命周期。 - Intent的作用和类型,以及如何在组件间通信。 2. **UI设计与布局** - XML布局文件的使用和优化。 - View和...
在Android开发中,创建一个下载工具类是相当常见的需求,它可以帮助我们管理应用程序中的文件下载任务,提高代码的可重用性和效率。本篇将详细探讨Android代码中的下载工具类,以及如何构建这样一个实用的工具。 ...
- BroadcastReceiver用于接收系统或其他应用程序发送的广播。 - **注册方式**: - 动态注册:在代码中通过`registerReceiver()`方法注册。 - 静态注册:在`AndroidManifest.xml`文件中声明。 - **接收短信示例**: ...
【KotlinDemo5.zip】是一个基于Kotlin编程语言的Android示例项目,旨在展示如何在Android应用程序中实现数据存储。这个项目涵盖了多个重要的Android开发知识点,包括文件存储、SharedPreferences存储以及SQLite...
- Linux内核层、系统库层、应用框架层、应用程序层。 47. **应用程序构成**: - APK文件包含Java代码、资源文件、Manifest等。 48. **XML解析**: - DOM解析(整个文档加载内存)、SAX解析(事件驱动,逐行读取...