没有互联网连接时,Android代码在sqlite中保存数据

时间:2016-01-22 12:01:27

标签: android android-sqlite offline

嗨我做了一个小应用程序,我需要在没有互联网连接的情况下在sqlite中存储数据。这是我的代码。它没有显示任何错误,但数据未保存在sqlite中。有什么问题。

submit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                if(isOnline()==true)
                {
                    if(edittext1.getText().toString().length()==0)
                    {
                        Toast.makeText(getApplicationContext(), "Key NO(FX)", Toast.LENGTH_SHORT).show();
                    }
                    else if(edittext2.getText().toString().length()==0)
                    {
                        Toast.makeText(getApplicationContext(), "Old switch MAC ID(Volktek)", Toast.LENGTH_SHORT).show();
                    }
                    else if(switchtypedata.contains("New Switch Type"))
                    {
                        Toast.makeText(getApplicationContext(), "Select New Switch Type", Toast.LENGTH_SHORT).show();
                    }
                    else if(edittext3.getText().toString().length()==0)
                    {
                        Toast.makeText(getApplicationContext(), "Please Enter CTS Switch IP", Toast.LENGTH_SHORT).show();
                    }
                    else if(batteryreplaceddata.contains("Fx Battery Replaced"))    
                    {
                        Toast.makeText(getApplicationContext(), "Please select Fx Battery Replaced or Not", Toast.LENGTH_SHORT).show();
                    }
                    else if(batterytype.getVisibility()==View.VISIBLE)
                    {
                        if(batterytypedata.contains("Battery Type"))
                        {
                            Toast.makeText(getApplicationContext(), "Please Select Battery Type", Toast.LENGTH_SHORT).show();
                        }
                        else if(edittext4.getText().toString().length()==0)
                        {
                            Toast.makeText(getApplicationContext(), "Please Enter Replaced Battery serial No", Toast.LENGTH_SHORT).show();
                        }
                        else if(edittext5.getText().toString().length()==0)
                        {
                            Toast.makeText(getApplicationContext(), "Please Enter Recovered Battery Serial No", Toast.LENGTH_SHORT).show();
                        }
                        else 
                        {
                            ed1 = edittext1.getText().toString();
                            ed2 = edittext2.getText().toString();
                            ed3 = edittext3.getText().toString();
                            ed4 = edittext4.getText().toString();
                            ed5 = edittext5.getText().toString();
                            ed6 = edittext6.getText().toString();
                            ed7 = edittext7.getText().toString();

                            dialog = ProgressDialog.show(FXPage.this, "", 
                                    "Validating user...", true);
                             new Thread(new Runnable() {
                                    public void run() {
                                        login();                          
                                    }
                                  }).start();  
                        }
                    }
                    else
                    {
                        ed1 = edittext1.getText().toString();
                        ed2 = edittext2.getText().toString();
                        ed3 = edittext3.getText().toString();
                        ed4 = edittext4.getText().toString();
                        ed5 = edittext5.getText().toString();
                        ed6 = edittext6.getText().toString();
                        ed7 = edittext7.getText().toString();

                        dialog = ProgressDialog.show(FXPage.this, "", 
                                "Validating user...", true);
                         new Thread(new Runnable() {
                                public void run() {
                                    login();                          
                                }
                              }).start();  
                    }
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "No Internet Connection", Toast.LENGTH_SHORT).show();
                    ed1 = edittext1.getText().toString();
                    ed2 = edittext2.getText().toString();
                    ed3 = edittext3.getText().toString();
                    ed4 = edittext4.getText().toString();
                    ed5 = edittext5.getText().toString();
                    ed6 = edittext6.getText().toString();
                    ed7 = edittext7.getText().toString();

                    System.out.println("benarjee"+ed1+ed2+ed3+ed4+ed5+ed6+ed7);

                    myDatabaseHelper =new MyDatabaseHelper(context);
                    sqLiteDatabase= myDatabaseHelper.getWritableDatabase();
                    MyDatabaseHelper.addinnformation(username,ed1,ed2,switchtypedata,ed3,batteryreplaceddata,batterytypedata,ed4,ed5,ed6,ed7,sqLiteDatabase);
                    Toast.makeText(getBaseContext(),"Data saved",Toast.LENGTH_LONG).show();
                    myDatabaseHelper.close();
                    System.out.println("print this");

                }


                }
        });

sqlite代码:

