BMH-210 MOBİL CİHAZ PROGRAMLAMA. Android OS Tanıtımı, Kurulumu, Bileşenleri, Önemli noktalar Dr. Musa ATAŞ

Benzer belgeler
Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Android e Giriş. Öğr.Gör. Utku SOBUTAY

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

Android Ders Notları

Android ile Mobil Programlama


MOBIL UYGULAMA GELIŞTIRME

Muhar a r r e r m e T a T ç J PT Gel e e l c e e c k e o k nli l n i e And n r d oi o d i Nedi d r

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

4. Bölüm Programlamaya Giriş

MOBİL UYGULAMA GELİŞTİRME

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

Android Kaynakları (Resources)

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

Android Platformunda Uygulama Geliştirme.

Java Temel Özellikleri

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

MOBİL UYGULAMA GELİŞTİRME

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

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

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

MOBİL UYGULAMA GELİŞTİRME

İşletim Sistemlerine Giriş

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

C# nedir,.net Framework nedir?

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

MAC OS X E- İMZA KURULUMU VE ÖRNEK E-İMZA ATMA İŞLEMLERİ 1. Kullanılan MAC Bilgisayar, MAC OS X El Capitan ve üzeri bir sürüm ise csrutil disable

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

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

1 LK ANDROID YAZILIMIMIZ VE ÖN HAZIRLIKLAR

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

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

Java Programlamaya Giriş

Android ile SQLLite Veri Tabanı

İŞLETİM SİSTEMLERİ. (Operating Systems)

Zararlı Yazılımla Mücadele Eği7mi

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

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

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ü

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

HSancak Nesne Tabanlı Programlama I Ders Notları

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

Activity Context.startActivity Activity, AndroidManifest


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

NAMIK KEMAL ÜNİVERSİTESİ

Code Composer Studio İndirilmesi ve Kurulması

Dil değiştiği andan itibaren bilgisayar yeniden başlatılmalıdır.

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Windows 7 or 2 GB 2 GHz Mac OS GB 1 GHz Intel. Placement Tests. English for Success Teacher Training

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KOORDİNATÖRLÜĞÜ (EBYS KOORDİNATÖRLÜĞÜ) ELEKTRONİK İMZA KURULUM AŞAMALARI VE EBYS PROGRAMI SİSTEM GEREKSİNİMLERİ

Mac OS İşletim Sisteminde E-imza İşlemleri

Mobil Uygulama Kullanma Kılavuzu

Bilgisayarın Yapıtaşları

Data Structures Lab Güz

Java 2 Micro Edition (J2ME)

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

JAVA API v2.0 Belge sürümü: 2.0.2

ANDROID AÇIK AKSESUAR API & AKSESUAR GELİŞTİRME. Dr. Fatma Cemile Serçe

CLIENT MAKİNELERE IBM SPSS Statistics 21 nin KURULMASI

SAVİOR OTOMASYON TEKNİK DESTEK BİRİMİ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

T.C. GEBZE YÜKSEK TEKNOLOJİ ENSTİTÜSÜ

KANTAR UYGULAMASI Kurulum Kılavuzu

2 CORDOVA UYGULAMA DİZİN YAPISI 9 Cordova Uygulama Dizin Yapısı 9 www Klasörü 10 platforms Klasörü 11 plugins Klasörü 12 merges Klasörü 15

Bilgisayarım My Computer. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

DynEd İngilizce g Dil Eğitimi


Türk Telekom Güvenlik Güvenli Aile(Safe Family) Ürünü Kurulum Kılavuzu

Bilgisayarım My Computer

NB Macro Kullanımı Hakkında Genel Bilgiler

Kampüs Dışından Veritabanlarına Erişim (SSL-VPN)

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

Üst Düzey Programlama

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

NP301. K&K NP301 Sanal COM portu tanımlama adımları ADIM-1

İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ KULLANIM KLAVUZU KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ

BİT in Temel Bileşenleri (Yazılım-1)

1 OTOMASYON DÖNÜŞÜM İŞLEMLERİ

