Listview Kullanımı. Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Benzer belgeler
Android Kaynakları (Resources)

Android ile SQLLite Veri Tabanı

MOBİL UYGULAMA GELİŞTİRME

Proje 1. Arayüz Tasarımı

1 - Button Kontrolu Nasıl Yapılır?

Android Ders Notları

MOBİL UYGULAMA GELİŞTİRME

CUSTOMSLİDİNG KULLANIMI

UYGULA İÇİ SATIN ALMA. <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="com.android.vending.

MOBİL UYGULAMA GELİŞTİRME

Activity Context.startActivity Activity, AndroidManifest

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET

Espresso ile Android Uygulama Testi

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Android Studio TextView ve EditText Öğr.Gör. Utku SOBUTAY

Bazı Akıllı Telefon Sensörleri

Android de Video Nasıl Oynatılır?

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

Görsel Komponentler. TextView. Metin değerlerini ekranda göstermek için kullanılır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Üst Düzey Programlama

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi UYGULAMA KAYNAKLARI. BLM401 Dr.Refik SAMET

Sunum İçeriği. Programlamaya Giriş

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

01/05/ /05/2016 TARİHLERİ ARASINDAKİ EŞYA TAŞIMA GEÇİŞLERİ

Android Nedir? Google'ın Android Inc şirketini alışı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

Trakya Üniversitesi Mühendislik-Mimarlık Fakültesi Bilgisayar Mühendisliği Bölümü. BM Yazılım - Staj Raporu

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Ders 8: Metotlar. barisgokce.com

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Layout. (Düzen,Plan,Yerleşim)

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Android Database SQLLite

BİL-142 Bilgisayar Programlama II

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

2. GÜN. Daha açık bir ifadeyle,

EĞİTİM KURUMLARINDA SINIF İÇİ YOKLAMA, SINAV GİBİ UYGULAMALARIN TABLET BİLGİSAYAR KULLANARAK HIZLI VE VERİMLİ HALE GETİRİLMESİ

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Androıd ile Arduıno. Nazir Doğan

Diziler İndisli Değişkenler

Klavyeden Basit Giriş/Çıkış İşlemleri

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

19 Şubat 2016 Cuma

2017 YILI İLK İKİ ÇEYREK BLOK MERMER TRAVERTEN DIŞ TİCARET VERİLERİ

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

Burak Kıymaz JAVA FX

01/03/ /03/2016 TARİHLERİ ARASINDAKİ KAPILARA GÖRE EŞYA TAŞIMA GEÇİŞLERİ

MOBİL UYGULAMA GELİŞTİRME

4. Bağlantı (Köprü) Oluşturma

BİL-141 Bilgisayar Programlama I (Java)

Java String İşlemleri

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi SERVİS BİLEŞENLERİ. BLM401 Dr.Refik SAMET

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

Decorator Tasarım Şablonu

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

RoboGuice ve Android Annotations ile Verimli Android Uygulama Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan. Inet-TR 12 9 Kasım 2012

HSancak Nesne Tabanlı Programlama I Ders Notları

01/08/ /08/2015 TARİHLERİ ARASINDAKİ EŞYA TAŞIMA GEÇİŞLERİ

Android Studio Dersleri

Üst Düzey Programlama

Java Class Yapısında Finalize Metotunun Kullanımı

HALI SEKTÖRÜ. Ocak Ayı İhracat Bilgi Notu. TDH AR&GE ve Mevzuat Şb. İTKİB Genel Sekreterliği. Page 1

TÜİK e-vt. Web Servis Kılavuzu

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

01/07/ /07/2015 TARİHLERİ ARASINDAKİ EŞYA TAŞIMA GEÇİŞLERİ

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Java Dersi. Altuğ Bilgin Altıntaş

Üst Düzey Programlama

Fırat Üniversitesi DENEY NO: 4 MOBİL UYGULAMALAR

7. HAFTA. Erişim Belirleyiciler

