Temel Android

Bu kurs Temel Android programlamayı anlatmaktadır
4.3 (29 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,496 students enrolled
$20
Take This Course
  • Lectures 47
  • Contents Video: 5 hours
  • Skill Level Beginner Level
  • Languages Turkish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2015 Turkish

Course Description

Bu kurs Android programlamaya başlayacak öğrenciler için temel düzeyde Android konularını anlatmaktadır . Kurs öncelikle Android in genel özellikleri ve kurulumuyla başlamaktadır. Daha sonra proje oluşturma , emulator tanımı ve Android bileşenlerinin genel yapısı hakkında bilgi vermektedir . Android Widget lardan genel olarak bahsedilmektedir (Action Bar , Switch...)Devamında ise SQLite , servisler ,kamera ve fotoğraf çekimi anlatılmaktadır . Facebook grubumuz : JAVA - J2EE - ANDROID Türkiye

What are the requirements?

  • Temel Java
  • Facebook 'JAVA - J2EE - ANDROID Türkiye' grubuna üye olabilirsiniz

What am I going to get from this course?

  • Android bileşenlerini uygulayarak geliştireceklerdir
  • Temel düzeyde Android geliştirme öğreneceklerdir
  • Android oyun programlama için alt yapı oluşturacaklardır
  • SQLite öğreneceklerdir

What is the target audience?

  • Android ' e yeni başlayanlar
  • Android öğrenmek isteyenler
  • Android geliştirmeyi anlayarak yapmak isteyenler

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Android 'in Genel Özellikleri ve Kurulum
05:09

Bu bölümde Android ' e giriş yapacağız




Android mobil cihazlar üzerinde çalıştırılması için geliştirilmiş linux tabanlı mobil işletim sistemidir. Android Google firması tarafından geliştirilmiştir .

Android ilk versiyonu 2008 yılında çıkartılmıştır . Bu versiyon çıkartılmadan önce Google firması Open Handset Alliance(OHA) isimli bir topluluk kurup , sektörün önde gelen firmalarının bu topluluğa katılımını sağlamıştır (Dell , Motorola , Samsung , HTC...)

Android in ilk versiyonlarında pazar payı bir hayli düşüktü fakat son yıllarda android işletim sisteminde sahip telefonların pazar payları oldukça artmıştır . Öyleki satılan her 2 telefondan bir tanesi Android işletim sisteminde sahiptir .




Google Play Nedir ?
Android uygulamalarını indirebileceğimiz ve yazdığımız uygulamaları yükleyebileceğimiz sanal mağazadır . Burada ücretli ve ücretsiz bir çok uygulamaya erişebiliriz

https://play.google.com/store?hl=tr

Ayrıca Android uygulamalarını indirebileceğimiz farklı siteler mevcuttur


Android İşletim Sisteminin Özellikleri Nelerdir ?

  • Farklı büyüklükteki ekranlarla uyumludur
  • SQLite ile uygulamalar verilerini ilişkisel veritabanında tutabilirler
  • Bluetooth ve WIFI gibi teknolojileri destekler
  • SMS ve MMS desteği vardır
  • Java dili kullanılarak uygulama geliştirilebilir
  • Android uygulamalarının çalıştırıldığı sanal makinanın ismi Dalvik dir.
  • Dalvik sanal makinası kısıtlı kaynaklarla çalışması için optimize edilmiştir
  • MP3 , WAV,JPEG , PNG , GIF gibi birçok dosyanın formatını destekler
  • GPS , dokunmatik ekran , ivme ölçer , termometre , basınç ölçer gibi donanımları destekler
  • Uygulamalar Eclipse üzerinde Eclipse ADT(Android Development Tool) eklentisi ile geliştirilebilir
  • Eclipse üzerinde geliştirilen uygulama emulator ile çalıştırılabilir
  • Multi-tasking özelliği ile birden fazla uygulama aynı zamanda çalışabilir
  • Cihaz içerisinde belleği usb bellek gibi kullanabilir
  • Cihazın bir modem gibi davranıp diğer cihazların kendisine bağlanmasını sağlayabilir

Android Mimarisi


Android mimarisi genel olarak üst tarafta verilmiştir .

  • En alt seviyede lixux çekirdeği bulunmaktadır . Burda akıllı telefonun içerisinde bulunan özellikler için çeşitli driver lar bulunmaktadır . Örn : usb driver , bluetooth driver
  • Orta katmanda Dalvik sanal makinası ve desteklenen kütüphaneler vardır
  • Bir üst katmanda android uygulamalarının çalıştığı çerçeveler vardır
  • En üst katmanda ise uygulamalar bulunmaktadır
11:56

Bu yazımızda adım adım eclipse ortamına kurulum yapacağız

1.Adım : Eclipse standart versiyonu indirilir : Eclipse İndir

2.Adım : Eğer bilgisayarımızda JDK kurulu değilse JDK kurulumu yapmalıyız : JDK İndir

3.Adım : Android yazılım geliştirme ortamı için Android SDK kurmamız gerekmektedir .

Android resmi sitesinden Android SDK indirilmelidir : Android SDK İndir (Setting Up an Existing IDE.)

4.Adım : installer_r22.3-windows.exe dosyası çalıştırılır .

SDK yı Eclipse üzerinden kullanacağımız için şu an SDK Manager ı çalıştırmayacağız

setup dosyası çalıştırıldıktan sonra alttaki dosyalar oluşmalıdır

5.Adım : Eclipse üzerinde Android geliştirebilmek için Eclipse ADT kurulumu yapmamız gerekmektedir

Eclipse üzerinde Help-->Eclipse Marketplace içerisinde ADT yazıp search edelim yada Install New Software ile https://dl-ssl.google.com/android/eclipse/ adresi girilir

Gelen listeden Android Development Tools for Eclipse seçilir ve yüklenir

6.Adım : Eclipse üzerinde Android SDK dosyasını gösterilir

Window --> Preferences --> Android üzerinden SDK Location seçilir

7.Adım : Eclipse üzerinde Android platformu kurulur

Window --> Android SDK Managed butonuna tıkladığımızda karşımıza bir pop-up gelir

  • Android SDK Tools
  • Android SDK Platform Tools
  • Android SDK Build Tools
  • Android 5(hangi versyionu yüklemek isterseniz..)
  • Google USB Driver
  • Support library

seçilir ve yüklenir

02:29
Bu yazımızda XML yapısından bahsedeceğiz

Bir uygulamanın client ve server tarafının olduğunu düşünürsek , client server tarafına bir istek gönderdiği zaman , server clint tarafına bir sonuç dönecektir


Verilerin uygun bir yapıda gidip gelmesini xml sağlar .


xml yapıları bir ağaç şeklindedir . Her etiketin seviyeleri farklı olabilir .


xml dosyasında her elemanın özelliği belirtilebilir


Section 2: Android ile Proje Oluşturma ve Emülatör Tanımı
03:34

Bu yazımıda Eclipse içerisinde proje oluşturacağız


1.Adım : Eclipse açılır

2.Adım : File --> New --> Project ile Android Application Project seçilir

3.Adım : Proje ismi seçilir

  • Application Name : Uygulamayı kullananların göreceği isim
  • Project Name : Proje ismi
  • Package Name : Paket ismi (domain ismi vermek doğru olacaktır)
  • Minimum Required SDK : Uygulamamızın destekleyeceği minimum Android versiyonu
  • Target SDK : Uygulamamızın çalışabildiğini test ettiğimiz en son Android sürümü
  • Compile With : Uygulamamızı compile ettiğimiz Android versiyonu
  • Theme : Tema


4.Adım : Next seçilir

5.Adım : Icon seçimi yapılıp next butonuna basılır

6.Adım : Activiti seçimi yapılıp next butonuna basılır

7.Adım : Activiti ismi seçilip finish butonuna basılır

03:02


Bu yazımızda Android ile emulator tanımı yapacağız


Bir önceki yazımızda Android projesinin nasıl oluşturulduğunu anlatmıştık . Şimdi ise uygulamayı emulator ile çalıştıracağız




Eclipse ile Emulator tanımı için sol üstteki butona tıklanıt

1.Adım : Eclipse içerisinde Android Virtual Device Manager seçilir





2.Adım : Çıkan ekranda new butonuna tıklanır


3.Adım : Cihaz tanımlama ekranı karşımıza çıkar . Cihaz tanımlanır ve Ok butonuna tıklanır





4.Adım : Cihazı tanımladıktan sonra cihazımız listede görünmektedir . Daha sonra cihaz seçilip start butonuna tıklanır


5.Adım :
Ekranda emulatörün çalıştıgını görebiliriz


04:50

Bu yazımızda daha önce tanımladığımız projemizi emülatör yardımıyla çalıştıracağız

1.Adım : Daha önce oluşturduğumuz projemize basit bir uygulama olması adına Activity kısmına 'Hello World' yazıyoruz


2.Adım : Eclipse içerisinde Android Virtual Device Manager seçilir




3.Adım : Gelen ekranda uygun AVD seçilir ve start butonuna basılır

4.Adım : Emulatörün çalıştıgını görmeliyiz

5.Adım : layout bilgilerinin bulunduğu xml dosyası açılır

6.Adım : Run butonundan Run Ad--> Android Application seçilir

7.Adım : Uygulamamızın emulatör içerisinde çalıştığını görebiliriz

05:48

Bu yazımızda Android proje yapısı hakkında bilgi vereceğiz



Android projemizi oluşturduğumuzda üstteki gibi örnek bir proje dizini oluşmaktadır

project.properties
projenin hangi android versiyonu iel build edileceğini belirler


# Project target.

target=android-19



proguard-project.txt
bu dosya içerisindeki ayarlar ile .apk dosyasının boyutu azaltılır ve decompile edilmesi zorlaştırılır

Proguard Help


AndroidManifest.xml
Genel olarak kullanıcı yetkileri , uygulama başlatıldığında hangi aktivitenin başlayacağı gibi genel bilgileri içerir


res klasörü
Uygulamamızın kullandığı tüm kaynak dosyalar bu klasörde saklanabilir (imaj , text dosyaları...) . Uygulamamız bu dosyalara erişim için referans oluşturur


bin klasörü
Uygulamanın derlenmiş halini içerir

assets klasörü
Uygulamamızda kullanabileceğimiz kaynak dosyalarını bu klasör altında da saklayabiliriz . res klasöründen tek farkı java dosyalarından bu kaynaklara erişmek için kod yazarak dosyaları okumamız gerekmektedir
src klasörü
uygulamamızın kaynak kodunu içerir . Java paketleri ve java dosyaları bu klasör içerisindedir
gen klasörü
java kodlarından kaynak dosyalara erişmek için gerekli olan R.java dosyasını içerir . Buradaki dosyalar tool tarafından otomatik oluşturulur . R.java dosyasıyla kaynak dosyalara rahatlıkla erişebiliriz

lib klasörü
projede ihtiyaç duyulan java kütüphaneleri bu klasör içerisindedir

drawable klasörü
uygulamanın ikonları bu klasör içerisinde yer alır


layout klasörü

uygulamanın görünümünü oluşturan xml dosyaları bu klasör içerisinde yer alır

Section 3: Android Bileşenlerinin Genel Yapısı
02:59

Bu yazımızda Android uygulama bileşenleri hakkında bilgi vereceğiz

Android uygulaması aktiviteler , servisler , yayın alıcılar ve içerik sağlayıcılardan oluşur . Şimdi bu bileşenlere kısaca göz atalım


Aktiviteler
Aktivitelerin en önemli özelliği görsel kullanıcı arayüzü oluşturmalarıdır . Aktivite yazmak için Activitysınıfından extend edilmiş sınıf yazmamız gerekmektedir


Bir aktivite ekranında resimler , butonlar , metin kutuları , menüler bulunur . Uygulamamızda ne kadar farklı ekran varsa o kadar farklı aktivite bulunur . Yukarıdaki ekrandan da görüleceği üzere bir aktivite diğer bir aktiviteyi açabilir

Servisler
Servisler kullanıcıyla etkileşimde olmayan arka planda çalışan bileşenlerdir. Android multi-tasking özelliğini desteklediği için kullanıcı önyüzde işlemler yaparken servisler arka planda başka işlemler yapabilir . Mesela bir müzik listesinin çalmasını sağlayan bir uygulama açtık . Müzik çalınırken biz oyun oynayabiliriz . Servisler arka planda müziğin çalınması için gerekli işlemleri yaparlar


Yayın Alıcılar

Sistemdeki yayınları alan ve gerekli işlemleri yapan bileşenlerdir . Android işletim sisteminde meydana gelen her bir olay için yayım yapılır . Sistemdeki yayınlardan bahsedilen işlemler ise pil azalması , mesaj gelmesi , kablosuz internet arayışında ağ bulunması gibi uyarılar birer yayındır .

Mesela uygulamamız SMS geldiğinden haberdar olmak istiyorsa yayın alıcıları kullanmak durumundadır . Bazı uygulamalar telefon açıldıgında çalışmaya başlar . Telefonun açılmasından haberdar olmak isteyen uygulamalarda yayın alıcıları kullanır

İçerik Sağlayıcılar
Android içerik sağlayıcılar ile uygulamalar kendi verilerini diğer uygulamalara açabilirler , ayrıca diğer uygulamalardaki verileride kullanabilirler . Ayrıca verileri SQLite veritabanına kaydedebiliriz . Bu gibi işlemleri içerik saplayıcılar ile yapabiliriz

04:00

Bu yazımızda Activity sınıfı hakkında bilgi vereceğiz



Aktiviteler Activity sınıfından extend edilen ve kullanıcı arayüzü oluşturmamızı sağlayan sınıflardır .



Her uygulamanın LAUNCHER olarak tanımlı bir Activity sınıfı olmalıdır . Bu şekilde tanımlanmış olanActivity sınıfı uygulama ilk olarak açıldığı zaman kullanıcı ekranında görünecektir


Örnek LAUNCHER tanımı verilmiştir . Bu bilgiler AndroidManifest.xml dosyamızda tutulmaktadır


<activity

android:name="com.example.deneme.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>




Activity Sınıfının Yaşam Döngüsü
Activity sınıfının yaşam döngüsü altta belirtilmiştir

Activity sınıfı ilk çalıştığında onCreate metodu çalıştırılır . Bu metodda setContentView çalıştırılarak bir layout dosyasından ekran tasarımları yüklenir . Eğer ekran ilk oluştuğunda tanımlanması gereken başka işlemler varsa yine onCreate metodunda yapılır


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TextView text = new TextView(this);

text.setText("Hello Android");

setContentView(text);

}