ELEKTRONİK BELGE VE ARŞİV YÖNETİM SİSTEMİ EBYS NİN GÜVENİLEN SİTELERE EKLENMESİ

Amaçlarımız. Powerpoint de slaytlara eklentiler yapmak. Asıl slayt kavramını tanımlamak. Asıl slayt üzerinde değişklikler yapmak.

Docmage.exe dosyasını çalıştırılır ve karşımıza Şekil-1 deki ekran gelecektir.

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

2. HTML Temel Etiketleri

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

TÜRKİYE ULUSAL AJANSI ELEKTRONİK BELGE VE ARŞİV YÖNETİM SİSTEMİ EBYS NİN GÜVENİLEN SİTELERE EKLENMESİ

. ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Transkript:

BMH-210 MOBİL CİHAZ PROGRAMLAMA Android OS Tanıtımı, Kurulumu, Bileşenleri, Önemli noktalar Dr. Musa ATAŞ

İçerik ANDROID PLATFORMU ANDROID STUDIO KURULUMU ANDROID STUDIO IDE TANITIMI ANDROID KODLAMA STİLİ GELİŞTİRİCİ SEÇENEĞİNİN AKTİF EDİLMESİ ANDROID Studio ile ilk ANDROID uygulamanın geliştirilmesi

ANDROID PLATFORMU

ANDROID Platformuna Giriş Mobil cihazlar için yazılım sistemleri ve kütüphaneleri İşletim Sistemi Çekirdeği (OS Kernel) Sistem Kütüphaneleri Uygulama Çatısı (Application Framework) ANDROID SDK (Software Development Kit) Çeşitli kütüphaneler ve geliştirme araçları Tonlarca dokümantasyon http://developer.android.com/training/index.html adresine gözatmanızı ve incelemenizi öneririm.

ANDROID OS Mobil İşletim Sistemidir. Linux kerneli üzerine kurulmuştur. (UNIX Türevi) Google tarafından geliştirilmektedir. Temmuz 2013 verilerine göre, Google PlayStore da 1 milyonun üzerinde ANDROID uygulamaları bulunmaktadır ve 50 milyar download yapılmıştır. Merkezinde C dili, ara katmanlarda ve sistem kütüphanelerinde C++, ve UI de JAVA dili kullanılmıştır. Resmi geliştirme dili JAVA dır. ARM, MIPS ve x86 mimarilerinde çalışabilmektedir. Son sürümü, 8.0 OREO (2018) da çıkmıştır.

ANDROID Software Stack (Yazılım Yığını)

LINUX Çekirdeği Katmanı OS Standart Servisleri Memory & Process Management (bellek ve işlem yönetimi) File & Network I/O (dosya ve ağ giriş çıkışları) Security (güvenlik) Device Drivers (aygıt sürücüleri) + ANDROID Özel Servisleri Power management (güç yönetimi) Memory sharing & low memory killer (bellek paylaşımı ve düşük bellek) Interprocess communication (işlemler arası haberleşme)

Sistem Kütüphaneleri (System Libraries Layer) Sistem C Kütüphaneleri (libc) Bellek ayırma, matematiksel işlemler v.s. Surface Manager (Yüzey İdarecisi) Display Management Media Framework Audio, Image, Video Webkit Browser engine opengl High performance graphics engine (SGL for 2D android.graphics.drawable lib, OpenGL-ES for 3D android.opengl) http://www.slideshare.net/peterbuck/opengles-and-sgl-2d3d-graphics-acceleratingtechnologies SQLite Relational database

ANDROID Runtime Core JAVA kütüphaneleri (JVM) Temel JAVA Sınıfları (Common data structures, file I/O, concurrency and threading issues) -> java.*, javax.* Android paketleri (i.e. Lifecycle of mobile app) -> android.* Internet/Web/Network services -> org.* Unit test -> junit.* Dalvik Virtual Machine (DVM) Uygulamalar JAVA da yazılır JAVA byte code olarak derlenir DX converter bytecode ları uzantısı *.dex olan dosyalara çevirir. DVM dex dosyalarını çalıştırır (execution)

ANDROID application workflow/overview

