Hello friends, today we will see a simple CRUD Example in Android using Active Android Library.This is a perfect alternate for SQLite in Android.
AndroidManifest.xml
Don't forget to add the following lines in your manifest fileAdd the following lines to initialize the ActiveAndroid.
Download From Github
Post your doubts and comments in the comments section.
About Active Android
ActiveAndroid is an active record style ORM (object relational mapper). What does that mean exactly? Well, ActiveAndroid allows you to save and retrieve SQLite database records without ever writing a single SQL statement. ActiveAndroid takes care of all the setup for Accessing the database in android.Project Setup
In the project you just created go to the app level build.gradle file and add these lines.dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
//Add this line
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
}
repositories {
jcenter()
//Add these two lines
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
AndroidManifest.xml
Don't forget to add the following lines in your manifest fileAdd the following lines to initialize the ActiveAndroid.
<meta-data
android:name="AA_DB_NAME"
android:value="test.db" />
<meta-data
android:name="AA_DB_VERSION"
android:value="5" />
<meta-data
android:name="AA_MODELS"
android:value="com.androidmads.actvieandroidexample.Details" />
Create a class named MyApplication to initialize ActiveAndroid library. Add this Class in manifest file within application tag.package com.androidmads.actvieandroidexample.app;
import android.app.Application;
import com.activeandroid.ActiveAndroid;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//Initializing Active Android
ActiveAndroid.initialize(this);
}
}
Create a Model class for Each table extended with activeandroidpackage com.androidmads.actvieandroidexample;
import com.activeandroid.Model;
import com.activeandroid.annotation.Column;
import com.activeandroid.annotation.Table;
/**
* Created by Mushtaq on 27-05-2016.
*/
@Table(name = "Details")
public class Details extends Model {
@Column(name = "Name")
public String name;
@Column(name = "Age")
public String age;
}
Create a layout file and paste the following lines<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
android:text="@string/app_name"
android:textSize="16sp"
android:background="@drawable/tv_bg"/>
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/hint_enter_name"
android:inputType="textPersonName" />
<EditText
android:id="@+id/age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/hint_enter_age"
android:inputType="number" />
<EditText
android:id="@+id/id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/hint_enter_id"
android:inputType="number" />
<Button
android:id="@+id/insert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/insert" />
<Button
android:id="@+id/readAll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/read_all" />
<Button
android:id="@+id/read"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/read_one" />
<Button
android:id="@+id/deleteAll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/delete_all" />
<Button
android:id="@+id/delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/delete" />
<Button
android:id="@+id/update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/update" />
</LinearLayout>
To insert data into the Database use Model.save()// Save Data
public void insertData(Details details){
id = details.save();
Log.v("id_value", String.valueOf(id));
recreate();
}
To read all data from the Database use query as in the following// Read All Data
Select().from(Details.class).orderBy("id ASC").execute();
To read data from the Database use query as in the following// Read Data
Select().from(Details.class).where("id = ?", id).executeSingle();
To delete or delete All data from the Database use new Delete() query as in the following// delete all
new Delete().from(Details.class).execute();
// delete particular data
Details.delete(Details.class , id);// where id is long type data
To update data from the Database use save() as in insert query as in the following. But, you have to get Primary id // Update Data
Details details = Select().from(Details.class).where("id = ?", id).executeSingle();
details.name = holder.edt_name.getText().toString().trim();
details.age = holder.edt_age.getText().toString().trim();
details.save();
Download Full Source Code
You can download the full source from the following Github link. If you Like this tutorial, Please star it in Github.Post your doubts and comments in the comments section.
Komentar
Posting Komentar