onCreate metodundan sonra onStart metodu çağrılır .

onResume metodu onStart veya onPaused metodundan sonra çağrılaibilir. Activity herhangi bir sebepten dolayı durdurulduysa , tekrar ekrana geçiş yapıldıgında bu metod çağrılır .Activity çalıştırılmadan önce çalışan son metoddur .


onPause metodu ise onResume metodundan sonra çalışabilir . Activity herahangi bir sebepten dolayı arka plana atılırsa onPause metodu çağrılır . (Örnek olarak Back tuşu) onPause metodu bitirilmeden diğer aktiviteye geçilmez o yüzden onPause metodu hızlı çalışmak zorundadır . Çalışan sayfadaki veriler kaydedilmeliki tekrar Activity çalıştırıldığında eski sayfa açılabilmelidir

Activity sonlandırılmak istenildiğinde onStop metodu çağrılır . Activity stop edildikten sonra yeniden başlatılma veya destroy etme gibi iki seçenek bulunur .


onDestroy metodu ise mevcut aktiviteye ait tüm kaynakları kill eder. Activity yaşam döngüsü tamamlanmıştır

02:45

Bu yazımızda AndroidManifest.xml dosyası hakkında bilgi vereceğiz


AndroidManifest.xml dosyasında genel olarak aşağıdaki tanımlar yapılır

  • Activity sınıfları
  • Uygulama başladığında açılması gereken Activity sınıfı tanımı
  • Uygulama çalışması için verilmesi gereken izinler
    • Mesela internet erişimi için uygulamaya internet erişim izni verilmelidir
  • Versiyon ayarları


