Android Program : Create Android Application for performing the following operation on the table Customer (id, name, address, phno). (use SQLite database)

 Android Program :  Create Android Application for performing the following operation on the table Customer (id, name, address, phno). (use SQLite database)




DbHandler.java



import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.HashMap;


public class DbHandler extends SQLiteOpenHelper {
    
private static final int DB_VERSION 1;
    
private static final String DB_NAME "usersdb";
    
private static final String TABLE_Users "userdetails";
    
private static final String KEY_ID "id";
    
private static final String KEY_NAME "name";
    
private static final String KEY_LOC "location";
    
private static final String KEY_DESG "designation";
    
public DbHandler(Context context){
        
super(context,DB_NAMEnullDB_VERSION);
    }
    
@Override
    
public void onCreate(SQLiteDatabase db){
        String CREATE_TABLE = 
"CREATE TABLE " TABLE_Users "("
                
KEY_ID " INTEGER PRIMARY KEY AUTOINCREMENT," KEY_NAME " TEXT,"
                
KEY_LOC " TEXT,"
                
KEY_DESG " TEXT"")";
        db.execSQL(CREATE_TABLE);
    }
    
@Override
    
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
        
// Drop older table if exist
        
db.execSQL("DROP TABLE IF EXISTS " TABLE_Users);
        
// Create tables again
        
onCreate(db);
    }
    
// **** CRUD (Create, Read, Update, Delete) Operations ***** //

    // Adding new User Details
    
void insertUserDetails(String name, String location, String designation){
        
//Get the Data Repository in write mode
        
SQLiteDatabase db = this.getWritableDatabase();
        
//Create a new map of values, where column names are the keys
        
ContentValues cValues = new ContentValues();
        cValues.put(
KEY_NAME, name);
        cValues.put(
KEY_LOC, location);
        cValues.put(
KEY_DESG, designation);
        
// Insert the new row, returning the primary key value of the new row
        
long newRowId = db.insert(TABLE_Users,null, cValues);
        db.close();
    }
    
// Get User Details
    
public ArrayList<HashMap<String, String>> GetUsers(){
        SQLiteDatabase db = 
this.getWritableDatabase();
        ArrayList<HashMap<String, String>> userList = 
new ArrayList<>();
        String query = 
"SELECT name, location, designation FROM "TABLE_Users;
        Cursor cursor = db.rawQuery(query,
null);
        
while (cursor.moveToNext()){
            HashMap<String,String> user = 
new HashMap<>();
            user.put(
"name",cursor.getString(cursor.getColumnIndex(KEY_NAME)));
            user.put(
"designation",cursor.getString(cursor.getColumnIndex(KEY_DESG)));
            user.put(
"location",cursor.getString(cursor.getColumnIndex(KEY_LOC)));
            userList.add(user);
        }
        
return  userList;
    }
    
// Get User Details based on userid
    
public ArrayList<HashMap<String, String>> GetUserByUserId(int userid){
        SQLiteDatabase db = 
this.getWritableDatabase();
        ArrayList<HashMap<String, String>> userList = 
new ArrayList<>();
        String query = 
"SELECT name, location, designation FROM "TABLE_Users;
        Cursor cursor = db.query(
TABLE_Usersnew String[]{KEY_NAMEKEY_LOCKEY_DESG}, KEY_ID"=?",new String[]{String.valueOf(userid)},nullnullnullnull);
        
if (cursor.moveToNext()){
            HashMap<String,String> user = 
new HashMap<>();
            user.put(
"name",cursor.getString(cursor.getColumnIndex(KEY_NAME)));
            user.put(
"designation",cursor.getString(cursor.getColumnIndex(KEY_DESG)));
            user.put(
"location",cursor.getString(cursor.getColumnIndex(KEY_LOC)));
            userList.add(user);
        }
        
return  userList;
    }
    
// Delete User Details
    
public void DeleteUser(int userid){
        SQLiteDatabase db = 
this.getWritableDatabase();
        db.delete(
TABLE_UsersKEY_ID+" = ?",new String[]{String.valueOf(userid)});
        db.close();
    }
    
// Update User Details
    
public int UpdateUserDetails(String location, String designation, int id){
        SQLiteDatabase db = 
this.getWritableDatabase();
        ContentValues cVals = 
new ContentValues();
        cVals.put(
KEY_LOC, location);
        cVals.put(
KEY_DESG, designation);
        
int count = db.update(TABLE_Users, cVals, KEY_ID+" = ?",new String[]{String.valueOf(id)});
        
return  count;
    }
}


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
android:orientation="vertical" android:layout_width="match_parent"
    
android:layout_height="match_parent">
    <
TextView
        
android:id="@+id/fstTxt"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_marginLeft="100dp"
        
