"Enter"a basıp içeriğe geçin

Kategori: Genel

iPhone 3.Ders 2.Kısım: Navigation Controller ile Yemek Tarifleri Uygulaması

Kursda üçüncü dersin son kısmında hızlıca Navigation Controller’ı görmüştük fakat yazmaya fırsat bulamamıştık. İyi de oldu, çünkü tek bir yazıda uzun uzadıya bütün dersi anlatmaktansa konulara göre bölerek anlatmak daha iyi olur kanaatindeyim.

iPhone uygulamalarında en çok kullanılan view controller’lardan biri de Navigation Controller’dır. Navigation Controller’da hiyerarşik bir düzen vardır. Genelde Table View’larla beraber kullanılır. Kullanıcı ilk Table View’dan bir satıra tıkladığında o satırla ilgili yeni bir view çağrılır. Eğer bu da bir Table View ise burdaki bir satıra tıklandığında bir sonraki ilgili view çağrılır. Her bir alt kademedeyken bir üst kademeye geri dönmek için Uygulamanın üst kısmındaki bar’da geri dönüş butonları otomatik olarak çıkar (Tabi o ekran için bir title -başlık- yazmışsak).

Şimdi basit bir uygulama ile Navigation Controller’in detaylarına inelim. Yemekler adında küçük bir uygulama hazırlayalım, ilk ekranda “Etli Yemekler, Zeytinyağlılar ve Çorbalar” şeklinde yemek kategorileri listelensin. Etli Yemekler’e tıklandığında “Orman Kebabı, Hünkar Beğendi, İskender” sıralansın. Zeytinyağlılar’a tıklandığında “Taze Fasülye, İmam Bayıldı, Barbunya” sıralansın. Çorbalar’a tıklandığında “Ezo Gelin, Tarhana, Yayla, Şehriye” sıralansın. Aslında kursda bu örneği işlemedik ama nasılsa blog’da zamanımız daha bol olduğu için sindire sindire anlayalım diye bu tarz bir örnek kullanmak istedim.

Birden fazla Table View ile çalışmak

Eğer iPhone uygulamamızda birden fazla Table View kullanmak istiyorsanız ve kodlar da birbirine karışmasın diyorsanız aşağıdaki adımları takip ediniz:

  • View Based Application taslağı ile yeni bir proje oluşturun. (Bu yazı için hazırladığımız örnek projemize “CokluTablo” adını verdik. Dosya isimlendirmeleri bu şekilde yapılacaktır.)
  • Resurce klasöründeki CokluTabloViewController.xib dosyasını Interface Builder ile açıp içine Library’den 2 tane TableView  nesnesi yerleştirin. (Resim 1)
  • Xcode’a geri dönüp Classess klasörüne sağ tıklayın ve şu adımları seçin: Add -> New File -> UIViewController Subclass (seçeneklerden sadece UITableViewController subclass seçili olsun). (Resim 2)
  • Dosya adı olarak Tablo1.m yazın (Tablo1.h da otomatikmen oluşacaktır).
  • Aynı işlemi tekrar yapın ve dosya adı olarak Tablo2.m yazın.

iPhone Kursu 3. Ders: TableViewController

Malumunuz iki hafta önce Gelişim Platformu bünyesinde 60 saatlik iPhone Uygulama Geliştirme eğitime başladık. Kursda gördüğümüz konuları dilim döndüğünce burada paylaşmaya çalışıyorum. Konular ilerleyip karmaşıklaştıkça detayları paylaşmak daha yorucu olacağından şimdiden affınızı rica ediyorum.

Bu dersimizde ViewController’ları gördük. Bir kaç tanesine değindik, TableViewController ve Navigation Controller üzerinde denemeler yaptık. Diğer derslerde controller’lara devam edeceğiz.

iPhone için yazılan uygulamalar MVC (Model, View, Controller) prensibine dayanır. Kabaca ifade edersek; Model yapıları veritabanı ile olan alışverişi, View yapıları uygulamanın görsel kısımlarını oluşturur. Controller’lar ise bu ikisini koordine eden yapılardır.

iPhone Kursu 2. Ders: Hello World!

Bu akşam iPhone Eğitimimizin 2. dersini gördük. Daha önce kendi başımıza uygulamalar yazmış olsak da sınıf olarak herşeye sıfırdan başladığımız için geçtiğimiz dersde Xcode’a tepeden bir bakış attık. Bugün de ilk “Hello World” uygulamamızı yaptık.

