sqlite database android example

Sqlite database example in android

Sqlite database example in android

Till now we learn with static data but we have to know how we can store data in database of android device. Android offer a database called sqlite database. Here we learn how to store data, delete data and update data and reuse data from sqlite database.

Import source code or create new project in eclipse and run this project.Here we have taken three Activity class,one for Home screen(SqliteDBActivity.java), one for insert data to database(RegisterActiviy.java) and another for show/delete/update data from database(ShowActiviy.java). In home screen you will get Two button one Register To Database another for Show List first click on 'Register to Database' and after registering data in database then click on 'Show List'. To check Delete and Update functionality of sqlite just click on the list item and get a alert dialog in edit mode, there have two options of delete and update.

Watch the video How to use the application:-

 

 

Now Check Source Code

SqliteDBActivity.java


 

package com.androidfromhome.sqlitedatabase;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SqliteDBActivity extends Activity implements OnClickListener {

    private Button btn_register;
    private Button btn_show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqlite_db);
        
        btn_register=(Button)findViewById(R.id.btn_register);
        btn_register.setOnClickListener(this);
    
        btn_show=(Button)findViewById(R.id.btn_show);
        btn_show.setOnClickListener(this);
    
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.btn_register:
            startActivity(new Intent(SqliteDBActivity.this,RegisterActiviy.class));
            break;

        case R.id.btn_show:
            startActivity(new Intent(SqliteDBActivity.this,ShowActiviy.class));
            
            break;

        default:
            break;
        }
        
    }

    
}

 


 

RegisterActiviy.java


 

package com.androidfromhome.sqlitedatabase;

import java.io.ByteArrayOutputStream;

import com.androidfromhome.db.SqliteAndroidDBHelper;
import android.app.Activity;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class RegisterActiviy extends Activity implements OnClickListener {

    private EditText et_address;
    private EditText et_name;
    private Button btn_submit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        
        et_name=(EditText)findViewById(R.id.et_name);
        et_address=(EditText)findViewById(R.id.et_address);
        
        btn_submit=(Button)findViewById(R.id.btn_submit);
        btn_submit.setOnClickListener(this);
            }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.btn_submit:
            String address=et_address.getText().toString();
            String name=et_name.getText().toString();
            
            if (!address.equalsIgnoreCase("")&& !name.equalsIgnoreCase("")) {
            
                SqliteAndroidDBHelper sqlHelper=new SqliteAndroidDBHelper(RegisterActiviy.this);
                int last_id=getMaxIndex();
                last_id=last_id+1;
                
                Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
                 ByteArrayOutputStream stream = new ByteArrayOutputStream();
                     bm.compress(Bitmap.CompressFormat.PNG, 40 ,
                             stream);
                
                 byte[] bitmapdata = stream.toByteArray();
            
                 sqlHelper.insert(Integer.toString(last_id), name, address, bitmapdata);
                
                 finish();
                
            }
            
            break;

        default:
            break;
        }
        
    }

    
    public int getMaxIndex(){
        int index = 0;
        Cursor cursor = null;
        SqliteAndroidDBHelper sqldb = null;
        try{
         sqldb=new SqliteAndroidDBHelper(RegisterActiviy.this);
         cursor =sqldb.getMaxId();
        if(cursor.moveToFirst()){
         index = cursor.getInt(0);
            }
            }catch(Exception e){
            
        }
        if (cursor!=null) {
            cursor.close();
                
        }
        sqldb.close();
        return index;
    }

}

 

 


 

ShowActiviy.java


 

package com.androidfromhome.sqlitedatabase;

import java.util.ArrayList;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import com.androidfromhome.db.SqliteAndroidDBHelper;
import com.androidfromhome.util.SqliteDataCollection;
import com.androidfromhome.util.adapter.AndroidListAdapter;

public class ShowActiviy extends Activity implements OnClickListener, OnItemClickListener {

    
    private AndroidListAdapter list_adapter;
    private ListView lv_android;
    private Dialog edit_dialogue;
    private Button btn_update_alert;
    private Button btn_del_alert;
    private EditText et_name;
    private EditText et_address;
    