Basit bir manifest dosyası altta belirtilmiştir


<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.deneme"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="18" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="com.example.deneme.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>



Şimdi bu elemanların özelliklerini inceleyelim


Package Tanımı : Java dosyalarının bulunduğu package tanımı bu özellik ile yapılır


versionCode ve versionName kavramları
Uygulamamızın hangi versiyonda olduğunu belirtir. Versiyonname bilgisine herhangi bir string verebiliriz

action android:name="android.intent.action.MAIN"
Uygulama başladığında çalışacak Activiy tanımı burada yapılır

android:icon
uygulamanın icon dosyası

android:label
telefon üzerinde görünen uygulamanın adıdır

Section 4: Android ile İlk Uygulama
09:31

Bu yazımızda Android ile adım adım ilk örneğimizi yapacağız

Örneğimizi main.xml dosyasının anlamak adına bu dosya içerisinde yapacağız. Bu örneği sürükle bırak şeklinde veya programatik yoldan(java tarafında) yapabiliriz


1.Adım : Daha önce oluşturduğumuz projedeki main.xml dosyası açılır
2.Adım : Layout oluşturulur . Bu örnekte LinearLayout oluşturuyoruz
LinearLayout ile elemanlarımız dikey yada yatay olarak dizilirler

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal" >

</LinearLayout>