public class MyDatabaseHelper extends SQLiteOpenHelper {

     private static final String DATABASE_NAME="NUP.DB";
        private static final int DATABASE_VERSION=1;

        private static final String CREATE_QUERY="CREATE TABLE "+ FXInfo.FXDetails.TABLE_NAME+"("+
                FXInfo.FXDetails.USER_NAME+" TEXT, "+ FXInfo.FXDetails.FX_KEYNO+" TEXT, "
                + FXInfo.FXDetails.FX_OLDSWITCHMACID+" TEXT, "+ FXInfo.FXDetails.FX_NEWSWITCHTYPE+" TEXT, "
                + FXInfo.FXDetails.FX_CTSSWITCHIP+" TEXT, "+ FXInfo.FXDetails.FX_BATTREYREPLACED+" TEXT, "
                + FXInfo.FXDetails.FX_BATTREYTYPE+" TEXT, "+ FXInfo.FXDetails.FX_REPLACEDBATTERYSERIALNO+" TEXT, "
                + FXInfo.FXDetails.FX_RECOVERDBATTERYSERIALNO+" TEXT, "+ FXInfo.FXDetails.FX_GPSCOORDINATES+" TEXT, "
                + FXInfo.FXDetails.FX_FEEDBACK+" TEXT );";



    public MyDatabaseHelper(Context context) {
        // TODO Auto-generated constructor stub
         super(context,DATABASE_NAME,null,DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
         db.execSQL(CREATE_QUERY);
            Log.e("DATABASE OPERATION", "Table create..."+CREATE_QUERY);

            System.out.println("call this");
    }

     public static void addinnformation(String name,String fxkeyno,String fxoldswitchmacid,String fxnewswitchtype,
            String ctsswitchip, String fxbatteryreplaced,String fxbattertype,String fxbatteryreplacedsrialno,
            String fxbatteryrecoveredserialno,String fxgpscoordinates, String fxfeedback, SQLiteDatabase db){

         ContentValues contentValue = new ContentValues();
            contentValue.put(FXInfo.FXDetails.USER_NAME,name);
            contentValue.put(FXInfo.FXDetails.FX_KEYNO,fxkeyno);
            contentValue.put(FXInfo.FXDetails.FX_OLDSWITCHMACID,fxoldswitchmacid);
            contentValue.put(FXInfo.FXDetails.FX_NEWSWITCHTYPE,fxnewswitchtype);
            contentValue.put(FXInfo.FXDetails.FX_CTSSWITCHIP,ctsswitchip);
            contentValue.put(FXInfo.FXDetails.FX_BATTREYREPLACED,fxbatteryreplaced);
            contentValue.put(FXInfo.FXDetails.FX_BATTREYTYPE,fxbattertype);
            contentValue.put(FXInfo.FXDetails.FX_REPLACEDBATTERYSERIALNO,fxbatteryreplacedsrialno);
            contentValue.put(FXInfo.FXDetails.FX_RECOVERDBATTERYSERIALNO,fxbatteryrecoveredserialno);
            contentValue.put(FXInfo.FXDetails.FX_GPSCOORDINATES,fxgpscoordinates);
            contentValue.put(FXInfo.FXDetails.FX_FEEDBACK,fxfeedback);
            db.insert(FXInfo.FXDetails.TABLE_NAME,null,contentValue);
            Log.e("DATABASE OPERATION", "One row is insert");
        }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}

----------------------------------------------- ------------------------------ DOA课程:

public static abstract class FXDetails
    {
     public static final String USER_NAME="user_name";
     public static final String TABLE_NAME="fxinfor";
        public static final String FX_KEYNO="fxkeyno";
        public static final String FX_OLDSWITCHMACID="fxoldswitchmacid";
        public static final String FX_NEWSWITCHTYPE="fxnewswitchmacid";
        public static final String FX_CTSSWITCHIP = "fxctsswitchip";
        public static final String FX_BATTREYREPLACED = "fxbatteryreplaced";
        public static final String FX_BATTREYTYPE = "fxbatterytype";
        public static final String FX_REPLACEDBATTERYSERIALNO = "fxreplacedbatteryserialno";
        public static final String FX_RECOVERDBATTERYSERIALNO = "fxbatteryrecoveredserialno";
        public static final String FX_GPSCOORDINATES = "fxcoordinates";
        public static final String FX_FEEDBACK = "fxfeedback";
    }

0 个答案:

没有答案