    String temp_id="";
    private Button btn_cancel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show);
        
        SqliteDataCollection.sql_data = new ArrayList<SqliteDataCollection>();
        
        showDialogue();
        getCustomerDB();
        
        lv_android=(ListView)findViewById(R.id.lv_android);
        list_adapter =new AndroidListAdapter(ShowActiviy.this, R.layout.list_item, SqliteDataCollection.sql_data);
        
        lv_android.setAdapter(list_adapter);
        lv_android.setOnItemClickListener(this);
        
    }

    private void getCustomerDB() {
        
        SqliteDataCollection.sql_data.clear();
        try{
        SqliteAndroidDBHelper sqldbhelper=new SqliteAndroidDBHelper(ShowActiviy.this);
        Cursor cursor = sqldbhelper.getAll();
        int len = cursor.getCount();
        cursor.moveToFirst();
        for(int i = 0; i < len; i++)
        {
            
            Bitmap bitmap=null;

            String id = sqldbhelper.getId(cursor);
            String name = sqldbhelper.getName(cursor);
            String address = sqldbhelper.getAddress(cursor);
            
            byte[] image_byte = sqldbhelper.getImage(cursor);
            
            if(image_byte!=null){
                 bitmap = BitmapFactory.decodeByteArray(image_byte , 0, image_byte.length);
                
                }
            SqliteDataCollection.sql_data.add(new SqliteDataCollection(id, name, address, bitmap));
            cursor.moveToNext();
        }
        cursor.close();
        sqldbhelper.close();
        }catch(Exception ee){
            
            
            
        }
        
        
        
    }
    
    
    public void    showDialogue(){
        edit_dialogue=new Dialog(this);
        edit_dialogue.requestWindowFeature(Window.FEATURE_NO_TITLE);
        edit_dialogue.setContentView(R.layout.dialog_layout);
         btn_update_alert=(Button)edit_dialogue.findViewById(R.id.btn_update);
         btn_update_alert.setOnClickListener(this);    
         btn_del_alert=(Button)edit_dialogue.findViewById(R.id.btn_del);
         btn_del_alert.setOnClickListener(this);
         btn_cancel=(Button)edit_dialogue.findViewById(R.id.btn_cancel);
         btn_cancel.setOnClickListener(this);
         et_name=(EditText)edit_dialogue.findViewById(R.id.et_name);
         et_address=(EditText)edit_dialogue.findViewById(R.id.et_address);
         
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        
        switch(v.getId()){
        
        case R.id.btn_update:
            
            try{
                    
                String name=et_name.getText().toString();
                String address=et_address.getText().toString();
                
                 if(name.equals("")||address.equals("")){
                     new AlertDialog.Builder(ShowActiviy.this)
                      .setIcon(android.R.drawable.ic_dialog_alert)
                       .setMessage("Don't Leave blank field")
                        .setPositiveButton("OK",new android.content.DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int which)
                        {
                            dialog.dismiss();
                                        }
                        }).show();
                     
                     
                 }else{
                     
                     updateTaskDB(temp_id, name, address);    
                     
                 }
                }catch(Exception ex){
                
            }
            
            getCustomerDB();
            list_adapter.notifyDataSetChanged();
            edit_dialogue.dismiss();
            
            break;
        case R.id.btn_del:
            
            try{
                SqliteAndroidDBHelper sqlHelper=new SqliteAndroidDBHelper(ShowActiviy.this);    
                
                sqlHelper.deleteById(temp_id);        
                
                sqlHelper.close();
            
                }catch(Exception ex){
                    
                    
                    
                }
            
            getCustomerDB();
            
            list_adapter.notifyDataSetChanged();
            edit_dialogue.dismiss();
            
            break;
        case R.id.btn_cancel:
            
            edit_dialogue.dismiss();
            break;
            
}
        
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        // TODO Auto-generated method stub
        
        
    SqliteDataCollection sqlData=SqliteDataCollection.sql_data.get(position);
    temp_id=sqlData.id;    
    
    et_address.setText(sqlData.address);
    et_name.setText(sqlData.name);
    
    edit_dialogue.show();
        
    }

    public void updateTaskDB(String id,String name,String address){
        SqliteAndroidDBHelper sqlDBHelper = null;
        
        try{
            sqlDBHelper=new SqliteAndroidDBHelper(ShowActiviy.this);    
                
            sqlDBHelper.updateUser(id, name, address);
               
            
        }catch(Exception e){}
        
        sqlDBHelper.close();
        
        
    }
    
}

 


 

 

 

SqliteAndroidDBHelper.java


 

package com.androidfromhome.db;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;

public class SqliteAndroidDBHelper extends SQLiteOpenHelper{
    
    public static final String DATABASE_NAME = "androidfromhome_db";
    public static final int DATABASE_VERSION = 1;
    public static final String TABLE_NAME = "tble_afh";
    
    
    public static final String COL_ID = "id";
    public static final String NAME = "name";
    public static final String ADDRESS = "address";
    public static final String IMAGE="image";
    Context  ctx;
    
