如何切换按钮的状态保存到数据库中,如果用户编辑然后进行编辑状态应保存到数据库中的机器人数据库中、状态、编辑、机器人

2023-09-05 04:51:38 作者:半盏流年

如何切换按钮的状态保存到数据库中,如果用户编辑然后进行编辑状态应保存到数据库中android.the以下是我的code,它正在fine.but的问题是,当用户编辑为在这是对国家和绿光的切换按钮显示。然后用户执行所需的actions.when用户再次回来再编辑它显示的的只不过否绿灯是visible.so看起来糟糕,所以请帮助我,以下是我的code。

 保护无效的onCreate(包savedInstanceState){
                super.onCreate(savedInstanceState);
                的setContentView(R.layout.edit_layout);
                的EditText =(EditText上)findViewById(R.id.device_text);
                光=(切换按钮)findViewById(R.id.light);
                报警=(切换按钮)findViewById(R.id.alarm);
                DB =新DataBaseAdapter(本);

                 意图I = getIntent();


                   如果(i.hasExtra(DNAME))
                         VAL = i.getStringExtra(DNAME);


                   如果(i.hasExtra(Dlight))
                   轻微= i.getStringExtra(Dlight);
                   疫病=通过Boolean.valueOf(轻微);


                   如果(i.hasExtra(Dalarm))
                   salarm = i.getStringExtra(Dalarm);
                   balarm =通过Boolean.valueOf(balarm);
                如果(i.hasExtra(Daddress))
                    POS = i.getStringExtra(Daddress);


              db.open();
              db.insertData(POS,缬氨酸,轻微的,salarm);

                 C = db.getData();
                 edittext.setText(VAL);
                 light.setText(轻微);
                // light.setChecked(疫病);
                 alarm.setText(salarm);
                 //alarm.setChecked(balarm);

                    db.close();
             }


                @覆盖
                公共无效onBack pressed(){
                    db.open();
                    C = db.getData();

                    如果(c.moveToFirst()){
                        做 {


                                字符串STRSQL =UPDATE DeviceDetails SET设备名='+ edittext.getText()的toString()+'WHERE UUID ='+ c.getString(c.getColumnIndex(的uuid))+';
                                db.select(STRSQL);

                                。轻微= light.getText()的toString();
                                。salarm = alarm.getText()的toString();


                                如果(pos.equalsIgnoreCase(c.getString(c.getColumnIndex(的uuid))))
                                {
                                db.updateData(POS,edittext.getText()的toString(),轻微的,salarm。);
                                }

                           意向意图=新的意图();
                            intent.putExtra(DNAME,edittext.getText()的toString());
                            intent.putExtra(Daddress,POS);
                            intent.putExtra(Dlight,轻微的);
                            intent.putExtra(Dalarm,salarm);
                            的setResult(RESULT_OK,意图);
                            完();
                    }而(c.moveToNext());
                    }

                db.close();

                super.onBack pressed();
                }
}
 

解决方案

通过以下方式我做,我的问题就解决了​​。

 保护无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.edit_layout);
    的EditText =(EditText上)findViewById(R.id.device_text);
    光=(切换按钮)findViewById(R.id.light);
    报警=(切换按钮)findViewById(R.id.alarm);
    DB =新DataBaseAdapter(本);

     意图I = getIntent();


       如果(i.hasExtra(DNAME))
             VAL = i.getStringExtra(DNAME);


       如果(i.hasExtra(Dlight))
       轻微= i.getStringExtra(Dlight);
       疫病=通过Boolean.valueOf(轻微);


       如果(i.hasExtra(Dalarm))
       salarm = i.getStringExtra(Dalarm);
       balarm =通过Boolean.valueOf(balarm);

       Log.v(___编辑CLASS____________,__LIGHT TEXT _____________+轻微的);
       Log.v(_____编辑CLASS_____________,___ALARM TEXT ____________+ salarm);

       Log.v(___编辑CLASS____________,__LIGHT布尔_____________+枯萎病);
       Log.v(_____编辑CLASS_____________,___ALARM布尔____________+ balarm);