EPİAŞ EKYS Projesi. EPİAŞ EKYS Projesi Kullanıcı Yetki Setleri Dokümanı v EPİAŞ Analiz Ekibi

2017 ARALIK DIŞ TİCARET RAPORU

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

01/01/ /01/2016 TARİHLERİ ARASINDAKİ KAPILARA GÖRE EŞYA TAŞIMA GEÇİŞLERİ

NESNEYE YÖNELİK PROGRAMLAMA

public static int Toplam int x, int y

1/11. TÜRKİYE İSTATİSTİK KURUMU DIŞ TİCARET İSTATİSTİKLERİ VERİ TABANI Rapor tarih 30/03/2018 Yıl 01 Ocak - 28 Subat 2018

HALI SEKTÖRÜ. Nisan Ayı İhracat Bilgi Notu. TDH AR&GE ve Mevzuat Şb. İTKİB Genel Sekreterliği. Page 1

HALI SEKTÖRÜ. Mayıs Ayı İhracat Bilgi Notu. TDH AR&GE ve Mevzuat Şb. İTKİB Genel Sekreterliği. Page 1

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

2018 TEMMUZ DIŞ TİCARET RAPORU

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

C# Metotlar ve Metot Tanımlama

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

A.ERDAL SARGUTAN EK TABLOLAR. Ek 1. Ek 1: Ek Tablolar 3123

Transkript:

Listview Kullanımı Mobil cihazlarda kullanıcılara birbiriyle ilişkili verileri listeyle vermek çok tercih edilen bir yöntemdir. Kullanıcı listedeki veriler içinde tek parmağıyla yukarı-aşağı sürükleme yaparak dolaşabilir.

Listview Kullanımı Android'te listeleme işlemleri yapabilmek için ListView isimli görsel öğe kullanılır. ListView, kendi içinde satır satır TextView öğeleri bulunduran bir yapıdır. Bunun gibi birçok View'dan oluşan görsel öğeler ViewGroup olarak da sınıflandırılır.

Listview Kullanımı Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Listview Kullanımı Öncelikle ListView'ı üzerinde tutacak olan Activity'nin (MainActivity.java) tasarımını çıkaralım. Bunun için res/layout/ altındaki activity_main.xml dosyasını kullanıyoruz.

Listview Kullanımı <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/listview1" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ LinearLayout >

Listview Kullanımı Gördüğünüz gibi ListView'ı bir LinearLayout içinde tutuyoruz. Burada asıl önemli şey android:id="@+id/listview1" satırı. Burada ListView'ımıza listview1 ismini veriyoruz.

Listview Kullanımı XML üzerinde bir view nesnesine isim verirken o nesnenin android:id özelliğine @+id/ ön ekini ve ardından da istediğimiz ismi veriyoruz. Bu ismi (id) daha sonra Java sınıfımız içinde ListView'a erişmek için kullanacağız.

Listview Kullanımı Şimdi listemizde göstereceğimiz ülke isimlerini taşıyan bir String dizisi tanımlayalım. Bunu MainActivity sınıfımızın bir alanı olarak tanımlıyoruz. Böylece bu Activity oluşturulduğu an elimizde bir ülke listesi olacak.

