Android - Inserting Data to SQLite

Operating System

In this tutorial we will try to create a Inserting Data to SQLite using Android. This simple application will create a database and then will insert a data at the same time. Android also provide an adaptive framework that allow the developer to develop an apps in a simpler way. It used in several gadget like smartphone, tablet, and even television. Android is open source to developers who has an interest in developing mobile apps. So let's now do the coding...

Getting Started:

First you will have to download & install the Android Development IDE (Android Studio or Eclipse). Android Studio is an open source development feel free to develop your things. Here's the link for the Android Studio https://developer.android.com/studio/index.html.

Layout Design

We will now create the design for the application, first locate the layout file called activity_main.xml, this is the default name when create a new activity. Then write these codes inside your layout file.
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context="com.razormist.insertingdatatodatabase.MainActivity">
  8.  
  9. <TextView
  10. android:id="@+id/tv_firstname"
  11. android:layout_height="wrap_content"
  12. android:layout_width="wrap_content"
  13. android:text="FIRSTNAME"
  14. android:textSize="18sp"
  15. android:layout_alignParentTop="true"
  16. android:layout_marginTop="40dp"
  17. android:layout_marginLeft="30dp"/>
  18.  
  19. <EditText
  20. android:id="@+id/et_firstname"
  21. android:layout_height="wrap_content"
  22. android:layout_width="wrap_content"
  23. android:layout_toRightOf="@+id/tv_firstname"
  24. android:layout_marginTop="25dp"
  25. android:ems="9"/>
  26.  
  27. <TextView
  28. android:id="@+id/tv_lastname"
  29. android:layout_height="wrap_content"
  30. android:layout_width="wrap_content"
  31. android:text="LASTNAME"
  32. android:layout_below="@id/tv_firstname"
  33. android:textSize="18sp"
  34. android:layout_marginTop="20dp"
  35. android:layout_marginLeft="33dp"/>
  36.  
  37. <EditText
  38. android:id="@+id/et_lastname"
  39. android:layout_height="wrap_content"
  40. android:layout_width="wrap_content"
  41. android:layout_toRightOf="@+id/tv_lastname"
  42. android:layout_marginTop="0dp"
  43. android:layout_below="@+id/et_firstname"
  44. android:ems="9"/>
  45.  
  46. <TextView
  47. android:id="@+id/tv_address"
  48. android:layout_height="wrap_content"
  49. android:layout_width="wrap_content"
  50. android:text="ADDRESS"
  51. android:layout_below="@id/tv_lastname"
  52. android:textSize="18sp"
  53. android:layout_marginTop="20dp"
  54. android:layout_marginLeft="50dp"/>
  55.  
  56. <EditText
  57. android:id="@+id/et_address"
  58. android:layout_height="wrap_content"
  59. android:layout_width="wrap_content"
  60. android:layout_toRightOf="@+id/tv_address"
  61. android:layout_marginTop="0dp"
  62. android:layout_below="@+id/et_lastname"
  63. android:ems="9"/>
  64.  
  65. android:id="@+id/btn_add"
  66. android:layout_height="wrap_content"
  67. android:layout_width="wrap_content"
  68. android:text="SAVE DATA"
  69. android:layout_below="@+id/et_address"
  70. android:layout_marginTop="20dp"
  71. android:layout_centerHorizontal="true"/>
  72.  
  73. </RelativeLayout>

Android Manifest File

The Android Manifest file provides essential information about your app to the Android system in which the system must required before running the code. It describe the overall information about the application. It contains some libraries that needed to access the several method within the app.
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.razormist.insertingdatatodatabase">
  4.  
  5. <application
  6. android:allowBackup="true"
  7. android:icon="@mipmap/ic_launcher"
  8. android:label="@string/app_name"
  9. android:roundIcon="@mipmap/ic_launcher_round"
  10. android:supportsRtl="true"
  11. android:theme="@style/AppTheme">
  12. <activity android:name=".MainActivity"
  13. android:configChanges="orientation"
  14. android:screenOrientation="portrait">
  15. <intent-filter>
  16. <action android:name="android.intent.action.MAIN" />
  17.  
  18. <category android:name="android.intent.category.LAUNCHER" />
  19. </intent-filter>
  20. </activity>
  21. </application>
  22. </manifest>

Creating The Database

This code contain the script for creating a database and a database connection. To create this first create a new java file called Database, open the newly created file then extend the class by adding SQLiteOpenHelper. After that write these variable inside the MainActivity class.
  1. public static final String DATABASE_NAME = "employee.db";
  2. public static final String TABLE_NAME = "tbl_employee";
  3. public static final String COL_1 = "ID";
  4. public static final String COL_2 = "firstname";
  5. public static final String COL_3 = "lastname";
  6. public static final String COL_4 = "address";
Then create the methods that handle the calling function.
  1. public Database(Context context) {
  2. super(context, DATABASE_NAME, null, 1);
  3. }
  4.  
  5. @Override
  6. public void onCreate(SQLiteDatabase db) {
  7. db.execSQL("CREATE TABLE " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, firstname TEXT, lastname TEXT, address TEXT)");
  8. }
  9.  
  10. @Override
  11. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  12. db.execSQL("DROP TABLE IF EXIST "+TABLE_NAME);
  13. onCreate(db);
  14. }
  15.  
  16. public boolean InsertData(String firstname, String lastname, String address){
  17. SQLiteDatabase db = this.getWritableDatabase();
  18. ContentValues contentValues = new ContentValues();
  19. contentValues.put(COL_2, firstname);
  20. contentValues.put(COL_3, lastname);
  21. contentValues.put(COL_4, address);
  22. long result = db.insert(TABLE_NAME, null, contentValues);
  23. if(result == -1){
  24. return false;
  25. }else{
  26. return true;
  27. }
  28. }

The Main Function

This code contains the main function of the application. This code will store the data to the SQLite database when the button is clicked. To start with first locate your MainActivity java file and open it, then write this variable inside the MainActivity class.
  1. Database database;
  2. EditText et_firstname, et_lastname, et_address;
  3. Button btn_add;
Then write this method to make to code work correctly.
  1. public void AddData(){
  2. btn_add.setOnClickListener(new View.OnClickListener() {
  3. @Override
  4. public void onClick(View v) {
  5. boolean hasInserted = database.InsertData(et_firstname.getText().toString(), et_lastname.getText().toString(), et_address.getText().toString());
  6.  
  7. if (hasInserted == true){
  8. Toast.makeText(MainActivity.this, "Successfully Inserted Data", Toast.LENGTH_SHORT).show();
  9. et_firstname.setText("");
  10. et_lastname.setText("");
  11. et_address.setText("");
  12. }
  13. }
  14. });
  15. }
Finally, initialize the require methods inside the onCreate method to run the application.
  1. database = new Database(this);
  2. et_firstname = (EditText)findViewById(R.id.et_firstname);
  3. et_lastname = (EditText)findViewById(R.id.et_lastname);
  4. et_address = (EditText)findViewById(R.id.et_address);
  5. btn_add = (Button)findViewById(R.id.btn_add);
  6.  
  7. AddData();
Try to run the app and see if it worked. There you have it we have created a Inserting Data to SQLite using Android. I hope that this tutorial help you to what you are looking for. For more updates and tutorials just kindly visit this site. Enjoy Coding!!!

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.

FOR YOUR OWN SAFETY, PLEASE:

1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Tags

Add new comment