Başlangıç > Android > Android programlama dersleri

Android programlama dersleri

Merhaba.Bu yazımızda kısaca Android platformunda uygulama geliştirebilmek için nelere ihtiyacımız olduğundan bahsedeceğiz.

Android platformunda uygulama geliştirebilmek için;
Windows,Mac ya da Linux işletim sistemli bir bilgisayara,
Java kullanarak yazdığımız kodları derleyecek bir IDE’ye,
Android yazılım kütüphanelerinin ve dökümanlarının bulunduğu Android SDK’ye ihtiyacımız var.

Gördüğünüz gibi Android’de uygulama geliştirebilmek için belirli bir işletim sistemine sahip olmanız gerekmiyor.IDE olarak Eclipse en uygun Java IDE’sidir.Android yazılım ve kütüphanelerinin bulunduğu SDK’yi de developer.android.com’dan indireceğiz.

Dersleri 720p(HD) olarak izlemeniz tavsiye edilir.

DERS1

Bu dersimizi izleyerek Eclipse ve Android SDK’i bilgisayarınıza nasıl kuracağınızı öğrenebilirsiniz.

Son dönemde oldukça popülerleşen Android uygulama geliştirme dünyasına adım atmak istiyorsanız bu dersimiz ve takip eden derslerimizi izleyerek bunu yapabilirsiniz.

Eclipse:Java yazılım dili ile program ve uygulama geliştirmek için kullanılan bir IDE’dir.Java kodlarının derlenmesi ve çalıştırılması için gereklidir.

Android SDK:Android uygulamaları geliştirmek için gereken tüm kütüphane ve programcıkları bulundurur.Tam açılımı Android Software Development Kit yani Android Yazılım Geliştirme Kit’idir.

Derste kullanılan dosyaların indirme bağlantıları:

https://developer.android.com/sdk/index.html

http://www.eclipse.org/downloads/

http://www.oracle.com/technetwork/java/javase/downloads/index.html

DERS2

Bu dersimizde ilk Android projemizi oluşturacağız ve Eclipse proje çalışma ortamından bahsedeceğiz.

DERS3

Bu dersimizde Activity,TextView ve EditView gibi temel kavramlardan bahsedecek ve ilk uygulamamızı programlayacağız.

Activity:Android programlamada işlemler Activity olarak tabir edilirler yani Türkçe karşılığı ile aktivite.Activity bir Android kavramıdır ve Android SDK ile birlikte gelen bir sınıf yapısıdır.Her bir Activity içerisinde onCreate,onPause,onDestroy gibi hazır fonksiyonları bulundurur.Bu fonksiyonlar Eclipse menüsünde Source kısmındaki Override/Implement Methods kısmından Activity’ye dahil edilebilirler.

Layout:Layout Android uygulamalarının kullanıcı tarafından görüntülenen kısmıdır.Layout üzerindeki her bir nesne TextView,Button gibi hazır Android sınıfları ve Layout oluşturulurken nesnelere verilen id’ler ile kontrol edilir.

TextView:TextView bir Layout nesnesidir ve yazı göstermek için kullanılırlar.TextView’lerin içeriği ve özellikleri fonksiyonlar aracığıyla değiştirilebilir.TextView class’ı ile kontrol edilirler.

EditView:EditView de TextView gibi bir Layout nesnesidir ve kullanıcıdan veri almak için kullanılır.EditView class’ı ile kontrol edilirler.

Button:Button da diğer Layout nesneleri gibi bir nesnedir ve Button class’ı ile projenin kod kısmına dahil edilirler.Buton oluşturmak için kullanılırlar.

DERS4

DERS5

Bu dersimizde Android cihazların menüsünde uygulama isminin hemen üstünde görünen uygulama ikonunu ayarlamayı ve oluşturduğumuz uygulamaları paket haline getirip Android cihazlara yüklemeyi öğreneceğiz.

.apk:Android uygulama dosyası formatıdır.Uygulamayı uygun bir cihazda çalıştırmak için bu formattaki dosyayı cihaza yükleyip kurmak yeterlidir.

DERS6

Bu dersimizde uygulamamızın renk seçeneklerini tema uygulayarak değiştirmeyi ve logomuzun bulunduğu profesyonel bir açılış ekranı(Splash Screen) oluşturmayı öğreneceğiz.