match_parent ile bileşenin içerisinde bulunduğu view ın genişliğini kullan diyoruz . Mesela

3.Adım : Layout içerisine TextField ekleyelim

<EditText android:id="@+id/edit_message"
android:layout_width="wrap_content"

android:layout_height="wrap_content"


android:hint="@string/edit_message" />

wrap_content ile gerektiği kadar yer kapla diyoruz . fill_parent ise bir üst view ile bitişecek biçimde tamamını kapla diyoruz

  • android:id ile bu bileşenin id bilgisini belirtiyoruz . R.java dosyasında edit_message isimli bir adres değişkeni mevcuttur.
  • android:hint : text field içerisinde gösterilecek mesaj
  • layout_width : bileşenin genişliği
  • layout_heigh : bileşenin yüksekliği
4.Adım : Layout içerisine Buton ekliyoruz

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />

5.Adım : Resource dosyamızı güncelliyoruz (string.xml )


<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My First App</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>

Projemizi çalıştırıyoruz

05:44

Bu yazımızda Activity.java üzerinden ilk örneğimizi yapacağız

Yapacağımız örnek basit bir örnek olacak . Ekrandan aldığımız bir yazıyı yine buton yardımıyla ekranın altına yazdıracağız

1.Adım : Bileşen ve layoutları oluşturalım

