1,234
edits
Changes
→Using a pre-built DB file
Make sure this code runs when your app starts up and don't forget to put your db file in the assets folder.
== Not using a pre-built DB file ==
If you don't need any data in your database to start with: you don't need to do the stuff from the section above, you can simply create the database in the SQLiteOpenHelper's onCreate(). See the Vogella tutorial for sample code.
Here's a basic demo:
# Add a class for your database records - for example <code>public class Student { ... }</code>
## Add private data to the class
## Add constructor methods as needed
## Add setter and getter methods for each item in the database record
# Add a second class to be your database handler. For example: <code>public class MyDBHandler extends SQLiteOpenHelper { ... }</code>
## Add private data for database version and database name
## Add private data for table name
## Add private data for each item in the database record
## Add a constructor as needed
## In the onCreate method execute an SQL statement to create the table
## In the onUpgrade method execute an SQL statement delete the table if it exists and then call onCreate() to make a new table
## Add methods to
##* Find an item in the database
##* Delete an item from the database
##* Add an item to the database
##* If needed you could add a method to modify an item in the database
# Now modify your main activity layout to include the following:
#* Two EditText views (StudentName and StudentGrade)
#* One TextView (ID)
#* Three buttons (Add, Delete, Find)
# Add 3 class variables to your main activity
#* TextView idView
#* EditText studentNameText
#* EditText studentGradeText
# In the onCreate method get references to the 3 views
# Add 3 onClick method names in the main layout file. One for each button.
#* android:onClick="addStudent"
#* android:onClick="deleteStudent"
#* android:onClick="findStudent"
# Finally code the three methods in your MainActivity.java class like this
<source lang="java">
public void addStudent(View view)
{
int grade = Integer.parseInt(studentGradeText.getText().toString());
Student student = new Student(studentNameText.getText().toString(), grade);
dbHandler.addStudent(student);
studentNameText.setText("");
studentGradeText.setText("");
}
public void findStudent (View view)
{
Student student = dbHandler.findStudent(studentNameText.getText().toString());
if (student != null) {
idView.setText(String.valueOf(student.getID()));
studentGradeText.setText(String.valueOf(student.getStudentGrade()));
} else {
idView.setText("No Student Found");
}
}
public void deleteStudent (View view)
{
boolean result = dbHandler.deleteStudent(studentNameText.getText().toString());
if (result) {
idView.setText("Student Deleted");
studentNameText.setText("");
studentGradeText.setText("");
} else {
idView.setText("No Student Found");
}
}
</source>
<ol start="8"><li>You should now be able to run your DB app.</li></ol>