// edittext.setText(VAL);
    如果(i.hasExtra(Daddress))
        POS = i.getStringExtra(Daddress);
  Log.v(___________的EditText,______________+ edittext.getText());
  Log.v(__________地址,_______________+ POS);


  db.open();

  db.insertData(POS,缬氨酸,轻微的,salarm);

     C = db.getData();
     edittext.setText(VAL);
     light.setText(轻微);
    // light.setChecked(疫病);
     alarm.setText(salarm);
     //alarm.setChecked(balarm);
     如果(slight.equalsIgnoreCase(上))
     {
         light.setChecked(真正的);
     }
     其他

     {
         light.setChecked(假);
     }
     如果(salarm.equalsIgnoreCase(上))
     {
         alarm.setChecked(真正的);
     }
     其他

     {
         alarm.setChecked(假);
     }
 

db.close();         }

  @覆盖
    公共无效onBack pressed(){
        //保存数据();
        db.open();
        C = db.getData();

        如果(c.moveToFirst()){
            做 {

                   //轻微= light.setClickable(真正的);
                    // salarm =将String.valueOf(balarm);

                    Log.v(_______ BACK preSSED,______ UUID ___________+ c.getString(c.getColumnIndex(的uuid)));
                    Log.v(_______ POS,______ UUID ___________+ POS);
                    字符串STRSQL =UPDATE DeviceDetails SET设备名='+ edittext.getText()的toString()+'WHERE UUID ='+ c.getString(c.getColumnIndex(的uuid))+';
                    db.select(STRSQL);
                    Log.v(___查询,_________________+ db.select(STRSQL));
                    。轻微= light.getText()的toString();
                    。salarm = alarm.getText()的toString();
                    Log.v(___编辑CLASS____________,__SLIGHT ___后__________+轻微的);
                    Log.v(_____编辑CLASS_____________,___SALARM ___后_________+ salarm);

                    如果(pos.equalsIgnoreCase(c.getString(c.getColumnIndex(的uuid))))
                    {
                    db.updateData(POS,edittext.getText()的toString(),轻微的,salarm。);
                    }
                    /*Log.v("_______BACK preSSED,______ UUID ___________+ c.getString(c.getColumnIndex(的uuid)));
                    Log.v(_______ CCCCCC,______设备名___________+ c.getString(c.getColumnIndex(设备名称)))​​;
                    Log.v(______编辑以dB为单位,______ LIGHT ___________+ c.getString(c.getColumnIndex(轻)));
                    Log.v(______编辑以dB为单位,______报警___________+ c.getString(c.getColumnIndex(报警)));
            * /
            / * Log.v(______ device_____text,______________+ c.getString(c.getColumnIndex(设备名)));
                Log.v(___________的EditText,_______________+ edittext.getText()的toString());
                Log.v(_____ ADDRESS______edittext,_______________+ POS);
            * /意向意图=新的意图();
                intent.putExtra(DNAME,edittext.getText()的toString());
                Log.v(_____的EditText在intent________,__________+ edittext.getText()的toString());
                intent.putExtra(Daddress,POS);
                Log.v(_____的EditText在intent________,__________+ POS);
                intent.putExtra(Dlight,轻微的);
                intent.putExtra(Dalarm,salarm);
                的setResult(RESULT_OK,意图);
                完();
            / * Log.v(_______编辑以dB为单位,______设备名___________+ c.getString(c.getColumnIndex(设备名称)))​​;
                Log.v(______编辑以dB为单位,______ LIGHT ___________+ c.getString(c.getColumnIndex(轻)));
                Log.v(______编辑以dB为单位,______报警___________+ c.getString(c.getColumnIndex(报警)));
        * /
            }而(c.moveToNext());
        }

    db.close();

    super.onBack pressed();
    }
 
Axure 8.0 同一个元件实现 关注 按钮状态切换

how to save toggle button state to database and if user edits then edited state should be saved to database in android.the following is my code it is working fine.but the problem is that when user edits to on it is in on state and green light displays on toggle button. and then user performs the required actions.when user again comes back to edit again it displays on only but no green light is visible.so it looks bad so please help me and following is my code.

    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();
                }  
}

解决方案

in the following way i done and my problem solved.

                 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);

       Log.v("___EDIT CLASS____________", "__LIGHT TEXT_____________"+slight);
       Log.v("_____EDIT CLASS_____________", "___ALARM TEXT____________"+salarm);

       Log.v("___EDIT CLASS____________", "__LIGHT boolean_____________"+blight);
       Log.v("_____EDIT CLASS_____________", "___ALARM boolean____________"+balarm);


//  edittext.setText(val);
    if(i.hasExtra("Daddress"))
        pos=i.getStringExtra("Daddress");
  Log.v("___________edittext", "_______________"+edittext.getText());
  Log.v("__________address", "_______________"+pos);


  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);
     if(slight.equalsIgnoreCase("on"))
     {
         light.setChecked(true);
     }
     else

     {
         light.setChecked(false);
     }
     if(salarm.equalsIgnoreCase("on"))
     {
         alarm.setChecked(true);
     }
     else

     {
         alarm.setChecked(false);
     }

db.close(); }

    @Override
    public void onBackPressed(){
        //saveData();
        db.open();
        c=db.getData();

        if (c.moveToFirst()) {
            do {

                   // slight=light.setClickable(true);
                    //salarm= String.valueOf(balarm); 

                    Log.v("_______BACK PRESSED", "______UUID___________"+c.getString(c.getColumnIndex("uuid")));
                    Log.v("_______pos", "______UUID___________"+pos);
                    String strSQL = "UPDATE DeviceDetails SET devicename ='"+ edittext.getText().toString() +"'  WHERE uuid = '"+c.getString(c.getColumnIndex("uuid"))+"'" ;
                    db.select(strSQL);
                    Log.v("___QUERY ", "_________________"+db.select(strSQL));
                    slight=light.getText().toString();
                    salarm=alarm.getText().toString();
                    Log.v("___EDIT CLASS____________", "__SLIGHT ___AFTER__________"+slight);
                    Log.v("_____EDIT CLASS_____________", "___SALARM ___AFTER_________"+salarm);

                    if(pos.equalsIgnoreCase(c.getString(c.getColumnIndex("uuid"))))
                    {
                    db.updateData(pos, edittext.getText().toString(),slight,salarm);
                    }
                    /*Log.v("_______BACK PRESSED", "______UUID___________"+c.getString(c.getColumnIndex("uuid")));
                    Log.v("_______cccccc", "______devicename___________"+c.getString(c.getColumnIndex("devicename")));
                    Log.v("______EDIT IN DB", "______LIGHT___________"+c.getString(c.getColumnIndex("light")));
                    Log.v("______EDIT IN DB", "______ALARM___________"+c.getString(c.getColumnIndex("alarm")));
            */
            /*  Log.v("______device_____text", "_______________"+c.getString(c.getColumnIndex("devicename")));
                Log.v("___________edittext", "_______________"+edittext.getText().toString());
                Log.v("_____ADDRESS______edittext", "_______________"+pos);
            */    Intent intent=new Intent();
                intent.putExtra("Dname", edittext.getText().toString());
                Log.v("_____edittext in intent________", "__________"+edittext.getText().toString());
                intent.putExtra("Daddress",pos);
                Log.v("_____edittext in intent________", "__________"+pos);
                intent.putExtra("Dlight", slight);
                intent.putExtra("Dalarm", salarm);
                setResult(RESULT_OK, intent);
                finish();
            /*  Log.v("_______EDIT IN DB", "______devicename___________"+c.getString(c.getColumnIndex("devicename")));
                Log.v("______EDIT IN DB", "______LIGHT___________"+c.getString(c.getColumnIndex("light")));
                Log.v("______EDIT IN DB", "______ALARM___________"+c.getString(c.getColumnIndex("alarm")));
        */
            } while (c.moveToNext());
        }

    db.close();

    super.onBackPressed();
    }