Aplikasi ini bekerja dengan cara membaca kontak yang terdapat pada HP dan kemudian menampilkan nya pada layar, pengguna juga dapat melakukan panggilan dengan cara meng-klik nomer yang muncul pada layar.
Source Code
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><ListViewandroid:id="@android:id/list"android:layout_width="fill_parent"android:layout_height="fill_parent" /></RelativeLayout>
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><ListViewandroid:id="@android:id/list"android:layout_width="fill_parent"android:layout_height="fill_parent" /></RelativeLayout>
AndroidManifest.xml
|
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.contactlistviewwithnamenumber"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk
android:minSdkVersion="L"
android:targetSdkVersion="18"
/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name="com.example.contactlistviewwithnamenumber.MainActivity"
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>
</manifest>
|
MainActivity.java
|
package
com.example.contactlistviewwithnamenumber;
import
android.os.Bundle;
import
android.provider.ContactsContract;
import
android.app.Activity;
import
android.app.ListActivity;
import
android.database.Cursor;
import
android.graphics.drawable.GradientDrawable;
import
android.graphics.drawable.GradientDrawable.Orientation;
import
android.view.Menu;
import
android.widget.ListView;
import
android.widget.SimpleCursorAdapter;
public
class MainActivity extends ListActivity {
@Override
public long getSelectedItemId() {
// TODO Auto-generated method
stub
return super.getSelectedItemId();
}
@Override
public int getSelectedItemPosition() {
// TODO Auto-generated method
stub
return
super.getSelectedItemPosition();
}
ListView lv;
Cursor cursor;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cursor =
getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, null, null, null);
startManagingCursor(cursor);
String[] from = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone._ID};
int[] to = {android.R.id.text1,
android.R.id.text2};
AlternateRowCursorAdapter
listadapter = new AlternateRowCursorAdapter(this,
android.R.layout.simple_list_item_2, cursor, from, to);
setListAdapter(listadapter);
lv = getListView();
int[] colors = {0, 0x00000000,
0};
lv.setDivider(new
GradientDrawable(Orientation.RIGHT_LEFT, colors));
lv.setDividerHeight(1);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}
@Override
public boolean onCreateOptionsMenu(Menu
menu) {
getMenuInflater().inflate(R.menu.main,
menu);
return true;
}
}
|
AlternateRowCursorAdapter.java
|
package
com.example.contactlistviewwithnamenumber;
import
android.content.Context;
import
android.database.Cursor;
import
android.graphics.Color;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.SimpleCursorAdapter;
public
class AlternateRowCursorAdapter extends SimpleCursorAdapter{
private int[] colors = new int[] {
Color.parseColor("#F0F0F0"),
Color.parseColor("#D2E4FC")
};
public
AlternateRowCursorAdapter(Context context, int layout, Cursor c, String[]
from, int[] to) {
super(context, layout, c, from,
to);
}
@Override
public View getView(int position, View
convertView, ViewGroup parent) {
View view =
super.getView(position, convertView, parent);
int colorPos = position %
colors.length;
view.setBackgroundColor(colors[colorPos]);
return view;
}
}
|
Screenshot