You are on page 1of 6

package com.

contactApp;
import java.util.List;
import java.util.Vector;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.ParseException;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
//main class
public class main extends ListActivity {

// declarations
private LayoutInflater mInflater;
private Vector<RowData> data;
RowData rd;
final int CONTACT_PICKER_RESULT = 0;
static final String[] title = new String[] { "John", "peter","rosy","parker"
};
static final String[] detail = new String[] { "","","",""};
private Integer[] imgid = { R.drawable.img1,R.drawable.img2,R.drawable.img3, R
.drawable.img4};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//inflation
mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
data = new Vector<RowData>();

for(int i=0;i<title.length;i++){
try {
rd = new RowData(i,title[i],detail[i]);
} catch (ParseException e)
{
e.printStackTrace();
}
data.add(rd);
}

CustomAdapter adapter = new CustomAdapter(this, R.layout.list


,R.id.title, data);
setListAdapter(adapter);
getListView().setTextFilterEnabled(true);

} // end of OnCreate

public void onListItemClick(ListView parent, View v, int position,long id) {


Toast.makeText(getApplicationContext(), "You have selected "
+(position+1)+"th item", Toast.LENGTH_SHORT).show();
}

private class RowData {


protected int mId;
protected String mTitle;
protected String mDetail;
RowData(int id,String title,String detail){
mId=id;
mTitle = title;
mDetail=detail;
}

@Override
public String toString() {
return mId+" "+mTitle+" "+mDetail;
}
}

private class CustomAdapter extends ArrayAdapter<RowData> {


public CustomAdapter(Context context, int resource, int textViewResourceId, Li
st<RowData> objects) {
super(context, resource, textViewResourceId, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
TextView title = null;
TextView detail = null;
ImageView i11=null;
RowData rowData= getItem(position);
if(null == convertView){
convertView = mInflater.inflate(R.layout.list, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}

holder = (ViewHolder) convertView.getTag();


title = holder.gettitle();
title.setText(rowData.mTitle);
detail = holder.getdetail();
detail.setText(rowData.mDetail);

i11=holder.getImage();
i11.setImageResource(imgid[rowData.mId]);
return convertView;
}
private class ViewHolder {
private View mRow;
private TextView title = null;
private TextView detail = null;
private ImageView i11=null;
public ViewHolder(View row) {
mRow = row;
}
public TextView gettitle() {
if(null == title){
title = (TextView) mRow.findViewById(R.id.title);
}
return title;
}
public TextView getdetail() {
if(null == detail){
detail = (TextView) mRow.findViewById(R.id.detail);
}
return detail;
}
public ImageView getImage() {
if(null == i11){
i11 = (ImageView) mRow.findViewById(R.id.img);
}
return i11;
}
}
}
public void AddContactHandler(View view) {
try{
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,ContactsContr
act.Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);

}
catch(Exception e)
{
Toast.makeText(this,e.toString(),Toast.LENGTH_LONG).show();
}

protected void onActivityResult(int requestCode, int resultCode, Intent data)


{
if (resultCode == RESULT_OK) {
switch (requestCode) {

case CONTACT_PICKER_RESULT:
Uri uri = data.getData();
String id = uri.getLastPathSegment();
//Toast.makeText(this,id,Toast.LENGTH_LONG).show
();
DBinsertion(id);

}
}
}

protected void DBinsertion(String id)


{
//database creation or Open operations
SQLiteDatabase myDB= null;
String TableName = "test";
String result="";
try {
myDB = this.openOrCreateDatabase("listDb", MODE_PRIVATE, null
);
/* Create a Table in the Database. */
myDB.execSQL("CREATE TABLE IF NOT EXISTS "
+ TableName
+ " (Idfield VARCHAR);");

// insertion and validation operations


Toast.makeText(this,id+"/"+TableName,Toast.LENGTH_LONG).show();
Cursor c = myDB.rawQuery("SELECT * FROM
" + TableName +" where Idfield="+id , null);

//check if the contact already exist


if(c.getCount()== 0)
{
/* Insert data to a Table*/
myDB.execSQL("INSERT INTO "
+ TableName
+ " (Idfield)"
+ " VALUES ("+id+");");
result="Inserted";
// AddToList(uri,id);
}
else
{
result="Contact Already exist";

Toast.makeText(this,result,Toast.LENGTH_LONG).show();
c.close();
}
catch(Exception e)
{
Toast.makeText(this,e.toString(),Toast.LENGTH_LONG).s
how();
}
finally
{
myDB.close();
}

}
@Override
protected void onResume() {
super.onResume();
//Toast.makeText(this,"resume",Toast.LENGTH_LONG).show();

You might also like