LinearLayout linearLayout = new LinearLayout(this);

Button button = new Button(this);

final EditText editText = new EditText(this);

final TextView textView = new TextView(getApplicationContext());


LinearLayout elemanları dikey olarak gösterir
2.Adım : Bileşenlerin özelliklerini ayarlayalım

button.setText("Apply");

button.setHeight(android.view.ViewGroup.LayoutParams.WRAP_CONTENT);

button.setWidth(android.view.ViewGroup.LayoutParams.MATCH_PARENT);


3.Adım : Butona tıklandığı zaman TextView bileşeninin içeriğini değiştiren listener yazalım

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

textView.setText(editText.getText());

}

});



4.Adım : Tanımladığımız bileşenleri Layout içerisine ekleyelim ve içeriği layout olarak güncellleyelim

linearLayout.setOrientation(1); //0 Horizontal, 1 Vertical

linearLayout.addView(editText);

linearLayout.addView(button);

linearLayout.addView(textView);

setContentView(linearLayout);


burda verdiğimiz 1 parametresiyle elemanlar aşağı doğru sıralanacak . 1 verseydik yanyana eklenecekti


5.Adım : Kodumuzu çalıştıralım

Android Aktiviteler Arası Geçiş
09:15
Section 5: Android Widget lar
Android Action Bar
07:13
Android Örnek Widget lar
17:57
Android - Genymotion ile emülatör tanımlanması
09:12
Android Spinner
08:25
Android ProgressBar
09:08
Android SeekBar
06:07
Android RatingBar
05:02
Android Switch
04:10
Android TextField vs AutoComplete
09:03
Android Layouts
07:00
Android Adapter vs ListView
07:29
Android Uygulamayı Cihaz Üzerinde Çalıştırmak
02:18
Android Uygulamanın markete yüklenmesi
04:13
Section 6: SQLite
SQLite Giriş
03:08
SQLite Veritabanı Oluşturmak
05:39
SQLite ile Kayıt Eklemek
05:39
SQLite Kayıt Sorgulamak
12:37
SQLite Kayıt Güncellemek
06:41
SQLite Kayıt Silmek
04:38
Veri Tipleri Ve Transactional İşlemler
07:59
Section 7: Android Widget'lar Devam
Android Alert Dialog
06:06
Android Resources
06:19
Android Listener
04:35
Android ImageView
04:09
Android VideoView
04:07
Adroid Time & Date
11:08
Android Permissions
03:25
Android Broadcast Receivers
05:16
Section 8: Servisler , Android Camera ve Fragment lar
Android Services
07:03
Android Çalışan Servisi Ele Alma
08:49
Android Fotoğraf Çekme Uygulaması
08:58
Android Video Çekim Uygulaması
08:23
Android Fragment Nedir
03:04
Android Fragment Uygulama
10:35

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

I was born in Ankara . I have graduated from Istanbul University from computer engineering department.I have been making projects on Java and Java web technology for 7 years.I am also a Java&Android trainer at a private corporation of education.In my free time ,I write Java,Big Data and Android based blogs in my personal blogger.

Ready to start learning?
Take This Course