Dalvik Virtual Machine DVM (Dalvik Sanal Makinesi) Designed for resource-constrained environments (kaynak kısıtlı aygıtlar için tasarlanmıştır) Slower CPU (ARM Cortex) (Intel ve AMD işlemcilerine göre nispeten düşük hız) Less Memory Limited battery life For more information see also this video https://www.youtube.com/watch?v=ptjedozexpm

Application Framework (Uygulama Çatısı/Çerçevesi) Package Manager : mobil cihaza yüklenmiş tüm uygulamaların tutulduğu bir çeşit veri tabanıdır. Uygulamalar kendi aralarında ortak verileri veya servisleri kullanabilirler. Window Manager: Uygulamayı meydana getiren pencerelerin yönetildiği yerdir/sistemdir. View System: bilinen user interface objelerini sağlayan birimdir. (i.e text, button, icons v.s.) Resource Manager: non-compiled entities as images, strings,layout files etc. (derlenmemiş varlıklar mesela görüntüler, katarlar, planlar vb.)

Application Framework (Uygulama Çatısı/Çerçevesi) Activity Manager: uygulamalar arasında geçişleri, navigasyonu ve bir uygulamanın ne kadar süre boyunca çalışacağını yönetir. Content Provider : Uygulamalar çalıştığı zaman ihtiyaç duydukları yapısal bilgileri bu içerik sağlayıcısı veri tabanından alırlar. Mesela, telefon adres defterindeki bilgiler, telefon açma uygulaması, twitter, e- mail veya mesaj uygulamalarında istenebilir.

