Turkhackteam.net/org - Turkish Hacking & Security Platform...  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform... >
Mobil İşletim Sistemleri
> Mobil Uygulama Geliştirme ve Sorunları

Mobil Uygulama Geliştirme ve Sorunları Mobil uygulama geliştirme hakkında bilgiler, sorular, sorunlar.


Mobil Programlama Önemli Tanımlar ve Notlar

Mobil Uygulama Geliştirme ve Sorunları

Yeni Konu aç Cevapla
 
Seçenekler
Alt bir Hafta önce   #1
  • Offline
  • İhbar Hattı Sorumlusu
  • Genel Bilgiler
Üyelik tarihi
Dec 2013
Mesajlar
Konular


  
Thumbs up Mobil Programlama Önemli Tanımlar ve Notlar






Merhaba bu yazımda sizlere mobil programlama tanımları ve önemli notları paylaşacağım umarım yardımcı olur, kolay gelsin.

Activity: Kullanıcı ile etkileşimi sağlayan birimdir. Uygulamalar genelde birden fazla activityden oluşur.

Android uygulamaları içerisinde oluşturulan Activity’ler Activity sınıfının alt sınıflarıdır.

Intent: Activity’ler arasında bilgi aktarımı saglayan bilesenlerdir. Bir kullanıcı giris formuna girilen kullanıcı adı sifre gibi bilgilerin kontrol edilerek baska bir forma aktarılması vs..

Task: Activity’lerin Intent’leri kullanarak farklı aktivity'leri çağırması ve oluşan zincir bir “Task” olarak adlandırılır.

Sevices: Arka plan görevlerinin işletilmesini sağlar. Örneğin bir web sayfasını ziyaret ederken arka planda müzik çalması. Activity sınıfı gibi Service sınıfı da yaşam döngüsünü kontrol etmeye yarayan metotlara sahiptir. (Stop/Restart)

Content Providers: Bir veri kaynağına bağlanmayı sağlayan sınıftır. Insert, Query, Update, Delete metotlarına sahiptir.

Broadcast Recievers: Activity’e benzerler ama kendilerine ait bir arayüzleri yoktur. Tipik bir kullanım bir uygulamayı belli bir saatte aktif etmeyi sağlayan bir alarmı yakalamaktır.




Uygulama Bileşenleri

4 farklı uygulama bileşeni vardır. Farklı amaç, farklı life cycle

Activities: Tek bir ekran tek bir arayüz sunar. Bir uygulamada birden fazla activity olabilir ama hepsi birbirinden ayrıdır. Bir uygulama baska bir uygulamanın bir activity sini çalıstırabilir. Örnegin bir kamera uygulaması bir e-mail gönderme uygulamasının bir activitisini çagırabilir.

Bir activity Activity sınıfının bir alt sınıfıdır.

Services: Arka planda çalısan uzun soluklu uygulamalardır yada uzak erişimler için kullanılır. Arka planda müzik çalarken kullanıcı başka bir uygulamayı kullanıyor olabilir yada farklı bir bileşen mesela activity, bir servisi başlatabilir ve onla haberleşebilir.

Content Provider: Uygulama verilerinin yönetilmesini sağlar.

Broadcast Recievers: Sistem tabanlı çagrılara cevap verir.Birçok duyuru sistem tarafından gelir. Ekranınkapatılması, batarya zayıf, picture was captured vs..

Uygulamalar broadcastleri başlatabilir. Örneğin diğer uygulamalara bir datanın download işleminin tamamlandığı bilgisini gönderebilirsiniz.

NOT: Activities, services ve broadcast recievers asenkron bir mesaj olan intent ile aktivite olurlar. Intentler runtime anında her bir bileşeni sizin uygulamanızın olup olmadığına bakmaksızın birbirine bağlarlar.

  • Bir intent Intent sınıfından oluşturulur.

