0
在我的應用程序中,當用戶按下添加按鈕圖標時,會創建一個新按鈕並彈出一個對話框,以便用戶可以命名該按鈕。但是,當用戶關閉程序並重新打開它時,佈局顯然會重置。我怎樣才能保存用戶創建的按鈕,即使他們殺了應用程序?提前致謝。在Android應用程序中保存用戶創建的元素
在我的應用程序中,當用戶按下添加按鈕圖標時,會創建一個新按鈕並彈出一個對話框,以便用戶可以命名該按鈕。但是,當用戶關閉程序並重新打開它時,佈局顯然會重置。我怎樣才能保存用戶創建的按鈕,即使他們殺了應用程序?提前致謝。在Android應用程序中保存用戶創建的元素
您可以使用sharedpreferences
public class MainActivity extends AppCompatActivity {
Button b1;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String Name = "nameKey";
SharedPreferences sharedpreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkIfButtonNameAlreadyPresent();
b1=(Button)findViewById(R.id.button);
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(Name, /* name from the pop up */);
editor.commit();
Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show();
}
});
}
public void checkIfButtonNameAlreadyPresent(){
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String name = sharedpreferences.getString(Name, "");
if (name.equals("")){
b1.setText("Button");
} else {
//this should be executed if any name you added ever
b1.setText(name)
}
}
}
持久性存儲。 https://developer.android.com/guide/topics/data/data-storage.html –
但是,不要存儲「按鈕」,只是輸入的數據,並在讀取數據時重新創建按鈕退出 –
使用共享首選項來存儲用戶的數據https://developer.android.com/guide/topics/data/data-storage.html#pref – Basi