赞
踩
如下:
//构建其他应用的上下文
- 1
Context otherAppContext = createPackageContext("com.changcheng.sharedpreferences",
- 1
Context.CONTEXT_IGNORE_SECURITY);
- 1
///可以像使用自己saredPreferenf的文件一样操作
- 1
SharedPreferences sharedPreferences = otherAppContext.getSharedPreferences("preferences",
- 1
Context.MODE_WORLD_READABLE);
- 1
//注意,为了使其他程序可以访问本应用程序的配置。
- 1
//那么在我们使用 getSharedPreferences创建配置的时候必须为它的文件访问模式设置为允许其他程序读取或写入等。
- 1
因为 SharedPreferences 背后是使用 xml 文件保存数据.
getSharedPreferences(name,mode)方法
第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。
第二个参数指定文件的操作模式,共有四种操作模式,
另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,
这个方法默认使用当前类不带包名的类名作为文件的名称。
如果不通过创建Context访问其他应用的preference,可以以读取xml文件方式直接访问其他应用preference对应的xml文件,如:
File xmlFile =new File(“/data/data// shared_prefs /itcast.xml”);// 应替换成应用的包名
登录范例代码:
=======
知识简单,于是只列出两个相关的java
SharedPreferencesWriteActivity:
public class SharedPreferencesWriteActivity extends AppCompatActivity {
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
private Button mLoginBtn;
- 1
private EditText mUsernameET, mPasswordET;
- 1
@Override
- 1
public void onCreate(Bundle savedInstanceState) {
- 1
super.onCreate(savedInstanceState);
- 1
setContentView(R.layout.activity_shared_preferences_write);
- 1
initViews();
- 1
mLoginBtn.setOnClickListener(new View.OnClickListener() {
- 1
@Override
- 1
public void onClick(View v) {
- 1
String username = mUsernameET.getText().toString();// 获得用户名
- 1
String password = mPasswordET.getText().toString();// 获得密码
- 1
// 获得私有类型的SharedPreferences
- 1
SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE);
- 1
SharedPreferences.Editor editor = sp.edit();// 获得Editor对象
- 1
editor.putString("username", username);// 增加用户名
- 1
editor.putString("password", password);// 增加密码
- 1
editor.commit();// 确认提交
- 1
Intent intent = new Intent();// 创建Intent对象
- 1
// 指定跳转到SharedPreferencesReadActivity
- 1
intent.setClass(SharedPreferencesWriteActivity.this, SharedPreferencesReadActivity.class);
- 1
startActivity(intent);// 实现跳转
- 1
}
- 1
});
- 1
}
- 1
private void initViews() {
- 1
mLoginBtn = (Button) findViewById(R.id.btn_login);
- 1
mUsernameET = (EditText) findViewById(R.id.et_username);
- 1
mPasswordET = (EditText) findViewById(R.id.et_password);
- 1
}
- 1
}
SharedPreferencesReadActivity:
public class SharedPreferencesReadActivity extends AppCompatActivity {
private TextView mUsernameTV,mPasswordTV;
- 1
@Override
- 1
protected void onCreate(Bundle savedInstanceState) {
- 1
super.onCreate(savedInstanceState);
- 1
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。