DERS7

Bu dersimizde 6.derste başladığımız açılış ekranını(Splash Screen) tamamlıyoruz.Derste Thread kavramından bahsedilmiştir.

Thread yapısıyla ilgili genel bilgi:

Java programlama diline özgü yapılardan biri olan thread, birbirinden bağımsız çalışabilen komut setlerine verilen addır.Paralel birden çok akış olmasını sağlayan yapılardır.Bir programda aynı anda birden fazla thread kullanılabilir ve bu threadlerin birbirileriyle haberleşmesi ya da birbirini kontrol etmesi sağlanabilir.Processlere (Süreç) benzerler.

Gerçekte ise Java her bir threadin birbiriyle çalışmasını engellemeyecek şekilde, ihtiyaçları olan zamanı birbirilerine tanıyarak aynı CPU ünitesini ortaklaşa kullanabilmelerine olanak verir.Ortak kullanılan bi hafıza vardır.

İki şekilde kullanılır.Birincisi yazdığımız sınıfı java.lang.Thread sınıfından extends ederek türetebiliriz.İkincisi ise bazı durumlarda sınıfımızın başka bir sınıftan

türetilmesi zorunlu olabilir, bu gibi durumlarda Javada çoklu kalıtım olmadığı için java.lang.Runnable interface’ini implement ederek kullanırız.Üç önemli metodu vardır.

public void start():Threadi çalıştırmaya hazırlar.

public void run():Threadin yapacağı işleri yerine getirir.Doğrudan doğruya çağrılmaz.Start çağrılınca kendiliğinden aktif olur ve gerektikçe çağrılır.Runnable interfacesindede sadece run metodu vardır.Threadin runnable parametre alan bir constructorı (yapıcısı) vardır.Bu şekilde gerekli thread oluşturulur.

public final void stop():Çağrılırsa thread durur.

DERS8

Bu dersimizde uygulamanızda kullanıcılara yol göstermesi açısından mutlaka bulunması gereken Opsiyon(Option) menülerini uygulamamıza nasıl ekleriz bundan bahsedeceğiz.

Opsiyon(Option) menüleri ile ilgili genel bilgi:

Opsiyon(Option) menüleri yani diğer adıyla Hardware menüleri Android işletim sistemini kullanan cihazlarda bulunan menü tuşuna basıldığında ortaya çıkan ve uygulamanın ekranları arasında dolaşmaya yarayan ya da belli başlı komut dizilerini gerçekleştirmek için kullanılabilinecek menü sistemleridir.

Derste Kullanılan Kodlar

Menü Kodları:

public boolean onCreateOptionsMenu (Menu menu){
super.onCreateOptionsMenu(menu);
MenuInflater menutanim = getMenuInflater();
menutanim.inflate(R.menu.burayamenuadigelecek, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.menuitemadi:
startActivity (new Intent("Buraya Activity Adı Gelecek"));
return true;
case R.id.menuitemadi:
startActivity (new Intent("Buraya Activity Adı Gelecek"));
return true;
}
return false;
}

XML Kodları:

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menuitem1"
android:title="Menü ismi"
/>
<item
android:id="@+id/menuitem2"
android:title="Menü ismi"
/>
</menu>

DERS9

Bu dersimizde Android’in en sık kullanılan Layout nesnelerinden olan ListView’lerden bahsedeceğiz.

ListView Nedir?
ListView’ler verileri listelemek için kullanılan yapılardır.ListView’ler sayesinde bir grup veriyi listeleyebilir ve kullanıcının seçtiği veriyle işlem yapabilirsiniz.

Örneğin;ListView’de listelediğiniz ürünlerinizin bilgilerinin üzerlerine tıklandığında görüntülenmesini sağlayabilirsiniz.

DERS10

Bu dersimizde Android’in desteklediği veritabanı sistemi olan açık kaynak kodlu Sqlite’dan bahsedeceğiz ve ilk veritabanımızı oluşturacağız.