Uygulamaya geçmeden önce Mac tedarik edemeyen kursiyerlerin Windows makinelerinde çalışabilmeleri için önceden hazırlanmış ve içinde Xcode bulunan sanal makine (VMWare) imaj dosyası elden ele dolaştı (bu dosyanın linkini bulabilirsem bu sayfalarda yayınlayacağım). Ofisteki bir arkadaşımdan ödünç MacBook Air alamasaydım ben de bu kervana katılacaktım. Sanal makinelerle ne kadar uğraştığım blogun eski sayfalarında mevcut. Bu noktada hemen haklı eleştirimizi yapalım. Gelişim Platformu; yıllardır verdiği eğitimlerle ön planda olan bir dernek. Bildiğim kadarıyla Türkiye’de iPhone uygulama eğitimi ilk kez GP tarafından veriliyor. Çok makbule geçtiğini -şahsen- ifade edeyim. Fakat bu kursa arkadaşlarımı çağırırken “bir şey getirmenize gerek yok, nasılsa iPhone eğitimini pc’lerde yapacak halimiz yok, orda Mac laboratuvarları vardır” demiştim. Fakat değil Mac, normal bir pc laboratuvarı bile göremedik. Neyse ki başvuranların sayısı çok fazla oldu da iki gruba bölünerek rahat bir ortamda ders almaya başladık.  İnşallah bu iPhone eğitimi daha pek çok kere verilecektir. GP’de güzel bir laboratuvar ile bu başarı karşısında kendini ve kursiyerlerini ödüllendirir.

Kasım’da kod yazmak başkadır

Bu bayram 9 gün tatil olunca fırsattan istifade eşimin memleketi Gönen’e kaçtık. Tastamam bir hafta orada kalmak üzere plan yaptık. Haftalardır vakitsizlikten bitiremediğim işleri gün gün programladım. Yedi gün, yedi iş. Gel gör ki havalar mükemmel sıcaklıkta olunca içimden çalışmak gelmedi bir türlü. İlk bir kaç gün akraba ziyaretleri, el öpmeler.. Sonra gezelim tozalım, adalara gidelim (Marmara Adası’na gittik, gezentigiller.com’da bugün yarın çıkar) derken baktım 6. gün olmuş bile. Son gün can havliyle listemdeki ilk işe başlayıp bitirdim :)) O yanıma kar kaldı.

Mac ailemize yeni birey

Bir önceki evlilik yıldönümümüzde eşime aldığım iPhone 3G ile başladı herşey. Sonra geçen doğum gününde aldığımız iMac ile macera devam etti. Ardından henüz 8 aylık olan Asus Notebook’umu satıp Mac Mini’yle tanıştık. Şimdi de aylardır yolunu gözlediğimiz şirket hediyesi iPad eklendi ailemize. Öte yandan iPhone için hazırladığımız uygulamalara artık iPad uygulamaları da eklenmeye başladı. İlk olarak Bahçeşehir Üniversitesi Öğrenci İşleri Sistemi olan OİS’in iPad versiyonunu hazırladık. Şimdilik yayında değil. AppStore’dan onay bekliyor. Bunun akabinde yine aynı kurumun başka uygulamaları da gelecek. Diğer taraftan da kısa bir süre önce iPhone versiyonunu hazırladığımız Ebruli Osmanlıca Sözlük (offline) ve Crazy Math’in iPad versiyonlarını…

Mac için ‘mini’k benim için büyük bir adım

Gerek ofisteki gerek evdeki normal pc’lere macos (iatkos) kurmak için ne kadar uğraştığımı bu sayfalarda bir kaç kere yazmıştım. Bunlardan en uğraştırıcı olanı geçen hafta nihayet sattığım Asus N61VN laptopum idi. Asus’u satınca Mac-Mini almaya karar vermiştim. Sağolsun Friend Feed camiasından Barış Değer ve Bahaeddin Beyler bu konuda yardımcı olacaklarını önceden belirtmişlerdi. Fırsat çıkınca hemen kapılarını çaldım ve ennihayet geçen hafta Mac-Mini’yi evimizde gördük. Gördük görmesine ama çalıştırmak ancak dün nasip oldu. Zira ilk gün ofisten getirdiğim VGA monitörü bulabildiğim tüm aparatlarla denememe rağmen Mac-Mini’ye bağlayamadık ve biz de en hızlısından bir gönderi yaparak hepsiburada.com’dan yeni bir monitör sipariş verdik.…

BT’cinin Dondurmayla İmtihanı