    public SqliteAndroidDBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    
    this.ctx=context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        
        db.execSQL("CREATE TABLE IF NOT EXISTS "+ TABLE_NAME +" (id LONG PRIMARY KEY, name TEXT, address TEXT,image BLOB);");
        Log.d("AndroidFromHome:: ", "Table Created");
        // TODO Auto-generated method stub
        
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        
    }
    
    
    public void insert(String id, String name,String address,
            byte[] image)
    {
        ContentValues cv = new ContentValues();
        
        
        cv.put(COL_ID, id);
        cv.put(NAME, name);
        cv.put(ADDRESS, address);
        cv.put(IMAGE, image);
        
        
        getWritableDatabase().insertWithOnConflict(TABLE_NAME, null, cv, SQLiteDatabase.CONFLICT_IGNORE);
        Log.d("AndroidFromHome:: ", "Data Inserted");
        Toast.makeText(ctx, "Data Inserted", Toast.LENGTH_LONG).show();
        getWritableDatabase().close();
        
    }
    
    public Cursor getMaxId(){
        
        return (getReadableDatabase().rawQuery("SELECT MAX(id) as id from "+TABLE_NAME+"", null));
        
    }
    public Cursor getById (String id)
    {
        String[] args = {id};
        
        return (getReadableDatabase().rawQuery("SELECT id, name, address, image FROM "+ TABLE_NAME +" WHERE _id=?", args));
    }

    
    
    public Cursor getIdColumn(){
        return (getReadableDatabase().rawQuery("SELECT _id FROM "+ TABLE_NAME +" ", null));
    }
    
    

    public void updateUser(String id, String name,String address) {
        
        ContentValues cv = new ContentValues();
        String[] args = { id };
        
        
        cv.put(NAME, name);
        cv.put(ADDRESS, address);
                
        
        getWritableDatabase().update(TABLE_NAME , cv, "id=?", args);
    }
    
    
    
    public Cursor getAll()
    {
        return (getReadableDatabase().rawQuery("SELECT id, name, address, image FROM "+ TABLE_NAME +" ORDER BY id", null));
    }
    
    
    
    public void deleteById(String id) {
        getWritableDatabase().execSQL("DELETE FROM "+ TABLE_NAME +" WHERE id = " + id + ";");
    }
    
    
    
    public String getId(Cursor c)
    {
        return c.getString(0);
    }
    
    public String getName(Cursor c)
    {
        return c.getString(1);
    }
    
    public String getAddress(Cursor c)
    {
        return c.getString(2);
    }
    
    
    public byte[] getImage(Cursor c)
    {
        return c.getBlob(3);
        
    }
    }

 

 


 

SqliteDataCollection.java


 

package com.androidfromhome.util;

import java.util.ArrayList;

import android.graphics.Bitmap;

public class SqliteDataCollection {
    
    public static ArrayList<SqliteDataCollection> sql_data;
    
    public String id="";
    public String name="";
    public String address="";
    public Bitmap bitmap;
    
    public SqliteDataCollection(String id,String name,String address,Bitmap bitmap){
        
        this.id=id;
        this.name=name;
        this.address=address;
        this.bitmap=bitmap;
    }
    

}


AndroidListAdapter.java


 

package com.androidfromhome.util.adapter;

import java.util.ArrayList;

import com.androidfromhome.sqlitedatabase.R;
import com.androidfromhome.util.SqliteDataCollection;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class AndroidListAdapter extends ArrayAdapter<SqliteDataCollection>{
    
    private final Context context;
    private final ArrayList<SqliteDataCollection> values;
    private ViewHolder viewHolder;
    private final int resourceId;

    public AndroidListAdapter(Context context, int resourceId,ArrayList<SqliteDataCollection> values) {
        super(context, resourceId, values);
        // TODO Auto-generated constructor stub
        
        this.context = context;
        this.values = values;
        this.resourceId = resourceId;
    }
    
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        
        if (convertView == null) {
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(resourceId, parent, false);
            
                
            viewHolder = new ViewHolder();
            viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_name);
            viewHolder.tv_address = (TextView) convertView.findViewById(R.id.tv_add);
            viewHolder.iv_image = (ImageView) convertView.findViewById(R.id.iv_image);
            
            
                convertView.setTag(viewHolder);
            
            
        }else
        {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        SqliteDataCollection list_obj=values.get(position);
        viewHolder.tv_name.setText(list_obj.name);
        viewHolder.tv_address.setText(list_obj.address);
        if (list_obj.bitmap!=null) {
            viewHolder.iv_image.setImageBitmap(list_obj.bitmap);
                
        }
            
        return convertView;
    }
 
    
    public class ViewHolder {

         TextView tv_name;
         ImageView iv_image;
         TextView tv_address;

    }

}

 


 

 

