Android Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Android Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Mayıs 2016 Perşembe

Android | Gecikmeli loop döngüsü oluşturmak

Merhaba arkadaşlar çoğu uygulamada karşıma çıkan ve sizinde karşılacağınızı tahmin ettiğim "ben nasıl 1 saniye gecikmeli döngü döndürüp , kontrol yapabilirim ? " sorusuna cevap olarak kısa bir algoritma hazırladım.Bunu direk kalıp olarak kullanabilirsiniz.

Şimdi benim buradaki amacım bir bluetooth cihaz ile iletişimde her saniye 1 tane logic değer göndermekti.
if(btAdapter.getState() == BluetoothAdapter.STATE_ON) { //btAdapter durumu açık olduğunda koşulu
for (int a = 0; a < 1000; a++) { //1000 e kadar yaptım siz kendinize göre tasarlayın.
Handler handler1 = new Handler(); //Handler hakkında bilginiz yoksa bakabilirsiniz.
handler1.postDelayed(new Runnable() { //şimdi burda handlerimize bir gecikmeli post olacağını bildirdik
@Override
public void run() { //bu kısma yapacağınız işlemleri yazabilirsiniz.
mConnectedThread.write("1"); //Mesela benim işlemim sadece bluetooth ile 1 göndermekti.
}
}, 1000); //Buradaki gecikme süresi ms türünden olduğu için 1000 ms = 1 s gecikmeli kontrol olacaktır.
}
}

 

 

 

 

4 Mart 2016 Cuma

Android Uygulama Bileşenleri

Bu yazımda Android altyapısını oluşturan bileşenlerden bahsedeceğim.Bir çok kaynakta farklı şekilde kategorize edilen bu bileşenleri ben 5 başlık altında topladım.

[caption id="attachment_147" align="aligncenter" width="429"]componentsOfAndroid Android Compenents[/caption]

-Aktivite
-Intent
-Servis
-İçerik Sağlayıcı
-Broadcast Receiver

İlk olarak bazı kitaplardan okuduğum kadarıyla aktivite bileşeninden bahsedeceğim Activity sınıfı tarafından oluşturulan nesneler uygulama içinde kullanılan ekranları temsil ederler.Örneğin bir e-posta uygulaması düşünün.E-postaların listesini göstermek için bir Activity'e sahiptir.Başka bir activity ise e-postayı okumak için , diğer bir Activity ise e-posta yazmak için var olmalıdır.Yani her ekran için ayrı ayrı Activity'ler olması gerekir.
Activity'ler iyi bir kullanıcı deneyimi oluşturmak için birlikte çalışmasına rağmen, her birini diğerinden bağımsız şekilde başlatabilirsiniz.Örneğin bir kamera uygulaması fotoğrafı paylaşmak için whatsapp uygulamasını başlatabilir.

İkinci olarak intent nesnesinden bahsedecek olursak , uygulamadaki diğer sınıfların çalıştırılmasına olanak veren bir nesne olarak çıkıyor karşımıza.Bu nesne sayesinde başka bir sınıf aracılığı ile yeni bir görünüm , yani yeni bir sayfaya geçiş yapabiliyoruz.

Üçüncü olarak Content Providers yani içerik sağlayıcılardan bahsedersek bu bileşen bir uygulamanın ortak veri kümesini yönetir.Bu sayede SQLite veritabanı oluşturabilirsiniz yada web üzerinde kalıcı olarak veri depolayıp sonradan erişebilirsiniz.İçerik sağlayıcılar ile diğer uygulamalar ile verileri değiştebilir ve sorgu yapabilirsiniz(Tabi eğer gerekli izinler verilmiş ise)

Örnek olarak Android işletim sistemi içerik sağlayıcı olarak bize kullanıcının kişiler listesini vermektedir.Uygun izinlere sahip bir uygulama içerik sağlayıcıyı ( Örneğin Contacts.Data ) kullanarak cihazın rehberine erişebilir.Mesela bir uygulama yazdınız ve rehbere erişmek istediğinizde bir içerik sağlayıcı kullanmanız gerekecektir.

Dördüncü olarak servisler , arkaplanda kullanıcıyı rahatsız etmeden gerekli olan işlemleri yapan bileşenlerdir mesela arkada müzik çalması veya ağ üzerine veri transferi gibi. Bir activity bir servisi tetikleyebilir ve onunla iletişime geçebilir.

Beşinci ve son olarak Broadcast Receiver işletim sistemi tarfından uygulamalara gönderilen sinyalleri dinlemek ve takip etmekle görevlidir.Yani uygulamamız telefona gelen çağrılardan sms lerden haberdar olabilir bunlar bu bileşen ile sağlanır.

Bu yazımda bazı kaynaklardan derlediğim bileşenlerden bahsetmeye çalıştım başka bir yazıda görüşmek dileği ile ....

3 Şubat 2016 Çarşamba

Android Geliştirme Özet Anlatım-2

Merhaba arkadaşlar bugün Buton,TextView oluşturup yazıyı nasıl görünmez yapabiliriz ve Button a tıklandığında aksiyon oluşturmayı göreceğiz.