Geçen cumartesi eşimin blogu vesilesi ile Çorlu’daki Algida Dondurma Fabrikası gezisine davetliydik. Son zamanlarda katıldığımız pek çok etkinlikte olduğu gibi bunda da ben +1 olarak gitme şansına sahip oldum (Bada Developers Days etkinliğinde eşim +1 idi heh hee). Gezinin olduğu sabah eşim rüyasında servis otobüsünü kaçırdığımızı görmüştü, öyle de oldu. Daha doğrusu biz vaktinde duraktaydık ama servis durağı tutturamadı ve bizi es geçti. Çok şükür imdadımıza FF’den Göktaşı Hanım ve eşi yetişti. Onlar durağa arabalarıyla gelmişlerdi. Otobüsü fazla uzaklaşmadan yetişebildik. Daha çok yemek bloggerları davetli olduğundan katılımcıların büyük bir kısmı bayandı. Sunipeyk bey ve Özgür Bey (babaolmak.com) baylardan bildiklerim. Özgür…

SVN ile çalışmanın dayanılmaz hafifliği…

SVN (Subversion) kaba bir tabirle sürekli güncellenen dosyalar için sürüm kontrol sistemi olarak ifade edilebilir. Başkaları nasıl kullanıyor bilmiyorum ama biz program geliştiricileri için hayat kurtarır mahiyettedir.

SVN ile proje dosyalarınızı güvenilir, yedekleri düzenli şekilde alınan bir sunucuda tutabilirsiniz. Çalışacağınız zaman bu dosyaların en güncel halini kendi bilgisayarınıza indirip gerekli güncellemeleri yapıp ilgili yorumlarınızla birlikte tekrar svn sunucunuza geri gönderebilirsiniz. Üstelik aynı projede çalışan birden çok kişi de kendi kullanıcı bilgileri ile bu işlemi yapabilir. Böylece kimin nereye ne şekilde ekleme çıkarma yaptığı gün, gün, saat saat bellidir. Dilediğiniz zaman dilediğiniz bir sürüme dönüş ya da inceleme yapabilirsiniz.

İşyerinde SVN ile çalışmak bizim için büyük bir nimet. Üzerinde kodlarınızı yazdığınız bilgisayarın başına herhangi bir iş gelse; disk bozulsa, virüs bulaşıp tüm dosyalarınız zarar görse üzülmeniz gereken tek şey sadece en son yazıp ‘commit’ etmediğiniz kısımlar olur ki genelde bunlar tüm projenin yanında oldukça az bir yer kaplar. Tabi bu kısımlar hayati kısımlar da olabilir ama, o zaman makinenize gözünüz gibi bakın ne diyeyim.

İşte bu rahatlığı evimde de kullanmak için uzun zamandır fırsat kolluyordum. İstediğim zaman erişebileceğim bir svn sunucum olsun istiyordum. Makinemi her formatladığımda sayıları giderek artan ve kontrolden çıkmaya başlayan proje yedeklerim için en iyi çözüm svn idi. Gerçi bu işi ücretli veya ücretsiz yapan başta Google ve SourceForge gibi onlarca site var fakat bilhassa bu saydıklarımda projeyi oluştururken ‘açık kod lisansınızı seçiniz’ şeklinde sorular sorulması beni işkillendirdi. Küçük de olsa ticari kodlarımın açık seçik olması taraftarı değilim. Aslında 3o küsür yaşında bir programcı olarak ‘açık kod’ nedir denince kafamda net bir cevap oluşması lazımdı ama malesef  yok.

BT’nin yakın tarihi..

Bu yazı Sayın Dr. Hakkı Öcal Bey’in www.potkal.com web sitesinde 26 Ekim 2009′da yayınlanmış yazısıdır. 26 Ekim 2009, Dr. Hakkı Öcal, http://www.potkal.com/y_yazi_icerik.asp?yID=2699 Yıllar önce yazdım bunu, ama geçtiğimiz günlerde FriendFeed’de başlatılan bir tartışma sebebiyle yeniden yazmam gerekiyor. GAP için rahmetli Cumhurbaşkanı Turgut Özal’in isteği üzerine bir fotoğraf çekme turu yaptık; o sırada  ben burada verdiğim Masaüstü Yayıncığı dersini Web Teknikleri’ne çevirmiştim. 20-25 günlük tura başlarken Ankara’da havaalanında bulduğum bütün bilgisayar dergilerini aldım. O baraj senin, bu baraj benim, GAP bölgesini adım adım gezerken gezerken, fırsat buldukça bu dergileri okudum. İzlenimimi iki kelime ile özetleyebilirim: Tepem attı! Hem de öyle bir…