Listview Kullanımı public class MainActivity extends Activity { private String[] ulkeler = { "Türkiye", "Almanya", "Avusturya", "Amerika","İngiltere", "Macaristan", "Yunanistan", "Rusya", "Suriye", "İran", "Irak", "Şili", "Brezilya", "Japonya", "Portekiz", "İspanya", "Makedonya", "Ukrayna", "İsviçre }; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } }

Listview Kullanımı Bu basit String dizi tanımlamasından sonra artık yukarıda sözünü ettiğimiz Java sınıfı içinde ListView'a erişmeyi ve onu yönetmeyi gerçekleştirelim. Bunun için şu üç adımı gerçekleştirmelisiniz. (A) Kullanıcıya gösterilen ListView'a ulaşabilmek için onun bir referansını almak (B) ListView'ımızı verilerle (ülke adları) buluşturacak olan Adapter'ı tanımlamak (C) ListView'ımıza, bağlanacağı Adapter'ı belirtmek

Adapter Nedir? Adapter bir veri kaynağıyla, veriye ihtiyacı olan nesneyi birbirine bağlamaya yarayan yapılardır. ListView gibi bir dizi veriyi içinde bulunduran yapılara, bu verileri ArrayAdapter aracılığıyla veririz. ArrayAdapter bir veri kaynağındaki verileri (kısaca, veri modelini) görsel öğelerde kullanmaya uygun hale getirir. Bunun görsel anlatımı şu şekildedir:

Adapter Nedir? Prizdeki elektrik, telefonumuzun kullanacağı elektrikten farklı olduğu için bir dönüşüme ihtiyaç duyar. Bu dönüşümü adaptör aracılığıyla yaparız. Adaptör, şebekeden gelen elektriği alır ve telefonun kullanacağı türe çevirir.

Adapter Nedir? ArrayAdapter'ın veri ile görsel öğe arasındaki görevini inceledikten sonra kodumuza (MainActivity.java) geri dönelim:

Adapter Nedir? //(A) adımı ListView listemiz=(listview) findviewbyid(r.id.listview1); //(B) adımı ArrayAdapter<String> veriadaptoru=new ArrayAdapter<String> (this, android.r.layout.simple_list_item_1, android.r.id.text1, ulkeler); //(C) adımı listemiz.setadapter(veriadaptoru);

Adapter Nedir? Ana kodumuzuactivity'nin oncreate() metoduna yazıyoruz. Böylelikle Activity oluşturulur oluşturulmaz verilerimizi ArrayAdapter yardımıyla ListView'da göstermiş oluyoruz. Activity'nin her oncreate() oluşunda çalışacak kodları şöyle açıklayabiliriz:

Adapter Nedir? (A) adımında, önce liste öğemize (listemiz) bir referans değişkeni tayin ediyoruz ki artık o öğemizi bir değişken ile kullanabilelim. findviewbyid() ile XML'de android:id ile isim verdiğimiz öğelere erişiriz.

Adapter Nedir? (B) adımında, new deyimiyle bir ArrayAdapter oluşturuyoruz. Oradaki <String>, ArrayAdapter'ın içinde tutacağı verilerin türünü belirten bir deyim. ArrayAdapter'ın yapılandırıcı metodundaki parametrelerse şu anlama geliyor:

Adapter Nedir? this: Context. Yani bağlam. Bu this deyimiyle değer olarak Activity'nin kendisinin dönmesini sağlıyoruz (Activity sınıfının içindeyiz). ArrayAdapter, çalıştığı yerle ilgili bilgiyi Context'e ulaşarak bulur.

Adapter Nedir? android.r.layout.simple_list_item_1: resource. Bu parametre, kullanıcının göreceği listenin yerleşim dosyasıdır. Listemiz bu layout dosyasından bina edilecektir. Burada android tarafından tanımlanan bir layout dosyası kullanılmıştır.

Adapter Nedir? ulkeler: Ülke isimlerini tanımlandığı String dizisidir. (C) adımında artık ayarlamalarını bitirdiğimiz ArrayAdapter'i listemize gösteriyoruz. Şu an uygulamamızı çalıştırdığımızda şöyle bir görüntü elde ederiz:

Adapter Nedir?

Kodun Tamamı public class MainActivity extends Activity { private String[] ulkeler = {"Türkiye", "Almanya", "Avusturya", "Amerika","İngiltere", "Macaristan", "Yunanistan", "Rusya", "Suriye", "İran", "Irak", "Şili", "Brezilya", "Japonya", "Portekiz", "İspanya", "Makedonya", "Ukrayna", "İsviçre"}; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //(A) adımı ListView listemiz=(listview) findviewbyid(r.id.listview1); //(B) adımı ArrayAdapter<String> veriadaptoru=new ArrayAdapter<String> (this, android.r.layout.simple_list_item_1, ulkeler); //(C) adımı listemiz.setadapter(veriadaptoru); } }