با سلام و عرض ادب بنده یه پروژه دارم شامل سه کلاس،این پروژه ساده قراره که نام و نام خانوادگی کاربر رو بگیره و وقتی روی دکمه Button کلیک میشه،اطلاعات را در دیتابیس ذخیره کنه،اما مشکل اینجاست که دیتابیسی ایجاد نمیشه.میشه کمک کنید و مشکل رو بهم بگین؟
این کلاس اصلی برنامه تحت عنوان MainActivity.java :
کلاس دیگمون تحت عنوان Person :
و در نهایت PersonDatabaseAdapter :
مشکل عدم ایجاد دیتابیس کجاست؟
این کلاس اصلی برنامه تحت عنوان MainActivity.java :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class MainActivity extends AppCompatActivity { EditText editText1,editText2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1 = (EditText) findViewById(R.id.editText); editText2 = (EditText) findViewById(R.id.editText2); findViewById(R.id.btn).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { String name = editText1. getText ().toString(); String family = editText2. getText ().toString(); } }); } } |
کلاس دیگمون تحت عنوان Person :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | public class Person { private long id; private String name; private String family; public Person() { } public Person(String name, String family) { this.name = name; this.family = family; } public Person(long id, String name, String family) { this.id = id; this.name = name; this.family = family; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFamily() { return family; } public void setFamily(String family) { this.family = family; } } |
و در نهایت PersonDatabaseAdapter :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | public class PersonDatabaseAdapter { private Context context; private SQLiteOpenHelper sqLiteOpenHelper; public PersonDatabaseAdapter(Context context) { this.context = context; sqLiteOpenHelper = new SQLiteOpenHelper(context, "database.db" , null, 1) { @Override public void onCreate(SQLiteDatabase db) { String sql = "create table tbl_persons (id integer primary key, name text, family text)" ; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }; } public long savePerson(Person person) { String name = person.getName(); String family = person.getFamily(); long id = -1; SQLiteDatabase database = null; try { ContentValues values = new ContentValues(); values.put( "name" , name); values.put( "family" , family); database = sqLiteOpenHelper.getWritableDatabase(); id = database.insert( "tbl_persons" , null, values); } catch (Exception ex) { Log.d( "Database" , "Exception:" + ex.getMessage()); } finally { if ( database != null && database.isOpen()) { database.close(); } } return id; } } |
مشکل عدم ایجاد دیتابیس کجاست؟