Sqlite Nedir?
SQLite, dünyada en çok dağıtılan ve tavsiye edilen kaynak kodları halka açık, tamamen C/C++ programlama dilleriyle geliştirilmiş sunucu yazılımı ve konfigurasyon gereksinimi olmayan, işlemsel ve ilişkisel bir SQL veritabanı motorudur.
SQLite, onlarca programlama dili içerisinde rahatlıkla kullanılabilir. Bunlardan bazıları: BASIC, C, D, C++, Common Lisp, Java, C#, Visual Basic, Delphi, Curl, Lua, Tcl, REBOL, R, PHP, ASP, Perl, Ruby, Objective-C, Python, newLisp, Haskell, OCaml, Smaltalk, Scheme.

DERS11

Bu dersimizde bir önceki derste oluşturduğumuz veritabanımıza veri eklemeyi ve eklediğimiz verileri listelemeyi göreceğiz.

ekran3.java dosyası kaynak kodları(Bu kodları kendi java dosyanıza göre düzenleyin):

package com.teknoinfo.ornekuygulama;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class ekran3 extends Activity {
    private Veritabani ogrenciler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ekran3);
        ogrenciler = new Veritabani(this);
        final EditText adi=(EditText) findViewById(R.id.editText1);
        final EditText soyadi=(EditText) findViewById(R.id.editText2);
        Button verigonder=(Button) findViewById(R.id.verigonder);
        verigonder.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                    try{
                     KayitEkle(adi.getText().toString(),soyadi.getText().toString());
                     Cursor cursor = KayitGetir();
                     KayitGoster(cursor);
                     }
                     finally{
                     ogrenciler.close();
                    }
            }
        });
    }
     private void KayitEkle(String isim, String soyad){
     SQLiteDatabase db = ogrenciler.getWritableDatabase();
     ContentValues veriler = new ContentValues();
     veriler.put("isim", isim);
     veriler.put("soyad",soyad);
     db.insertOrThrow("ogrenciisim", null, veriler);
     }
     private String[] SELECT = {"id", "isim", "soyad"};
     private Cursor KayitGetir(){
     SQLiteDatabase db = ogrenciler.getReadableDatabase();
     Cursor cursor = db.query("ogrenciisim", SELECT, null, null, null, null, null);
     startManagingCursor(cursor);
     return cursor;
     }
     private void KayitGoster(Cursor cursor){
         StringBuilder builder = new StringBuilder("Kayitlar:\n");
         while(cursor.moveToNext()){
         long id = cursor.getLong(cursor.getColumnIndex("id"));
         String ad = cursor.getString((cursor.getColumnIndex("isim")));
         String soyad = cursor.getString((cursor.getColumnIndex("soyad")));
         builder.append(id).append(" Adı: ");
         builder.append(ad).append(" Soyadı: ");
         builder.append(soyad).append("\n");
         }
         TextView text = (TextView)findViewById(R.id.textView1);
         text.setText(builder);
}
}

DERS12

Bu dersimizde iki Activity arasında veri alışverişi yapmak için kullanabileceğimiz Bundle kavramından bahsedeceğiz.

Dersimizde String bir veriyi putString komutu ile aktardık.Eğer başka tipte bir veri aktarmak isterseniz put(Değişkentipi) şeklinde fonksiyonu kullanabilirsiniz.Kullanabileceğiniz fonksiyonların listesini görmek için Bundle için belirlediğiniz değişkenden sonra bir . koymanız yeterli.Eclipse size kullanabileceğiniz argümanların bir listesini verecektir.

Kaynak: Turan Arslangil

Reklamlar
  1. Sercan
    04/11/2012, 04:18

    Gerçekten harika olmuş ama sıfırdan başlayanlar için tanımların özeti olmuş olsa çok güzel olurdu ayrıca java bilmeden bunu öğrenmeye çalışıyorum ama biraz zorlanacağım gibi

    Beğen

  2. 07/12/2012, 09:29

    eclipse hangi sürümünü indirecez bilgi verirseniz sevinirim.

    Beğen

  3. 23/12/2012, 16:11

    Eclipse IDE for Java Developers, 150 MB olanı indirilmesi gerekiyor

    Beğen

  4. tatar
    31/01/2013, 15:12

    Eclipse IDE for Java EE Developers, 221 MB en son bu var bunu mu indirelim yoksa 150 lik oolanımı ??

    Beğen

  5. 08/02/2014, 23:25

    EE olmayanı indirin. Eğer File>New yolunda herhangi bir nesne görünmüyorsa Window>Open Perspective>Java’yı seçin.

    Beğen

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: