2016-04-21 158 views
-2

我正在嘗試使日誌頁面但此代碼無法正常運行 應用程序運行tym說不幸已停止我不是沒有爲什麼。我是新的android任何一個plzz help .i我很沮喪運行應用程序後已停止應用程序

數據庫文件!從該文件的文件

public class MainActivity extends AppCompatActivity { 
     EditText mEditTextName,mEditTextPassword,mEditTextPhone,mEditTextAddress; 
     Button mButtonRegistration; 
     String getName,getPassword,getPhone,getAddress; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

     mEditTextName=(EditText)findViewById(R.id.name); 
     mEditTextPassword=(EditText)findViewById(R.id.password); 
     mEditTextPhone=(EditText)findViewById(R.id.phone); 
     mEditTextAddress=(EditText)findViewById(R.id.address); 
     mButtonRegistration=(Button)findViewById(R.id.register); 

     mButtonRegistration.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       getName=mEditTextName.getText().toString(); 
       getPassword=mEditTextPassword.getText().toString(); 
       getPhone=mEditTextPhone.getText().toString(); 
       getAddress=mEditTextAddress.getText().toString(); 

       RegistrationDetailsDataBaseFile objOfRegistrationDetailsDataBaseFile=new RegistrationDetailsDataBaseFile(getBaseContext()); 

       objOfRegistrationDetailsDataBaseFile.setName(getName); 
       Toast.makeText(getBaseContext(), "name", Toast.LENGTH_LONG).show(); 


      } 
     }); 

    } 
} 
+0

請張貼logcat的 – Pooya

+0

@Pooya的相關內容我在android系統的stdio是新我如何發佈logcat的內容 –

+0

在創建表的QUERY語句中,您沒有定義任何類型的列名稱,密碼,電話和地址。此外使用空格或逗號分隔列 –

回答

0

public class RegistrationDetailsDataBaseFile extends SQLiteOpenHelper { 

    public static final String DATABASE_NAME="registrationDataBase.db"; 
    public static final String TABLE_NAME="registrationTable"; 
    public static final String NAME="name"; 
    public static final String PASSWORD="password"; 
    public static final String PHONE="phone"; 
    public static final String ADDRESS="address"; 

    private static final String QUERY="CREATE TABLE "+TABLE_NAME+"(id integer primary key autoincrement"+NAME+"not null"+PASSWORD+"not null"+PHONE+"not null"+ADDRESS+"not null)"; 

    RegistrationDetailsDataBaseFile(Context context){ 
     super(context,DATABASE_NAME,null,1); 

    } 

    public void onCreate(SQLiteDatabase db){ 

     db.execSQL(QUERY); 
    } 

    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) 
    { 
     db.execSQL("drop table if exists"+TABLE_NAME); 
     onCreate(db); 
    } 

    public void setName(String nam){ 
     SQLiteDatabase db=this.getWritableDatabase(); 
     ContentValues contentValues=new ContentValues(); 
     contentValues.put(NAME,nam); 
     db.insert(TABLE_NAME,null,contentValues); 
     db.close(); 
    } 
} 

發送數據時並沒有定義任何類型的列。還有間距問題。要創建表的修改您的查詢語句如下:

private static final String QUERY="CREATE TABLE "+TABLE_NAME+" (id integer primary key autoincrement, "+NAME+" TEXT NOT NULL, "+PASSWORD+" TEXT NOT NULL, "+PHONE+" TEXT NOT NULL, "+ADDRESS+"TEXT NOT NULL);"; 

而且修改onUpgrade()方法如下:

public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) 
{ 
    db.execSQL("drop table if exists "+TABLE_NAME); 
    onCreate(db); 
}