android:layout_marginTop="150dp"
        
android:text="Name" />
    <
EditText
        
android:id="@+id/txtName"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_marginLeft="100dp"
        
android:ems="10"/>
    <
TextView
        
android:id="@+id/secTxt"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:text="Location"
        
android:layout_marginLeft="100dp" />
    <
EditText
        
android:id="@+id/txtLocation"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_marginLeft="100dp"
        
android:ems="10" />
    <
TextView
        
android:id="@+id/thirdTxt"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:text="Designation"
        
android:layout_marginLeft="100dp" />
    <
EditText
        
android:id="@+id/txtDesignation"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_marginLeft="100dp"
        
android:ems="10" />
    <
Button
        
android:id="@+id/btnSave"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_marginLeft="100dp"
        
android:text="Save" />
</
LinearLayout>


details.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
android:layout_width="fill_parent"
    
android:layout_height="fill_parent"
    
android:orientation="vertical" >
    <
ListView
        
android:id="@+id/user_list"
        
android:layout_width="fill_parent"
        
android:layout_height="wrap_content"
        
android:dividerHeight="1dp" />
    <
Button
        
android:id="@+id/btnBack"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_gravity="center"
        
android:layout_marginTop="20dp"
        
android:text="Back" />
</
LinearLayout>


list_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
android:layout_width="fill_parent"
    
android:layout_height="wrap_content"
    
android:orientation="horizontal"
    
android:padding="5dip" >
    <
TextView
        
android:id="@+id/name"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:textStyle="bold"
        
android:textSize="17dp" />
    <
TextView
        
android:id="@+id/designation"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_below="@id/name"
        
android:layout_marginTop="7dp"
        
android:textColor="#343434"
        
android:textSize="14dp" />
    <
TextView
        
android:id="@+id/location"
        
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
        
android:layout_alignBaseline="@+id/designation"
        
android:layout_alignBottom="@+id/designation"
        
android:layout_alignParentRight="true"
        
android:textColor="#343434"
        
android:textSize="14dp" />
</
RelativeLayout>




MainActivity.java


import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    EditText 
namelocdesig;
    Button 
saveBtn;
    Intent 
intent;
    
@Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_main);
        
name = (EditText)findViewById(R.id.txtName);
        
loc = (EditText)findViewById(R.id.txtLocation);
        
desig = (EditText)findViewById(R.id.txtDesignation);
        
saveBtn = (Button)findViewById(R.id.btnSave);
        
saveBtn.setOnClickListener(new View.OnClickListener() {
            
@Override
            
public void onClick(View v) {
                String username = 
name.getText().toString()+"\n";
                String location = 
loc.getText().toString();
                String designation = 
desig.getText().toString();
                DbHandler dbHandler = 
new DbHandler(MainActivity.this);
                dbHandler.insertUserDetails(username,location,designation);
                
intent new Intent(MainActivity.this,DetailsActivity.class);
                startActivity(
intent);
                Toast.makeText(getApplicationContext(), 
"Details Inserted Successfully",Toast.LENGTH_SHORT).show();
            }
        });
    }
}



DetailsActivity.java


import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;


public class DetailsActivity extends AppCompatActivity {
    Intent 
intent;
    
@Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.
details);
        DbHandler db = 
new DbHandler(this);
        ArrayList<HashMap<String, String>> userList = db.GetUsers();
        ListView lv = (ListView) findViewById(R.id.
user_list);
        ListAdapter adapter = 
new SimpleAdapter(DetailsActivity.this, userList, R.layout.list_row,new String[]{"name","designation","location"}, new int[]{R.id.name, R.id.designation, R.id.location});
        lv.setAdapter(adapter);
        Button back = (Button)findViewById(R.id.
btnBack);
        back.setOnClickListener(
new View.OnClickListener() {
            
@Override
            
public void onClick(View v) {
                
intent new Intent(DetailsActivity.this,MainActivity.class);
                startActivity(
intent);
            }
        });
    }
}




AndroidManifest.xml




<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    
package="com.example.sqliteexample">
    <
application
        
android:allowBackup="true"
        
android:icon="@mipmap/ic_launcher"
        
android:label="@string/app_name"
        
android:roundIcon="@mipmap/ic_launcher_round"
        
android:supportsRtl="true"
        
android:theme="@style/AppTheme">
        <
activity android:name=".MainActivity">
            <
intent-filter>
                <
action android:name="android.intent.action.MAIN" />
                <
category android:name="android.intent.category.LAUNCHER" />
            </
intent-filter>
        </
activity>
        <
activity android:name=".DetailsActivity" android:label="SQLite Example - Details"></activity>
    </
application>
</
manifest>






Post a Comment

0 Comments