第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

共享偏好 Android Studio

共享偏好 Android Studio

猛跑小豬 2022-05-25 10:40:14
對于下面的代碼,我正在嘗試檢索共享首選項(xiàng),我認(rèn)為它保存正確,但是當(dāng)我返回登錄屏幕時,所有數(shù)據(jù)都消失了。當(dāng)我回到這個屏幕時,我需要它保留。所以我將姓名、年齡和身份證輸入到個人資料頁面上的三個單獨(dú)的行中。然后我按下保存按鈕然后通過按下操作欄返回之前的頁面。當(dāng)我回到個人資料頁面時,我的信息應(yīng)該仍然存在,但它沒有任何幫助嗎? package com.example.myprofile;import android.content.Context;import android.content.SharedPreferences;import android.preference.PreferenceManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import java.sql.Savepoint;public class Profile extends AppCompatActivity {             protected EditText NameEditText;             protected EditText AgeEditText;             protected EditText IDEditText;             protected Button saveButton;             protected Button settings_id;             String name;             String age;             String id;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_profile);        EditText mEdit = (EditText) findViewById(R.id.NameEditText);        mEdit.setEnabled(false);        EditText mEdit1 = (EditText) findViewById(R.id.AgeEditText);        mEdit1.setEnabled(false);        EditText mEdit2 = (EditText) findViewById(R.id.IDEditText);        mEdit2.setEnabled(false);        NameEditText = (EditText) findViewById(R.id.NameEditText);        AgeEditText = (EditText) findViewById(R.id.AgeEditText);        IDEditText = (EditText) findViewById(R.id.IDEditText);        settings_id = (Button) findViewById(R.id.settings_id);        saveButton = (Button) findViewById(R.id.SaveButton);         SharedPreferences prefs = getSharedPreferences(getString(R.string.ProfileName), Context.MODE_PRIVATE);         name = prefs.getString("userName", "");         age = prefs.getString("userAge", "");         id = prefs.getString("userID", "");
查看完整描述

3 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個贊

為了保存


SharedPreferences pref = getSharedPreferences("Name", Context.MODE_PRIVATE);

SharedPreferences.Editor editor = pref.edit();

editor.putBoolean("keyname",true);

editor.putString("keyname","string value");

editor.putInt("keyname","int value");

editor.putFloat("keyname","float value");

editor.putLong("keyname","long value");

editor.commit();

忘記


SharedPreferences pref = getSharedPreferences("Name", Context.MODE_PRIVATE);

pref.getString("keyname",null);

pref.getInt("keyname",0);

pref.getFloat("keyname",0);

pref.getBoolean("keyname",true);

pref.getLong("keyname",0);

對于單次刪除


SharedPreferences pref = getSharedPreferences("Name", Context.MODE_PRIVATE);

SharedPreferences.Editor editor = pref.edit();

editor.remove("keyname");

editor.commit();

對于所有刪除


SharedPreferences pref = getSharedPreferences("Name", Context.MODE_PRIVATE);

SharedPreferences.Editor editor = pref.edit();

editor.clear();

editor.commit();


查看完整回答
反對 回復(fù) 2022-05-25
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個贊

要保存數(shù)據(jù),請使用以下代碼示例


name = NameEditText.getText().toString();

age = AgeEditText.getText().toString();

id = IDEditText.getText().toString();


SharedPreferences prefs = getSharedPreferences(

      "com.example.myprofile", Context.MODE_PRIVATE);

SharedPreferences.Editor editor = prefs.edit();

editor.putString("userName", name);

editor.putString("userAge", age);

editor.putString("userID", id);

editor.apply();

要檢索數(shù)據(jù),請使用以下代碼示例


SharedPreferences prefs = getSharedPreferences(

    "com.example.myprofile", Context.MODE_PRIVATE);

name = prefs.getString("userName", "");

age = prefs.getString("userAge", "");

id = prefs.getString("userID", "");

之前的onCreate方法


String name;

String age;

String id;

解釋:

  • 的第一個參數(shù)getSharedPreferences是你的包名,基本上是你代碼的第一行。

  • 你不需要創(chuàng)建多個SharedPreferences實(shí)例,一個就足夠了

  • 您不需要創(chuàng)建多個SharedPreferences.Editor實(shí)例,一個也足夠了。

  • 您可能不想使用隨機(jī)的key,例如用戶的用戶名來保存數(shù)據(jù),因?yàn)槟S后需要通過意圖將密鑰傳遞給其他活動,如果您要這樣做,為什么不發(fā)送用戶名而不是鑰匙?

  • 使用editor.apply()代替editor.commit()

  • onPause()在 中保存和檢索數(shù)據(jù)是很常見的onResume(),因此將它們聲明為全局會很有用,以避免編寫額外的代碼行。


查看完整回答
反對 回復(fù) 2022-05-25
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個贊

您正在使用特定字符串( getString(R.string.ProfileAge) ....)通過使用 commit() 或 apply() 以私有模式將數(shù)據(jù)保存在共享首選項(xiàng)中:-


SharedPreferences sharedPreferences1 = getSharedPreferences(getString(R.string.ProfileAge), Context.MODE_PRIVATE);

                SharedPreferences sharedPreferences2 = getSharedPreferences(getString(R.string.ProfileID), Context.MODE_PRIVATE);

但是您并沒有嘗試在必須使用的私有模式下使用這些字符串獲取該數(shù)據(jù):-


SharedPreferences sharedPref = getSharedPreferences(getString(R.string.ProfileAge), Context.MODE_PRIVATE);

String name = sharedPref.getString("key", "defaultValue");


查看完整回答
反對 回復(fù) 2022-05-25
  • 3 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號