Now check xml code in android

 

activity_sqlite_db.xml


 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
   >
    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#A758AB"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="15dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="2dp"
            android:text="Android From Home"
            android:textColor="#ffffff"
            android:textSize="22dp"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/btn_register"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:background="#005200"
            android:padding="10dp"
            android:text=" Register To Database"
            android:textColor="#ffffff"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btn_show"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dp"
            android:background="#005200"
            android:padding="10dp"
            android:text="             Show List          "
            android:textColor="#ffffff"
            android:textStyle="bold" />

    </LinearLayout>

</LinearLayout>

 


 

 

activity_register.xml


 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
   >
    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#A758AB"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="15dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="2dp"
            android:text="Android From Home"
            android:textColor="#ffffff"
            android:textSize="22dp"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="5dp"
                android:src="@drawable/ic_launcher" />

        </FrameLayout>

        <TableRow
            android:id="@+id/TableRow02"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >

            <TextView
                android:id="@+id/TextView02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:text="Name:       " />

            <EditText
                android:id="@+id/et_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:background="#dfdfdf"
                android:ems="10"
                android:padding="10dp" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow01"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >

            <TextView
                android:id="@+id/TextView01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:text="Address:  " />

            <EditText
                android:id="@+id/et_address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dp"
                android:background="#dfdfdf"
                android:ems="10"
                android:padding="10dp" />
        </TableRow>

        <Button
            android:id="@+id/btn_submit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="Submit" />

    </LinearLayout>

</LinearLayout>

 


 

 

activity_show.xml


 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
   >
    <LinearLayout
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#A758AB"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="15dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="2dp"
            android:text="Android From Home"
            android:textColor="#ffffff"
            android:textSize="22dp"
            android:textStyle="bold" />
    </LinearLayout>

    <ListView
        android:id="@+id/lv_android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

 


 

 

dialog_layout.xml


 

<?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:background="#343434"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            android:text=" Name"
            android:textColor="#ffffff"
            android:textSize="18dp" />

        <EditText
            android:id="@+id/et_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#dfdfdf"
            android:ems="10"
            android:padding="10dp"
            android:singleLine="true" >

            <requestFocus />
        </EditText>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            android:text="Address"
            android:textColor="#ffffff"
            android:textSize="18dp" />

        <EditText
            android:id="@+id/et_address"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#dfdfdf"
            android:ems="10"
            android:padding="10dp"
            android:singleLine="true" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/btn_del"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="6dp"
            android:layout_weight="1"
            android:background="#A22B2B"
            android:padding="10dp"
            android:text="Delete"
            android:textColor="#ffffff" />

        <Button
            android:id="@+id/btn_update"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="6dp"
            android:layout_weight="1"
            android:background="#256829"
            android:padding="10dp"
            android:text="Update"
            android:textColor="#ffffff" />

    </LinearLayout>

    <Button
        android:id="@+id/btn_cancel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="#D16B73"
        android:padding="10dp"
        android:text="Cancel"
        android:textColor="#ffffff" />

</LinearLayout>

 


 

 

 

list_item.xml


 

<?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="wrap_content"
    android:layout_gravity="center"
    android:background="#ffffff"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:gravity="center"
        android:padding="6dp" >

        <FrameLayout
            android:layout_width="62dp"
            android:layout_height="62dp"
            android:layout_margin="2dp" >

            <ImageView
                android:id="@+id/iv_image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="3dp" />

        </FrameLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/tv_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="2dp"
                android:text="TextView"
                android:textColor="#000000"
                android:textSize="16dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/tv_add"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:maxLength="40"
                android:padding="2dp"
                android:text="Some Text Goes here.."
                android:textColor="#343434"
                android:textSize="12dp"
                android:textStyle="bold" />

        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:src="@drawable/arrow_list" />

    </LinearLayout>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="#dfdfdf" />

</LinearLayout>


 

 

 

Download Full Source Code

 

Related Post:-

GridView example in android with Custom layout

Expandable ListView in android example

how to get the call log details in android

How Retrieve contact list in android

Leave a Reply

Your email address will not be published. Required fields are marked *

Get Widget