WWW.TUGRULASIK.COM
WWW.TUGRULASIK.COM
WWW.TUGRULASIK.COM
Merhabalar arkadaşlar,
Bugün SQLite’ın ne olduğuna ve android üzerinde nasıl kullanıldığına değineceğim. Bilindiği üzere çoğu uygulamada verilerin bir yerlerde depolanması gerekiyor. Bunun için en iyi seçimlerden birinin veritabanı olduğu şüphesis. Sözü fazla uzatmadan konuya girelim artık. Faydalı olması dileğiyle.
SQLite Nedir ?
Kullanımı basit, çok yer kaplamayan ve mobil cihazlarda rahatlıkta kullanılabilen açık kaynak kodlu ve sistem bağımsız bir veritabanı kütüphanesi ve motorudur. SQLite, onlarca programlama dili ile kullanılabilir. Az yer kaplaması ve istenilen hızda veri işlemleri yapabilmesi tercih sebepleri arasındadır.
SQLite Veritabanında Desteklenen Veri Tipleri
SQLite Veritabanının Android Üzerinde Kullanımı
Bilindiği üzere Android üzerinde otomatik olarak hazır bir veri tabanı sunulmamaktadır. Eğer android uygulamamız için bir veritabanı oluşturmak istiyorsak, kendi tablolarımızı ve veri tiplerimizi belirlemeli daha sonrada bunlar arasındaki ilişkileri düzenlemeliyiz. Yani sıfırdan bir veritabanını hayata geçirmeliyiz diyebiliriz. Bu ilk bakışta biraz karmaşık gelebilir, hatta sqlite’ın görsel arayüzünün olmadığını düşünürsek dahada karmaşıklaştığını düşünebiliriz; fakat daha önce sql ile biraz ilgilenmiş iseniz çok rahatlıkta sqlite’a uyum sağlayabilirsiniz. Ayrıca üçüncü parti araçlarla görsel arayüz desteği sağlanabilmektedir.
Şimdi android üzerinde bir veritabanının nasıl oluşturulduğuna ve temel operasyonların (SELECT,DELETE,INSERT,UPDATE) nasıl kullanıldığına bir göz atalım.
Öncelikle şunu söylemeliym ki, SQLite veritabanı oluştururken bazı hazır sınıfların altsınıfları olarak türetilen sınıflar üzerinde işlem yapmak bizlere her zaman fayda sağlayacaktır. Kütüphane tarafından sağlanan sınıflar hem mantıksal bir bütünlük hemde veritabanını yönetmeyi kolaylaştıracak yetenekleri desteklemektedir. Bir veritabanının nasıl oluşturulduğunu ve operasyonların nasıl çalıştırıldığını aşağıdaki adımlarda bulabilirsiniz.
1. SQLiteOpenHelper’dan türetilen bir sınıf oluşturmak.
public class TestDBHelper extends SQLiteOpenHelper { }
Bu bizlere 2 methodu kullanma zorunluluğu getirecektir.
2. Sabitleri tanımlamak
public class DenemeDBHelper extends SQLiteOpenHelper {
static final String dbAdi=”DBTEST”;
static final String KISITABLE =”KISI”;
static final String _ID=”_ID”;
static final String ad =”ad”;
static final String soyad =”soyad”;
static final String yas =”yas”;
static final int version =1;
//constructer()…
//onCreate()….
//onUpgrade()….
}
Sabitleri helper sınıf içinde tanımladığımız gibi farklı bir sınıf içerisinde de tanımlayabiliriz. Yeterki erişilebilir ve kullanımı anlaşılabilir olsun. Ben örnek için kişinin ad,soyad ve yaşının tutulduğu tabloyu içinde barındıran bir veritabanını baz aldım. (Static ve final olarak tanımladığımıza dikkat ediniz !)
3. Constructer
public TestDbHelper(Context context){
super(context,dbAdi,null,version);
}
4. onCreate() ve Tablo Oluşturmak
Tablo oluşturma işlemlerimizi onCreate() methodu içerisinde yapıyoruz. Aşağıda bir kişi tablosu oluşturmak için gereken sql cümleciğini ve bir tablonun nasıl oluşturulduğunu bulabilirsiniz.
public void onCreate(SQLiteDatabase db) {
db.execSQL (“CREATE TABLE”+ KISITABLE+”(“+_ID+” INTEGER PRIMARY KEY AUTOINCREMENT,”+ ad+” TEXT, “+soyad+” TEXT, “+yas+” INTEGER);”);
}
5. onUpgrade()
Veritabanında herhangi bir modifikasyon olduğunda onUpgrade() methodu çalıştırılır. Daha sonrasında çağrılan onCreate() methodu değişikleri hayata geçirmeye yarar. (Drop Table , Alter Table, Drop arg. Alter arg)
public void onUpgrade(SQLiteDatabase db, int eskiVersiyon, int yeniVersiyon){
db.execSQL(“DROP TABLE IF EXISTS”+KISITABLE);
onCreate(db);
}
6. Veritabanı İşlemleri için Gereksinimler
7. Queryleri Çalıştırmak
Sqlite hem bilinen sql cümleciklerini (rawQuery()) desteklemektedir hem de kendi içinde özelleşmiş sorgulama methodları bulunmaktadır.
sonuc=db.rawQuery(“SELECT_ID,ad,soyad,yas FROM KISI, null);return sonuc;}
public Cursor queryTest(){
String[] columns={_ID, ad};
String[] isimDegeri={“Tugrul”};
Cursor sonuc=db.query (KISITABLE, columns, “ad=?”, isimDegeri, null, null, null);
return sonuc;
}
private void insertTest(String a, String s, int y) {
ContentValues cv=new ContentValues(3);
cv.put(ad,a);
cv.put(soyad,s);
cv.put(yas,y);
db.insert(KISITABLE, null, cv);
}
private void deleteTest(int id) {
String[] args={String.valueOf (id)};
db.delete (KISITABLE, “_ID=?”, args);
}
Cursor c = new Cursor();
public void cursorTest() {
Cursor c = db.rawQueryTest();
startManagingCursor(c);
if (c.moveToFirst()) {
do {
int id1 = c.getInt(c.getColumnIndex(_ID));
String ad1 = c.getString(c.getColumnIndex(ad));
String soyad1= c.getString(c.getColumnIndex(soyad));
String yas1 = c.getInt(c.getColumnIndex(yas));
//alınan verilerden nesne oluştur dizi vektor, list vb. ekle
} while (c.moveToNext());
}
}
Merhabalar arkadaşlar,
Bloğumda ilk yazımı yayınladığım günden bugüne tam 365 gün geride kalmış. Zaman o kadar hızlı akıyor ki, ancak geride kalmış diyebiliyorum. Gittikçe anlamak zorlaşıyor zamanın akışını. Bloğuma şöyle dönüp bir baktığımda koskoca 365 günde 11 yazı yayınlamışım. İyimi kötümü tam emin değilim; ama oranlasam ve yuvarlasam ayda 1 yazı ediyor. Sizin anlayacağınız ben bloğu çok tatile göndermişim
.
Yazma konusunda biraz fakir bir tutum sergilesemde, yazılarımı okuyan -özellikle son dönemlerde android hakkında yazdıklarımı- birçok arkadaşımdan olumlu görüşler alıyorum. Görüşlerini benimle paylaşan tanıdığım ve tanımadığım tüm arkadaşlara çok teşekkürler. Önümüzdeki zaman zarfı içinde bloğuma çok daha fazla vakit ayırmayı düşünüyorum. Umarım bu düşüncem, her sınavdan sonra günü gününe çalışacağım diye kendimi verdiğim söz gibi olmaz ve çok daha fazla işe yarar paylaşımda bulunabilirim
.
Bu arada koskoca 1 yıl boyunca wordpress server bakımına hiç denk gelmemiştim; ama bugün nasıl olduysa piyangoyu tutturdum
. Birinci yaş şerefine büyük ikramiye 45 dk. kadar bana vurdu. Hadi hayırlısı bakalım.
Bloğum ve bir yıllık dönemle ilgili çok daha fazlasını şu anda yazmak isterdim. Sanırım daha sonraya kalacak. Şimdi uyumam gerekiyor. Sabah 08:30′da beni bekleyen bir ders var. Sabahın 6′sına kadar nette keyif yaparım sonrada 10:30′daki lab’a giderim diyordum ki, dersin olduğu haberini alıp keyfimi 1-2 saat erken bitirmeye karar verdim. Bazen planlarımız değişebiliyor.
Okuduğunuz için çok teşekkürler… İyi geceler.
Merhaba arkadaşlar,
Bir uygulamayı yazdığımızda ham haliyle farklı cihazlara yüklemek mümkün olmuyor. Emülatör veya debug ettiğimiz cihaz üzerinde çalıştırırken yüklenme esnasında zaten imzalandığından bir sıkıntı ile karşılaşmıyoruz; fakat güvenlik açısından farklı cihazlar için uygulamamızı imzalamamız gerekecektir. Bu şekilde bir yöntem izlenmeseydi; ne olduğu, nerden geldiği bilinmeyen tonlarca uygulama mobil cihazlarımızda yer edinirdi.
Şunu söylemeliyimki, bir android uygulamasını imzalamak diğer mobil işletim sistemleri için yazılan uygulamaları imzalamaya göre daha esnek. Nokia veya iPhone için yazdığınız bir uygulamayı imzalayabilmek için şirket tarafından sizlere verilen sertifikayı kullanmanız gerekecektir. Bir android uygulamasını imzalarken ise böyle bir sertifikaya gerek kalmadan kişisel olarak verileri girmemiz yeterli olcaktır.
Daha önce anlatmış olduğum celcius-fahrenheit uygulaması üzerinde bir android uygulamasının nasıl imzalandığını anlatacağım. İmzalama sırasında direk olarak Sdk’nın aracını kullandım. Daha basit yollarla yapmak istediğimi yapmak varken, komut satırlarıyla uğraşıp olayı dallandırıp budaklandırmanın anlamı olmadığını düşünüyorum.
Aşağıdaki adımları takip ederek uygulamamızı imzalayabiliriz.
1. Proje Sağ Tık>Android Tools > Export Signed Application Package
Herkese merhabalar,
Bu yazımda bir android uygulamasını oluşturan öğeler, bunların birbiri arasındaki ilişkileri üzerinde bazı kısa bilgiler vereceğim ve öğeler arasındaki ilişkilerin anlaşılması açısından küçük bir uygulamanın geliştirilme aşamalarını anlatacağım. Yardımcı olması dileğiyle
.
A - Uygulamayı Oluşturan Öğelerin Tanıtımı
Öncelikle bir uygulamaya başlamadan önce genel anlamda uygulamayı oluşturan öğeleri kısaca tanıyalım. Aşağıdaki şekilde bir android projesini ilk açtığımızda varsayılan olarak karşımıza gelen öğeleri görebiliriz. Nasıl proje açıldığına gözatmak için buraya tıklayabilirsiniz. Öğeler hakkında kısaca bilgi vermek gerekirse;
[1] : Kaynak kodların yer aldığı kısımdır. Gerek Activity sınıflarımız gerekse diğer sınıflar burada yer alır. Dikkat edilmesi gereken şey, sınıf isimlerinin anlamlı olması ve paketlerle iyi bir şekilde kategorize edilmesidir. Bu hem yazılımın ne yaptığının anlaşılmasını kolaylaştıracak hem de yazılım gelişirme sürecinde bizlere kolaylık sağlayacaktır.
[2] : İçeriği otomatik üretilen bir sınıftır. Gerek sayfa düzeni gerekse manifest içerisinde yapılan çoğu değişiklik buraya otomatik olarak yansır. R.java sınıfı üzerinden birçok öğeye erişilir.
[3] : Uygulamada kullanılan kütüphanelerin yer aldığı kısımdır.
[4] : Uygulamada kullanılan şekil, resim, foto, icon vb. görsel öğelerin yer aldığı kısımdır. Üç farklı görüntü kalitesinde kategorize edilmiştir.
[5] : Sayfa düzeni, sayfalar vb. öğelerin yer aldığı kısımdır.
[6] : Referans değerlerimizin yer aldığı kısımdır. Örn: “unvan”, “blog yazarı” eşleştirmesi gibi. @string/unvan denildiğinde direk olarak bizlere “blog yazarı” değerini verecektir.
[7] : AndroidManifest.xml (Önemli)
Android uygulamasının çalışması için gerekli tüm prensiplerin belirlendiği dosya diyebiliriz. Filtrelemeler, izinler, versiyon ayarları ve bir android uygulamasında aklınıza gelebilecek birçok şey bu dosya içerisindeki verilere göre şekilleniyor. Örneğin, sms gönderme iznini vermediğimiz bir uygulama sms gönderemez veya internet erişimi vermediğimiz bir uygulamanın internete bağlanma imkanı yoktur. Ya da bir activity sınıfını bu dosyada tanıtmadığınız sürece uygulamanız içerisinde o sınıfa erişmeniz mümkün olmayacaktır. Bundan dolayı bir android uygulamasının en önemli parçalarından diyebiliriz ve içeriği oluşturulurken çok dikkat edilmesi gerekir.
B- Uygulamanın Hayata Geçirilmesi
Projemizi açtık. Öğeler hakkında bilgi edindik. Sıra geldi basit bir celcius-fahrenheit sıcaklık dönüştürme uygulaması yazmaya.
Öncelikle uygulamamız için bir sayfa düzeni oluşturmamız gerekecektir. Layout kısma sağ tıklayıp “donusturucu” isminde bir xml dosyası oluşturalım. İlk oluşturduğumuzda boş bir dosya olduğu için hata işareti göreceğiz. Ama xml dosyasını kapatıp tekrar açtığımızda görsel araç karşımıza gelecektir ve buradan boşluğa bir layout sürükleyerek uygulama ekranımız için ilk adımı atabiliriz.
Dilediğimiz herhangi bir layout’uda kullanabiliriz; ama ben kolaylık olması açısından linearLayout tercih ettim bu uygulamada. Ayrıca bize kolaylık sağlayan araçlar her zaman %100 verimlilikle çalışmayabiliyor. Bundan dolayı bazen xml kodunu açıp manuel olarak düzenlemeler yapmamız gerekebilir. Aşağıda android:orientation”vertical” öğesinin manuel olarak xml dosyasına eklendiğini görebilirsiniz.
Read the rest of this entry »
Herkese selamlar,
Bugün sizlere android uygulama projesi nasıl oluşturulduğunu, emülatör ve gerçek cihaz üzerinde çalıştırılmasından bahsedeceğim. Daha önce bir android uygulaması geliştirebilmek için gereken yazılımları ve sisteme nasıl kurulacağını anlatmıştım. Dileyen arkadaşlar o yazım buradan ulaşabilirler.
Projeye başlamadan önce sizlere tavsiyem; jdk, sdk kurulumlarından ve referanslarının doğru bir şekilde ayarlandığından emin olmanız. Aksi taktirde sorunlarla karşılaşabilirsiniz.
Android Projesi Oluşturmak ve Çalıştırmak
1. File > New > Project seçeneğine tıklıyoruz.
2. Açılan proje sihirbazından Android Menüsü altındaki Android Project seçeneğini seçiyor ve Next butonuna tıklıyoruz.
Merhabalar arkadaşlar,
Bugün android uygulaması geliştirmek için gereken programları ve bir android geliştirme ortamının nasıl oluşturulduğunu sizlerle paylaşacağım. Programları indirmeden önce yazıya ufak bir göz gezdirmeniz daha yardımcı olacaktır. İyi çalışmalar
Gerekli Programlar
1.Java Development Kit(JDK) İNDİR
2.Android SDK İNDİR
3. Eclipse SDK İNDİR
Aşağıdaki adımları takip ederek windows için gereken yazılımların seçimlerini yapabilirsiniz. (NOT: İndirilecek olan programları en temel gereksinimler bazında verdim. Dileyen arkadaşlar uyumlu olan daha farklı sürümleri indirebilirler
)
A- JDK Seçimi
B-Android SDK Seçimi
C-Eclipse SDK Seçimi
Gerekli programları indirdikten sonra öncelikle JDK’yı bilgisayarımıza kuralım. JDK kurulumu tamamlandıktan sonra Eclipse’i zipten çıkaralım ve eclipse.exe‘yi çalıştıralım. İsteğe bağlı olarak Android SDK‘yı bu aşamada kurabilirsiniz ya da ileriki adımlarada bırakabilirsiniz.
İlk çalıştırmada eclipse sizlere oluşturacağınız projeleri nereye kaydetmek istediğinizi soracaktır. Workspace için kayıt yeri belirledikten sonra aşağıdaki ekran karşınıza gelecektir.
Bundan sonraki adımlar tamamen Android’i eclipse’e entegre etmek üzerine.
Android Entegrasyonu
1.Yeni Yazılım Yükleme (1/2)
Eclipse’i çalıştırdıktan sonra Help>Install New Software seçeneğine tıklıyoruz.
2.Yeni Yazılım Yükleme (2/2)
Açılan pencerede Add [1] butonuda tıklıyoruz. Daha sonra açılan pencerede yazılıma bir isim veriyor ve adres kutusuna “https://dl-ssl.google.com/android/eclipse/” bağlantısını giriyoruz ve Ok butonuna tıklıyoruz.
Bu işlemi gerçekleştirdikten sonra Work with[2] kısmında girdiğimiz değerleri aşağıdaki gibi görebileceksiniz. Girmiş olduğumuz adresten yazılım paketleri[3] getirilecektir. Peketlerin hepsini seçiyor ve Next[4] butonuna tıklıyoruz.
Daha sonra açılan bir pencerede paketlerin yükleme durumunu göreceksiniz. Yükleme tamamlandıktan sonra diğer adıma geçebiliriz. Ama eğer Android SDK’yı kurmamış iseniz bu adıma geçmeden önce kurmanız gerekecektir.
Eclipse SDK üzerinde Window>Preferences seçeneğine tıklıyoruz ve açılan pencerede sol taraftan Android sekmesine geliyoruz. Daha sonra kurmuş olduğumuz Android SDK’nın pc’miz üzerindeki yerini gösteriyoruz ve OK butonuna tıklayarak pencereyi kapatıyoruz.
4. Android SDK and AVD Manager Ayarları
Tüm bunları tamamladıktan sonra Window >Android SDK and AVD Manager seçeneğine tıklıyoruz. Açtığımızda birkaç defa pop-up pencerelerde bazı işlemler gerçekleşecektir. Biraz beklemenizi öneririm. Pop-up pencereler geçtikten sonra sol tarafta Android ile ilgili paket yükleme işlemlerini gerçekleştirebilirsiniz.
Ben her türden uygulamaya bir göz atıcam diyorsanız eğer, tüm paketleri yüklemenizi öneririm. Biraz zaman alacaktır ama tüm paketleri yüklemek sizleri birçok uyumsuzluk ve paket eksikliği sorunundan kurtaracaktır.
Yapmış olduğumuz uygulamalarıçalıştırmak için bir sanal cihaz oluşturmamız gerekecektir.(Gerçek bir cihaz üzerinden de uygulama geliştirme ortamı üzerinden çalıştırılabilmektedir.) Sanal cihazımız Android SDK and AVD Manager penceresinde Virtual Devices sekmesinden yapılandırabiliyoruz. Aşağıdaki gibi bir yapılandırma sizlere yardımcı olacaktır. Arzu eden arkadaşlar daha detaylı donanım ve API seviye ayarlarıyla kendilerine özgü bir cihaz tanımlayabilirler. Yapılandırma işlemi gerçekleştikten sonra console sekmesinde oluşturulan sanal cihazla ait bilgiler gösterebilmektedir.
Adımları sorunsuz bir şekilde gerçekleştirdikten sonra Android uygulaması geliştirmek için gereken tüm temel imkanlar sağlanmıştır demektir. İlginç, beğeni toplayan nice uygulamalar geliştirmeniz dileğiyle.
Şimdilik hoşçakalın, sizlere faydalı olabildiysem ne mutlu bana
Herkese merhabalar, uzun bir aradan sonra bloğuma zaman ayırabildim sonunda
. Projelerdi, derslerdi, staj derdiydi derken bugüne kadar ayrı gayrı kalmıştım bloğumla. (uydurma net başucunda diyebilirsiniz.)
2011 yılı girişli bir kırmızı kuşak (21.12.2011 itibariyle AveaMasters) olarak bu yazımda sizlere, kırmızı kuşak olmak için ne gibi aşamalardan geçtiğimden ve nasıl kırmızı kuşak olunabileceğinden bahsedeceğim dilim döndüğünce.
Öncelikle “kırmızı kuşak nedir?” sorusunu cevaplayarak konuya gireyim. Kırmızı kuşak Avea’nın genç kuşağımız olarak adlandırdığı ve gençlere yatırım yaptığı bir kişisel gelişim ve bununla birlikte staj ve işe alım programı aslında. Kısaca bu şekilde nitelendirebiliriz. Daha fazla bilgi için linkteki adresini ziyaret edebilirsiniz.
Kırmızı kuşak olabilmek için 3 veya 4. sınıf lisans veya yüksek lisans öğrencisi olmanız gerekiyor. Aynı zamanda mezun olduktan sonra 2 yıl içerisinde de bu programa başvuru yapabiliyorsunuz. Başvurular Aralık ayı içinde gerçekleştiriliyor genelde. Bu sene 9 ocağa kadar uzatılmıştı mesela ; ama sizler işinizi sağlama alın sürekli takip edin eğer bu programa katılmak istiyorsanız. Benim gibi son gün başvurmayın mesela. Stresli oluyor çünkü
.
Programa katılmak için başvurular Kariyer.Net üzerinden yapılıyor. Sistem üzerinden başvurunuzu gerçekleştiriyorsunuz; ama öncesinde bir önyazı yazmanız gerek. Önyazı çok önemli, çünkü sizleri mülakata çağırmadan önce eleme için ilk baktıkları kriter önyazınız. Başvuru yaptıktan sonraki 1 hafta zarfında sizlere web tabanlı bir test için kullanıcı adı ve şifre gönderiliyor. IQ testine benzer bu testte göstermiş olduğunuz performans ise ön eleme için ikinci kriter. (CV’den hiç bahsetmiyorum, zaten önemli.)Tüm bunlar bittikten sonra mülakat için bir bekleme evresi başlıyor. Gerisi insan kaynaklarının sizleri mülakat için seçip seçmemesinde.
(Not: Yeni sistemin web sitesi : www.aveamasters.com )