如何保存切換按鈕狀態數據庫,如果用戶編輯然後編輯狀態應保存到android.the數據庫是我的代碼,它工作正常。但問題是,當用戶編輯在它處於開狀態和綠燈顯示切換按鈕。然後用戶執行所需的操作。當用戶再次回來編輯時,它只在上顯示,但是沒有綠燈可見。所以請幫助我,以下是我的代碼。如何保存切換按鈕狀態到數據庫,如果用戶編輯然後編輯狀態應保存到數據庫android
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_layout);
edittext=(EditText)findViewById(R.id.device_text);
light=(ToggleButton)findViewById(R.id.light);
alarm=(ToggleButton)findViewById(R.id.alarm);
db = new DataBaseAdapter(this);
Intent i = getIntent();
if(i.hasExtra("Dname"))
val = i.getStringExtra("Dname");
if(i.hasExtra("Dlight"))
slight=i.getStringExtra("Dlight");
blight=Boolean.valueOf(slight);
if(i.hasExtra("Dalarm"))
salarm=i.getStringExtra("Dalarm");
balarm=Boolean.valueOf(balarm);
if(i.hasExtra("Daddress"))
pos=i.getStringExtra("Daddress");
db.open();
db.insertData(pos,val,slight,salarm);
c = db.getData();
edittext.setText(val);
light.setText(slight);
// light.setChecked(blight);
alarm.setText(salarm);
//alarm.setChecked(balarm);
db.close();
}
@Override
public void onBackPressed(){
db.open();
c=db.getData();
if (c.moveToFirst()) {
do {
String strSQL = "UPDATE DeviceDetails SET devicename ='"+ edittext.getText().toString() +"' WHERE uuid = '"+c.getString(c.getColumnIndex("uuid"))+"'" ;
db.select(strSQL);
slight=light.getText().toString();
salarm=alarm.getText().toString();
if(pos.equalsIgnoreCase(c.getString(c.getColumnIndex("uuid"))))
{
db.updateData(pos, edittext.getText().toString(),slight,salarm);
}
Intent intent=new Intent();
intent.putExtra("Dname", edittext.getText().toString());
intent.putExtra("Daddress",pos);
intent.putExtra("Dlight", slight);
intent.putExtra("Dalarm", salarm);
setResult(RESULT_OK, intent);
finish();
} while (c.moveToNext());
}
db.close();
super.onBackPressed();
}
}
我無線本地環路建議你使用共享prefrences保存狀態,這樣就可以擺脫entring的長碼,並從數據庫 – raj
這是件好事歌廳可是當我打開應用程序應該retrive從數據database.if它退出它應顯示該數據,否則null.so我使用數據庫。 – image
@ user3467237請閱讀與共享偏好相關的文檔。您是否知道即使您重新啓動設備,Shared Preference中的數據仍然存在?共享首選項中的數據以鍵值格式存在,這對於此場景很方便。對於單個值,使用SQLite並不是真的需要。 – Pallavi