The manifest file: Android sistem bir uygulama bileşenini başlatmadan önce manifest dosya içerisinde olup olmadığını kontrol eder. Manifest dosyada tanımlı bileşenler uygulamanın root dizininde tanımlı olmaları gerekir.

Manifest dosyada neler var?

  1. Uygulamanın ihtiyaç duyduğu izinler.
  2. Minimum API level
  3. İhtiyaç duyulan donanım ve yazılım bileşenleri .
  4. Android Framework API dışında ihtiyaç duyulan API kütüphanleri.

Layout: Layout bir activity için kullanıcı arayüzü olusturmamızı saglar.

  • Iki yolla Layout oluşturabilirsiniz.
  1. XML içerisine tanımlama yaparak,
  2. Runtime anında oluşturarak,

1 nolu yöntem farklı ekran görüntülerine göre farklı xml loyout’lar tasarlamamıza olanak tanır Bu bir avantaj.


Kod:
Main_layout.xml dosyasını yüklemek için;
public v o i d onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
}


Attributes : Her View yada Viewgroup objesi kendine ait xml özellige sahip olabilir.

Örnegin:TextView objesinin textSize özelligi

ID: Her bir View object unique sayısal bir ID degerine sahiptir. Bu deger bilesenin agaç üzerinde farklı olmasını saglar.

Bilesene referansta bulunmak için

Kod:
 android:id=”@android:id/empty“ “+” ya gerek kalmaz.


Her activity diğerini çalıştırır. Her seferinde yeni bir activity başlar diğer acvtivity ise durur ve “backstack” denilen stac yapısına atılır.

Activity’nin alabildiği call back metotlar vardır.
  • onCreate()
  • onPause()

Intent Filters

Bir activityile kendisini uygulamanın diger bilesenlerinin nasıl aktif edebilecegi ile ilgili birçok özellik birçok intent filter ‘a sahiptir.

Diğer bir activitiyi startActivity() metodu ile ve ona bir intent göndererek başlatırız.

Kod:
Intent intent=new Intent(this,SignInActivity.class);
startActivity(intent);


Cihazda var olan uygulamayı kullanmak istersek örneğin bir mail gönderme olsun.

Kod:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL,recipientArray);
startActivity(intent);




Managing life cycle

Bir activity 3 temel duruma sahiptir.

1)Resumed: Activity ön plandadır diger bir deyisle “running ” durumdadır

2)Paused: Baska bir activity açıktır ve suanki activity transparan olarak yada ekranın bir tarafında görünür durumdadır. Paused bir activity hala yasıyordur. Fakat sistem tarafından düsük hafıza durumlarında sonlandırılabilir.

3)Stopped: Activity baska bir activity tarafından arka plana gönderilmistir.

Stopped activity hala yaşıyordur. Kullanıcıya uzun süre gösterilmez ise ve hafıza gereksinimi durumunda sistem tarafından öldürülür.


Entire lifetime: onCreate() – onDestroy() arasında geçen süredir.

Visible lifetime: onStart() – onStop() arasında geçen süredir. onStop() metodu yeni bir activity çagırıldıgında yada activity uzunca süre visible yapılmadı ise.

Foreground lifetime: onResume() – onPause() Bu durumda uygulama ekrandadır.

Fragments: Bir activity içerisinde bir arayüzün bir parçasını yada bir davranışını temsil eder. Birden fazla fragmenti aynı activity içerisinde kullanabilirsiniz. Farklı activitylerden çağırarak da tekrar kullanabilirsiniz.

Loaders: Activity veya Fragmentler için asenkron şekilde veri yükleme işlemi için kullanılırlar.

Task: Bir kullanıcının bir işi yapmak için kullandığı activity topluluğudur. Bu activitiy’ler bir stack yapısı içirisinde yer alır.

Services: Arka planda çalışır, bir arayüz göremeyiz.

  • Başka bir uygulama bileşeni servisi başlatır ve servis arka planda çalışmaya devam eder.
  • Servisler farklı formlarda karşımıza çıkarlar