Application Framework (Uygulama Çatısı/Çerçevesi) Location Manager: GPS sistemlerinde mesela, gerekli olan lokasyon ve hareket hatta yön bilgilerini sağlamaya yarar. (Google maps uygulamasında olduğu gibi) Notification Manager: Önemli olaylar olacağı zaman, uygulamanın notify etmesi mesela sinyal vermesini sağlayan sistemdir. XMMP Service: Extensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML. (XML tabanlı mesaj yönelimli ara-katman haberleşme protokolüdür.

Applications Layer (Uygulamalar Katmanı) Bu katmanda Application Framework Katmanındaki API lar kullanılarak 1. Androiddeki standart uygulamalar (üstteki) 2. Üçüncü parti uygulamalar (başka geliştiricilerin) 3. Geliştiricinin kendi ürettiği uygulamalar çalıştırılmaktadır.

ANDROID KURULUMU

ANDROID Developer Tools (ADT) kurulumu

Android Studio Kurulumu Bilgisayar ve network hızınıza bağlı olarak yaklaşık 20-50 dk. arası kurulum gerçekleşmektedir.

ANDROID STUDIO IDE TANITIMI

ANDROID KODLAMA STİLİ

Yanlış Girinti (Indentation) Örneği

Doğru Girinti (Indentation) Örneği

Program bloklarınızı küçültün Yazdığınız fonskiyonlar/metodlar olabildiğince küçük ve atomik olmalıdır. Neden? Program satırları ortalama 100 karakter civarında olmalıdır, uzun cümleler alta alınmalıdır. Bu şekilde kod okunurluğu artmaktadır.

Kurallar Sınıf isimleri büyük harfle başlarlar. AppFrame gibi. Bileşik kelimeler her bir kelimenin ilk harfi büyük yazılmalıdır. Sabitler tamamen büyük harflerle yazılmalıdır. Değişken isimlerinde tamamen küçük harfler kullanılır. Ancak bileşik kelime yapılacaksa ilk kelimenin ilk harfi küçük sonra eklenen her kelimenin ilk harfleri büyük olmalıdır. Public erişim belirleyicisi olan her ifade için açıklama yazılsa iyi olur. Bunun javadoc belirleyicisi olan /** ifade */ kullanılır.

Kurallar Ata sınıftan türeyen sınıflarda tekrar yazılan (ezilen) her method un başına @Override eklemeniz gerekir. Neden? Artık ileride kullanılması düşünülmeyen methodlar için başına @Deprecated annotation kelimesi eklenmelidir.

Kurallar Mümkün olan en dar kapsama alanı olacak şekilde değişken kullanın.

Tüm yerel değişkenlerin ilk değerlerini tanımlandıkları zaman atayın.

GELİŞTİRİCİ SEÇENEĞİNİN AKTİF EDİLMESİ

Geliştirici Seçenekleri ni açmak için: Ayarlar menüsüne ardından açılan menüde en altta bulunan Telefon hakkında (veya Cihaz hakkında) seçeneği seçilir. Samsung ve bazı diğer markalarda Telefon hakkında menüsü Genel altındadır. Bazı cihazlarda Telefon/Cihaz Bilgisi menüsü altında bir alt menü şeklinde Yazılım menüsü vardır. Öyle ise o menünün içine girin. Açılan pencerede yine en altta olan Derleme numarası yazan yere üst üstü 7 kez dokunduktan sonra geliştirici açılmış olur. Her dokunmamızda Geliştirici olmanıza 4 adım, kaldı 3 adım kaldı şeklinde bilgi çıkacaktır.

Run tuşuna bastıktan sonra

DDMS nedir? Dalvik Debugging Monitoring Service kelimelerinin kısaltılmış şeklidir. Android Studio da alt kısımda TODO nun yanında yer alan Android Monitor sekmesine basılarak açılan ADB yani Android Debug Bridge ekranıdır. Bu ekranda debugging işlemlerinin yanısıra, loglama, threading ve sistem kaynaklarının izlenmesi amacıyla kullanılmaktadır.

LogCat Ekranı LogCat ekranına program üzerinden loglama yapmak amacıyla kullanılan sınıf android.util.log isimli sınıftır. Bu sınıf kullanılarak, e, w, i, v, d seçeneklerinde çeşitli seviyelerde loglama yapılarak programın takibi ve önemli yerlerinde bilgilendirmeler yapılabilir. i: Info bilgi verme amaçlı mavi text ile yazılmıştır. w: Warning, uyarı anlamına gelir, turuncu renktedir. e: Error, hata manasındadır, kırmızı renk v: Verbose, gereksiz bilgi ve fazladan çıktı d: Debug hata ayıklama amaçlıdır.

Log lama pattern i Loglama yaparken çeşitli pattern ler kullanılabilir. Örnek olması açısından Log.w( MainActivity.onCreate, Aktivite yapıldı ); Log.e( DBGateway.Insert, Kayıt eklenemiyor: +ex.getmessage()); Log fonkisyonlarının ilk parametresi tag bilgisi, ikinci parametresi ise mesaj veya açıklama bilgisini içermektedir.

Android Emulatörü Telnet üzerinden yönetme Android emülatör aslında localhost da 5554 portunda ağ üzerinde haberleşebilen bir cihazdır. Bundan dolayı telnet ile bu cihaza bağlanıp yönetebiliriz. Bunun için komut satırı penceresini açmalıyız. Winkey+R bastıktan sonra cmd yazıp entere basıyoruz. Veya internetten CmDer yazılımını indirip kuruyoruz. http://cmder.net/ sayfasından mini veya full seçeneğini kullanabilirsiniz.

Android Menüsü

Manifest bölümünde AndroidManifest.xml dosyası bulunur. Bu dosyada XML formatında kullanılan kütüphaneler, verilen izinler (mesela kamera gibi), aktivite ve servisler gibi temel elemanlar vardır. Java kısmında java kaynak kodlarınız bulunmaktadır. Res klasöründe ise normalde app ile birlikte derlenmeyen ancak beraberinde tutulan yan unsurlar bulunur. Mesela görseller, drawable de tasarımlar layout kısmında tutulurlar. Resource yani kaynak dosyalarına her projede ide tarafından üretilen ve final sınıf olan R sınıfı kullanılarak erişim yapılmaktadır. R sınıfının değiştirilmesi engellenmiştir sadece kullanıma açıktır. (read only)

İLK UYGULAMA

Android Studio ile İlk Uygulama Örneği Android uygulamasının adı : ColorSelector SRS (Software Requirement Specification): 1. Ekranın üst kısmına «Background Color Selector» bilgisi yazılmalı. 2. Ekranda alt alta 3 adet buton olmalı. 3. Butonların üzerlerinde red, green, blue yazılmalı. 4. Kullanıcı (User) bu butonlara tıkladığında arka plan zemin rengi buton üzerindeki isimlerle alakalı bir şekilde kırmızı, yeşil veya mavi olarak değiştirilmelidir.

Android Studio yu Çalıştırma

Virtual Device Yükleme

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.bap1.colorselector.mainactivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello World!" android:id="@+id/textview" /> <Button android:text="red" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="17dp" android:id="@+id/btnred" android:layout_below="@+id/textview" android:layout_alignparentleft="true" android:layout_alignparentstart="true" android:layout_marginleft="14dp" android:layout_marginstart="14dp" /> <Button android:text="green" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="23dp" android:id="@+id/btngreen" android:layout_below="@+id/btnred" android:layout_alignleft="@+id/btnred" android:layout_alignstart="@+id/btnred" /> <Button android:text="blue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnblue" android:layout_margintop="28dp" android:layout_below="@+id/btngreen" android:layout_alignleft="@+id/btngreen" android:layout_alignstart="@+id/btngreen" /> <Button android:text="show message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnblue" android:layout_alignleft="@+id/btnblue" android:layout_alignstart="@+id/btnblue" android:layout_margintop="24dp" android:id="@+id/btnmessage" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputtype="textpersonname" android:ems="10" android:layout_aligntop="@+id/btnmessage" android:layout_torightof="@+id/btnmessage" android:layout_toendof="@+id/btnmessage" android:layout_marginleft="13dp" android:layout_marginstart="13dp" android:id="@+id/edittext" /> <Button android:text="show Message 2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="21dp" android:id="@+id/btnmessage2" android:layout_below="@+id/btnmessage" android:layout_alignleft="@+id/btnmessage" android:layout_alignstart="@+id/btnmessage" /> </RelativeLayout>

ColorSelector Android Uygulaması Aşağıdaki videodaki adımları izleyerek colorselector örneğini çalıştırınız. https://www.youtube.com/watch?v=qraqbunzpci&index=7&list=pl c7fmpfzwlvjb9n5joyqi73nlj_etxper

Minimum Api Level nasıl değiştirilir?

Sync yazan yere tıklayın Projeyi menüden Build yazan yerden Rebuild yapın. Artık projenizin minimum api seviyesi belirlediğiniz numaraya adapte edilmiştir.

Android de uygulama geliştirirken dikkat edilmesi gereken kurallar View nesnelerine layout tasarım ekranında id verirken (xml) ve aynı zamanda kaynak dosyasında (java) değişken olarak tanımlarken birçok geliştirici tarafından kabul görmüş kısaltmaları kullanmak yerinde olacaktır. Bunun için aşağıdaki önekler kullanılabilir; TextView lbl lbl_isim, lblisim EditText txt txt_password, txtpassword Button btn btn_gonder, btngonder CheckBox chk chk_sec, chksec RadioButton rdo rdo_ekle, rdoekle

Diğer önemli bir nokta da, aktivite kaynak dosyasında (java), nesnelerin findviewbyid metodu kullanılarak yapıldığı yerin seçilmesidir. Bazı kaynaklarda nesneler oncreate metodunun içerisinde lokal olarak tanımlanmışlardır. Ve gerekli olay-çağrı metodları da bu metodun içerisinde gerçekleştirildiği görülmektedir. Bu tarz bir yaklaşım her ne kadar programın çalışması açısından sorun teşkil etmese de program içerisinde başka bir metoddan ilgili değişkenlere ulaşım imkansız olacağından değişkenlerin mümkünse global özellikli sınıf değişkeni olarak tanımlanmasında fayda bulunmaktadır. Hatta, oncreate olayında setcontentview komutundan hemen sonra, yazacağınız bir init() metodu içerisinde nesne üretimini gerçekleştirmeniz kod karmaşıklığını azaltarak okunurluğu arttıracaktır.

farklı onclicklistener kodlama yaklaşımları