Selasa, 03 Juli 2012

Menghapus Android Contacts Phone Book pada Android (Pemrograman Android)

Setelah bisa membuat Program Android untuk Menambah Contacts Android, kemudian Menampilkan Daftar Contacts pada PhoneBook Android, maka pertanyaannya bagaimana cara menghapus sebuah Contacts secara Pemrograman?

Nah kali ini penulis ingin membagi pengetahuan untuk membuat program untuk Mendelete Contacts Android tersebut.

Program utamanya kita letakkan di Main Activity.

MainActivity.java




package my.amijaya.deletecontacts;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;

public class MainContacts extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode("6666")); //jika ingin memakai query nomor telepon
        //Cursor cur = MainContacts.this.getContentResolver().query(contactUri, null, null, null, null);
        Cursor cur = MainContacts.this.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        try {
            if (cur.moveToFirst()) {
                do {
                    //query berisi nama display name yang ingin dihapus
                    if (cur.getString(cur.getColumnIndex(PhoneLookup.DISPLAY_NAME)).equalsIgnoreCase("XYZ")) {
                        String lookupKey = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
                        Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
                        MainContacts.this.getContentResolver().delete(uri, null, null);
                        //return true;
                    }
  
                } while (cur.moveToNext());
            }
  
        } catch (Exception e) {
            System.out.println(e.getStackTrace());
        }
        //return false;
    }
}


Kemudian tampilannya kita pakai desain default main.xml saja

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="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>


Jangan lupa beri permission untuk Read Contacts dan Write Contacts pada Android Manifest

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="my.amijaya.deletecontacts"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainContacts"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
</manifest> 


Jika ingin mendownload project lengkapnya silakan pada link di bawah ini :

https://docs.google.com/open?id=0B4i1FYc_4RXzeFBNcDktUHZBbU0

Semoga berguna