Bu derste content resolver konusuna daha iyi anlamanız için basit bir örnek yapacağız. Bu örnekte var olan bir veri kaynağından ki telefonumuzun kişiler uygulaması olacak bu, content resolver ile veri isteyeceğiz. Bu isteğe cevap veren content provider bize bir cursor döndürür ve biz bu cursordan verileri okuruz.
Bu derste yazılan kodlar aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
public class MainActivity extends AppCompatActivity { ListView kisilerListesi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); kisilerListesi= (ListView) findViewById(R.id.lvKisiler); } public void tumKisileriGoster(View view) { ArrayList<String> tumKisiler=new ArrayList<>(); ContentResolver resolver= getContentResolver(); Uri uri= ContactsContract.CommonDataKinds.Phone.CONTENT_URI; String[] projection={ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}; String selection=null; String[] selectionArgs=null; String sortOrder=null; Cursor cursor=resolver.query(uri,projection, selection, selectionArgs,sortOrder); if(cursor!=null & cursor.getCount()>0){ while(cursor.moveToNext()) { String isim = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String numara=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); tumKisiler.add(isim + " - " +numara); } } ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, tumKisiler); kisilerListesi.setAdapter(adapter); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="emrealtunbilek.com.contentproviderornek.MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="27dp" android:onClick="tumKisileriGoster" android:text="Tüm Rehberi Görüntüle" /> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/button" android:id="@+id/lvKisiler" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" /> </RelativeLayout> |