1. Bir bileşen (activity) tarafından başlatırlırlar

(startService()), Kendisini başlatan bileşen yok olsa bile servis görevine devam eder.

2. Çağıran bileşene bir değer döndürmez,Servisin görevi biterse (örneğin bir download) durur.

Content providers: Yapısal olarak oluşturulmuş verilere erişimi yönetir.

  • Üç temel bilesen activity, service ve broadcast-reciever kendi aralarında “intent” ler ile haberlesirler.
  • Intent leri yaymanın veya oluşturmanın farklı yöntemleri vardır:

  1. Bir activityi baslatmak veya geri deger döndürmek için,
  2. Bir servisi başlatmak için yada devam etmekte olan bir servise yeni komutlar göndermek için. Context.startService()
  3. Broadcast (BR) metotlarından herhangi birine gönderilen Intent nesneleri (Context.sendBroadcast(),Context.sendOrderedBroadc ast(),or Context.sendStickyBroadcast()) ilgilenen tüm diğer br’ lere dağıtılır.

Action: Intentlerin olmazsa olmaz bölümüdür. Action elemanı intent filter'ın reaksiyon göstermesini istediğimiz aksiyonun tanımlanmasını sağlar. Intent'in geri kalanının nasıl yapılandırılacağı hakkında bilgi verir.

Category: Bir intent filtresi birden fazla category elemanına sahip olabilir activity nin nasıl çağrılacağını tanımlamak için kullanılır.

Data: Bir intent in gönderilmesi ile beraberinde bir urı de gönderilir. Url'ler very kaynağını tanımlamak için kullnılır.

Extras: Daha fazla bilgi için anahtar değer çiftleri şeklinde bilgi tutar.

Flags: Çeşitli türlerdeki bayraklar.(?)

Manifestxml: Tüm bilesenler manifest dosyada tanımlanmalıdır.

Manifest dosya Android sistem ile uygulama arasında bir arayüz görevi görür.

Kaynaklar (Resources): Uygulamalarımızda kullandıgımız sabit nesneleri kaynaklar olarak tanımlarız.

Bitmap resimler, renkler, layout tanımları, arayüzde kullanılan stringler vs.. bu kaynaklar içerisine girer.

Kod:
First activity sayfasında bulunan butona tıklayarak second activity’e geçmek için kullanılacak kod:

Intent i = new Intent(FirstActivity.this, SecondActivity.class);


Butona xml içindede tıklama özelliği verilebilir:

Kod:
 android:onClick=”nextPage”


gibi.

Butonun tıklama özelliği:


