【发布时间】:2018-02-08 11:07:53
【问题描述】:
请向我推荐此代码的解决方案。这是行不通的。按下提交按钮后,应用程序返回。它不能存储数据
public class UserContract {
//if you need multi tabless user inner classes to represent each table inn class
public static abstract class NewUserinfo implements BaseColumns
{
public static final String USER_NAME="user_name"; //right side represent column name
public static final String USER_MOB="user_mob";
public static final String USER_EMAIL="user_email";
public static final String TABLE_NAME="user_info";
}
}
public class UserDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME="USERINFO.DB";
private static final int database_version=1;
private static final String create_query=
"CREATE TABLE "+ UserContract.NewUserinfo.TABLE_NAME + " ("+ UserContract.NewUserinfo.USER_NAME+" TEXT, "+
UserContract.NewUserinfo.USER_MOB+" TEXT,"+ UserContract.NewUserinfo.USER_EMAIL+" TEXT);";
public UserDbHelper(Context context)
{
super(context,DATABASE_NAME,null,database_version);
Log.e("database operation ","database created /opend");
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(create_query);
Log.e("database operation","table created");
}
public void addinformation(String name, String mob, String email, SQLiteDatabase db)
{
ContentValues contentValues=new ContentValues();
contentValues.put(UserContract.NewUserinfo.USER_NAME,name);
contentValues.put(UserContract.NewUserinfo.USER_MOB,mob);
contentValues.put(UserContract.NewUserinfo.USER_EMAIL,email);
db.insert(UserContract.NewUserinfo.TABLE_NAME,null,contentValues);
Log.e("database operation","one row insert");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
public class NewContactActivity extends AppCompatActivity {
UserDbHelper userDbHelper;
SQLiteDatabase sqLiteDatabase;
EditText editText,editText1,editText2;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_contact);
editText=findViewById(R.id.contect_name);
editText1=findViewById(R.id.mob_number);
editText2=findViewById(R.id.email);
}
public void addcontact(View view)
{
String name= editText.getText().toString();
String number=editText1.getText().toString();
String email=editText2.getText().toString();
userDbHelper=new UserDbHelper(context);
sqLiteDatabase=userDbHelper.getWritableDatabase();
userDbHelper.addinformation(name,number,email,sqLiteDatabase);
Toast.makeText(getBaseContext(), "data saved", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
你有什么stackerror要给我们看吗?
-
控制台是否显示任何错误如果显示请添加它
-
显示错误消息后重定向到主要活动
-
显示你的 logcat
-
这在 logcat 中出现红线
标签: java android database sqlite android-sqlite