Öncelikle main.xml , activity_main.xml  oluşturduğunuz projeye göre değişir ama ilk olarak gui arayüzü oluşturarak almaktansa xml dosyasına kodunu yazarak oluşturmak bana daha akılda kalıcı geliyor o yüzden oluştururken xml dosyasında kodlarını yazarak oluşturacağım.

İlk olarak TextView oluşturalım.

<TextView android:text="@string/string1"   android:id="@+id/string1TextView" android:layout_width="match_parent" android:layout_height="wrap_content"    />
İsterseniz alttaki satırı eklersiniz böylelikle invisible bir textviewniz olmuş olur ve herhangi bir aksiyon ile onu visible yapabilirsiniz.İlerde göstereceğim.
android:visibility="visible" 
Alltaki satır ise textview veya herhangi bir compenent e id verip daha sonra çağırmamızda sadece bu id yi kullanmamazı sağlar bir nevi relation id .
android:id="@+id/string1TextView"

android:text kısmına direk " " arasına text yazabilirsiniz ama daha sonra sürekli yeniden yazmak istemiyorsanız strings.xml kısmına tanımlayıp main.xmlde o tanımlı şekli ile kullanabilirsiniz.Örneğin string1 adında bir key oluşturdum ben orada içersinde "Merhaba ben prefix string" yazan string1 çağırdığım her yerde o yazı gözükecektir.Bunun için strings.xml dosyasına resources arasına şu alttaki satırı eklemeniz yeterlidir.
<string name="string1">merhaba ben prefix string</string>
Şimdide Button oluşturalım bunun içinde main.xml dosyamıza alttaki satırları giriyoruz.

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button1" android:text="@string/text_button1"/>

burada yine TextView 'de olduğu gibi string xml dosyasına text_button1 adında key oluşturdum onuda şu alttaki satırla yapıp burada sadece text_button1 yazarak çağırıyorum.
<string name="text_button1">Buraya Bas</string> 

Şimdi ise butonumuza basıldığı zaman çağıralacak bir method ekleyeceğiz.

android:onClick="onButtonClicked"
Yukarıdaki satırı <Button ... içerisine eklediğimiz takdirde button a basıldığı zaman onButtonClicked methodu çağıralacaktır.
Peki ama neyin nesi bu onButtonClicked ? Biz bunu biyerde napacağını söylememiz lazım ismi var implementasyonu yok .Bunun için hemen src klasörünün altında bulunan MainActivity.Java size göre değişr ama buradaki .java uzantılı dosyamıza geliyoruz.

public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
} 
Yukarıdaki satırların bulunduğu .java uzantılı dosyamızı bulduktan sonra Methodumuzu burada tanımlayıp ne yapacağını söyleceğiniz.( Unutmayın method burada tanımlanmaz ise butona basıldığında öyle bir method bulunmadığından dolayı program kapanacaktır.)

public void onButtonClicked(View view)
{
} 
 Satırını MainActivity classı içinde eklediğimizde şimdi ise onButtonClicked methodumuzu tanımlamış olduk şimdi butona basıldığında program hata vermez kapanmaz fakat boş bi fonksiyon gibi düşünün o haliyle kalacaktır hiç bir işlem yapmadan sadece içi boş olan methodu çağıracaktır.

Şimdi ise bu methodu impleme etmeye bir gözatalım.
"Bu methodumuz invisible yaptığımız textView mizi visible hale getirsin"
Peki bunu nasıl yapacağız ? Bir sonraki blog yazımda bunu anlatacağım.İyi Çalışmalar.

30 Ocak 2016 Cumartesi

Android Geliştirme Özet Anlatım

Merhaba arkadaşlar bildiğim ve öğrendiğim kadarı ile hergün özet bir anlatım gerçekleştirmeye karar verdim.Anlatımlar özet olacaktır bilgi hatırlamaya yönelik veya temel oluşturma nitelikle de düşünülebilir.

Bugün ilk olarak ıvır zıvır kısımları geçerek ( ide kurma ,jdk indirme gibi) programlama kısmından başlayacağım.
Android Studio ile oluşturduğumuz blank activity projemizde bulunan  activity_main.xml içerisinde 2 adet text ve 1 adet buton bulunacak şekilde oluşturdum.İster gui kısmından butonu eklersiniz istersenizde xml kısmından kodunu yazarsanız ads otomatik renderleyip gui kısmında size sunacaktır.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="com.example.ozan3.myapplication.MainActivity">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/textView" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:layout_below="@+id/textView"
android:id="@+id/textView2" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:id="@+id/button" />
</RelativeLayout>
Burada iki türlü text girişi yapılabilir ister dont prefix olarak android:text="...." kısmında yazabilirsiniz istersenizde strings.xml dosyasında ( <strings name="hello"> .....</string> şeklinde ) bir string kaydı oluşturarak istediğiniz main xml de @string/hello şeklinde çağırabilirsiniz. Hız ve zaman olarak size katkı sağlayacaktır.Tabi bunu aynı şekilde button kısmındada kullanabilirsiniz.