Kod:
bGonder = (Button) findViewById(R.id.btn_Gonder);
// Button nesnesine tıklandıgında çagırılan inner class yapısı
bGonder.setOnClickListener(new OnClickListener()
{
@Override
public v o i d onClick(View v)
{
//EditText nesnesinden aldıgımız metni
//TExtView nesnesinin text özelligine esitliyoruz.
tView.setText(eText.getText());
}


Yaratılan objeyi kullanmak için;

Kod:
 Button myButton = (Button) findViewById(R.id.my_button);


kullanılır.
LAYOUT u kodlarla oluşturmak istersek:


Kod:
@Override
public v o i d onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linLayout = new LinearLayout(this);
linLayout.setOrientation(LinearLayout.VERTICAL);
LayoutParams linLayoutParam = new
LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
TextView tv = new TextView(this);


// textview oluşturup ekleme

Kod:
tv.setText(“TextView”);
tv.setLayoutParams(lpView);
linLayout.addView(tv);
setContentView( linLayout, linLayoutParam);
}


// Layout ekrana getirilmesi için çağrılır

Event Handling: Olaylar (Events) uygulamaların kullanıcılarla etkileşim kurmaları anında bilgi topalamanın en kolay yoludur.

Android olay yönetiminde aşağıdaki 3 kavarm önemlidir.


Event Listeners: İçerisinde bir tane callback metod bulunduran View class içerisinde bir arayüzdür (interface). Bu metotlar bu listenere bir View objesi kayıtlandığı zaman (register) ortaya tetiklenirler.

Event Listeners Registration: Bir Event Listenere kayıtlanma işlemidir. Event Listener bir olayı tetiklediği zaman bir handler çağrılır.

Event Handlers: Bir olay meydana geldiginde ve bir event listenera o olayla ilgili kayıtlanma meydana geldiginde Event listener Event Handler çagrımı yapar.

Servisler: Android uygulamalarında arka planda çalısan ve kullanıcının uygulamayla olan ilişkisini etkilemeyen işlemler için Service adında bir sınıf bulunur.

Servisler iki farklı yapıda bulunabilir:

1. Started (Baslatılmıs)

Bir uygulama bileseni startService() metodunu kullanarak bir hizmeti baslattıgında, servis baslatılmıs olur.

Bir kez baslatıldıktan sonra, servisi baslatan bilesen yok edilse bile, servisler arka planda sonsuza kadar çalısabilir.


2. Bound (Baglanılmıs)

Bir uygulama bileşeni bindService() metodunu kullanarak bir hizmete bağlandıgında, servis bağlanılmıs olur. Bağlanılmış bir servis bileşenlerin servis ile iletişim sağlaması, istekler göndermesi, sonuçlar elde etmesi ve karşılıklı iletişim (Interprocess Communication – IPC) ile işlemler gerçekleştirmesi için bir istemci-sunucu arayüzü sağlar.

onStartCommand(): Aktivite gibi bir bileşen startService() komutunu kullanarak bir servisi başlatmak istediğinde, sistem bu metodu çağırır. Bu metod bir kez çalıstıktan sonra, servis başlatılır ve arka planda sonsuza dek çalışır. Bu metodu kullanırsanız, işi bittiğinde stopSelf() veya stopService() ile servisi sizin sona erdirmeniz gerekir.

onBind(): Bir bileşen bindService() komutunu kullanarak bir servise bağlanmak istediğinde, sistem bu metodu çağırır. Bu metod için yazdığınız kodlar ile bir Ibinder değeri döndürerek istemcilerin servis ile iletişim kurabileceği bir arayüz sağlamanız gerekir. Bu metodu daima çalıstırmanız gerekir, ancak bağlanmaya engel olmak istersniz null bir değer geri döndürmelisiniz.

onCreate(): Bir servis ilk oluşturulduğunda, sistem bu metodu çağırır.

Eğer servis zaten çalısıyorsa, bu metod çağrılmaz.

onDestroy(): Bir servis kullanılmadığında ve yok edildiğinde, sistem bu metodu çağırır. Servis thread, kayıtlı dinleyici, alıcı vb. System kaynaklarını boşaltmak için bu metodu kullanır.

Kullanıcı ile etkileşimi sağlayan birimdir. Uygulamalar genelde birden fazla activityden oluşur.

Android uygulamaları içerisinde olusturulan Activity’ ler Activity sınıfının alt sınıflarıdır.


Anlatım da eksik, düzeltilmesi gereken yerleri ve düşüncelerinizi yazabilirsiniz.
    


__________________

Abdullah b. Ömer anlatıyor:

"Ben hayatımda Rasûlullah kadar cesur, onun kadar cömert, onun kadar yiğit, onun kadar aydınlık yüzlü ve güzel birini görmedim."



"Adaletin en kötüsü geç tecelli edenidir. Sonunda hüküm isabetli olsa da, geciken adalet zulümdür."

Orhan Gazi

Offline
 
Alıntı ile Cevapla
Alt bir Hafta önce   #2
  • Offline
  • Tümgeneral
  • Genel Bilgiler
Üyelik tarihi
Jul 2009
Yaş
22
Mesajlar
Konular


  


Ellerinize sağlık
    


__________________

Yüksek tepelerde hem yılana, hem kuşa rastlayabilirsin. Fakat biri sürünerek, öteki uçarak yükselmiştir.

Cahil insanlar davul gibidir. Sesi çok çıkar ama içi boştur.
Offline
 
Alıntı ile Cevapla
Alt bir Hafta önce   #3
  • Offline
  • Anka(Saldırı) Timi
  • Genel Bilgiler
Üyelik tarihi
Jul 2013
Nereden
-
Mesajlar
Konular


  


Ellerine sağlık kenzai bey
    


__________________

Namertle harp ederken MERT kalmak zordur.


Offline
 
Alıntı ile Cevapla
Alt bir Hafta önce   #4
  • Offline
  • Tümgeneral
  • Genel Bilgiler
Üyelik tarihi
Apr 2016
Nereden
Teşkilat
Mesajlar
Konular


  


Elinize sağlık hocam
    


__________________

[̲̅S̲̅][̲̅A̲̅][̲̅D̲̅][̲̅E̲̅][̲̅C̲̅][̲̅E̲̅] [̲̅1] [̲̅T̲̅] [̲̅Ü̲̅] [̲̅R̲̅] [̲̅K̲̅]

Offline
 
Alıntı ile Cevapla
Alt bir Hafta önce   #5
  • Online
  • İhbar Hattı Görevlisi
  • Genel Bilgiler
Üyelik tarihi
Sep 2016
Nereden
root@:~#
Mesajlar
Konular


  


Elinize sağlık.
    
Online
 
Alıntı ile Cevapla
Alt bir Hafta önce   #6
  • Offline
  • Üsteğmen
  • Genel Bilgiler
Üyelik tarihi
Jun 2016
Mesajlar
Konular


  


apk de toast metni nasıl düzenlenir eline sağlık
    
Offline
 
Alıntı ile Cevapla
Alt 6 Gün önce   #7
  • Offline
  • İhbar Hattı Sorumlusu
  • Genel Bilgiler
Üyelik tarihi
Dec 2013
Mesajlar
Konular


  


Alıntı:
TRGameAirs´isimli üyeden Alıntı Mesajı göster
apk de toast metni nasıl düzenlenir eline sağlık
Toast: Kullanıcıya Mesaj Gösterme veya Geri Bildirim Mesajı

Burası yardımcı olacaktır.

https://developer.android.com/guide/...rs/toasts.html
    


__________________

Abdullah b. Ömer anlatıyor:

"Ben hayatımda Rasûlullah kadar cesur, onun kadar cömert, onun kadar yiğit, onun kadar aydınlık yüzlü ve güzel birini görmedim."



"Adaletin en kötüsü geç tecelli edenidir. Sonunda hüküm isabetli olsa da, geciken adalet zulümdür."

Orhan Gazi

Offline
 
Alıntı ile Cevapla
Alt 6 Gün önce   #8
  • Offline
  • Ar-Ge Tim Lideri
  • Genel Bilgiler
Üyelik tarihi
Oct 2015
Nereden
ntdll
Mesajlar
Konular


  


Elinize sağlık
    


__________________

TürkHackTeam | Araştırma - Geliştirme Timi


Offline
 
Alıntı ile Cevapla
Alt 6 Gün önce   #9
  • Offline
  • Albay
  • Genel Bilgiler
Üyelik tarihi
Mar 2017
Nereden
T Ü R K
Mesajlar
Konular


  


Elinize sağlık
    


__________________

Herşeyi Optimize Ederseniz Çok Mutsuz Olacaksınız.

Offline
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks Kapalı
Pingbacks Kapalı
Refbacks Kapalı


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından açılmaktadır.
Bu konular yönetimimiz tarafından takip edilsede gözden kaçabilen telif hakkı olan veya mahkeme kararı çıkmış konular sitemizde bulunabilir. Bu tür konuları bize turkhackteamiletisim [at] gmail.com adresine mail atarak bildirdiğiniz takdirde en kısa sürede konular hakkında gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com


Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Turkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Turkhackteam sorumlu değildir. Sitelerinize Turkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google Links

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.