不同App共享SharedPreferences(跨activity, application访问SharedPreferences)

写SharedPreferences的时候设置属性为Context.MODE_WORLD_READABLE:

SharedPreferences sharedPreferences = getSharedPreferences(shareName, MODE_WORLD_READABLE);

访问的时候:

Context otherContext = null;
try { 
    otherContext = createPackageContext("com.android.settings", Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
SharedPreferences sharedPreferences = otherContext.getSharedPreferences(shareName, MODE_WORLD_READABLE);


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是使用 Kotlin 和 SharedPreferences 编写一个简单的注册应用程序的基本步骤: 1. 创建一个新的 Kotlin Android 项目,并在 app 的 build.gradle 文件中添加以下依赖项: ```groovy implementation "androidx.appcompat:appcompat:1.3.0" implementation "androidx.core:core-ktx:1.6.0" ``` 2. 在 res/layout 目录中创建一个名为 activity_register.xml 的新布局文件,并在其中添加以下控件: ```xml <EditText android:id="@+id/usernameEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:inputType="text" /> <EditText android:id="@+id/passwordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" /> <Button android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Register" /> ``` 3. 创建一个新的 Kotlin 类,用于表示用户信息。例如: ```kotlin data class User(val username: String, val password: String) ``` 4. 在 MainActivity 类中,实例化 EditText 和 Button 控件,并在 Button 的点击事件中保存用户信息到 SharedPreferences。例如: ```kotlin class MainActivity : AppCompatActivity() { private lateinit var usernameEditText: EditText private lateinit var passwordEditText: EditText private lateinit var registerButton: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_register) usernameEditText = findViewById(R.id.usernameEditText) passwordEditText = findViewById(R.id.passwordEditText) registerButton = findViewById(R.id.registerButton) registerButton.setOnClickListener { val username = usernameEditText.text.toString() val password = passwordEditText.text.toString() val user = User(username, password) saveUser(user) Toast.makeText(this, "Registration successful", Toast.LENGTH_SHORT).show() } } private fun saveUser(user: User) { val sharedPreferences = getSharedPreferences("users", Context.MODE_PRIVATE) val editor = sharedPreferences.edit() editor.putString(user.username, user.password) editor.apply() } } ``` 5. 运行应用程序并测试。 这样,一个简单的注册应用程序就完成了。当用户在 EditText 中输入用户名和密码,并单击 Register 按钮时,应用程序将使用 SharedPreferences 保存用户信息。您可以使用 SharedPreferences 的 getString() 方法检索用户密码,以验证用户身份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值