android

android
7 Ocak 2020 tarihinde eklendi, 52 kez okundu.
  1. Android’in 4 temel bileşeni nedir ?

Activityler,servisler,yayın alıcıları,içerik sağlayıcıları.

Activiyler ; Android uygulamasının kullanıcı arayüzüyle ilgili bileşenidir.

Servisler ; Uygulamların arka planda yapması gereken işlemleri yaparlar.

Yayın Alıcılar (Broadcast Recevier) ;  Sistemden ya da diğer uygulamalardan gelen mesajlara yanıt verir.

Content Providers ; İçerik sağlayıcılar uygulamalar arası veri iletimi için kullanılır.

 

  1. Activity yaşam döngüsünü çiziniz ve açıklayınız.
  2. Activity yaşam döngüsündeki metodlar ne zaman çağırılır ?

onCreate();Bir aktivite başlatıldığında arka planda devreye giren ilk metodumuz onCreate()’tir. Uygulama açıldığı zaman aktivitenin gerçekleştirmesini istediğimiz her olayı onCreate() metodunda yazarız.

onStart();onCreate() metodundan sonra veya aktivite tekrar çağrıldıktan sonra devreye onStart() metodu girer. Bu metod ile aktivitenin arayüzü kullanıcıya görünür hale gelir.

onResume();Aktiviti durdurulduktan sonra tekrar aynı ekrana gelindiğinde devreye onResume() metodu girer.

onPause();Aktivite arka plana geçtiği zaman onPause() metodu başlar. Arka planda çalıştırılacak bir animasyon da onCreate() metodunda değil onPause() metodunda yazılmalıdır. Eğer onCreate() içerisinde yazılırsa, aktivite tekrar ön plana alındığında animasyon çalışmaz.

onStop();onPause() metodundan sonra çalışır. Aktivite arka plana atıldıktan sonra gerçekleşebilecek iki ihtimal vardır: ya kullanıcının aktiviteye tekrar dönmesi ya da aktivitenin tamamen sonlanması.

onDestroy();Aktivite tamamen yok edilir ve yaşam döngüsü tamamlanır.

 

  1. Bundle nedir ?

Android programlamada yapılan projeler genellikle tek sayfadan oluşmaz.Geliştiriciler projenin akışına göre birden fazla sayfaya ihtiyaç duyabilir. Android programlamada sayfalar arası geçişi Intent ya da Bundle ile sağlanır.

  1. SaveInstanceState nedir?

Activity durumları için daha fazla veri kaydetmek isterseniz, SaveInstanceState() callback methodunu ezmeniz (override) gerekmektedir.

 

 

  1. Gradle nedir ?

Gradle Android cephesinden bakıldığı zaman Android uygulaması geliştirme aşamalarını otomatize eden açık kaynak kodlu Android Studio üzerinde çalışan bir yapı sistemidir.

  1. İki tane activiy arasında edittextler ile veri geçişi sağlamak. Kod doğru olmayabilir ama algoritma doğru bu kodlar üzerinden bakılıp yapılabilir.
  2. public class FirstActivity extends AppCompatActivity {
  3. private EditText gonderilecekYazi;
  4. private EditText2 gonderilecekYazi2;
  5. private Button gonderButton;
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.first_activity);
  10. initViews();
  11. setClicks();
  12. }
  13. private void initViews() {
  14. gonderilecekYazi = (EditText) findViewById(R.id.first_activity_edittext);
  15. gonderilecekYazi2 = (EditText2) findViewById(R.id.first_activity_edittext2);
  16. gonderButton = (Button) findViewById(R.id.first_activity_gonder_button);
  17. }
  18. private void setClicks() {
  19. gonderButton.setOnClickListener(new View.OnClickListener() {
  20. @Override
  21. public void onClick(View v) {
  22. veriGonder();
  23. }
  24. });
  25. }
  26. private void veriGonder() {
  27. Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
  28. intent.putExtra(“veri”, gonderilecekYazi.getText().toString());
  29. intent.putExtra(“veri2”, gonderilecekYazi2.getText().toString());
  30. startActivity(intent);
  31. }
  32. }

public class SecondActivity extends Activity private TextView textview;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        initViews();        String gelenYazi=getIntent().getExtras().getString(“veri”);        String gelenYazi2=getIntent().getExtras().getString(“veri2”);setViews(gelenYazi);setViews(gelenYazi2);   }    private void initViews() {        textview= (TextView) findViewById(R.id.second_activity_textview); textview2= (TextView2) findViewById(R.id.second_activity_textview2); } private void setViews(String gelenYazi){        textview.setText(gelenYazi); textview2.setText(gelenYazi2); }  }

 

 

  1. İmzalı APK olışturma ??

İmza asla unutulmamalı !!!!

Projemizi açtıktan sonra

Android Studio araçlar sekmesinde Build -> Generate Signed APK seçeneğine tıklıyoruz.

Açılan sayfada eğer ilk defa key dosyası oluşturuyorsanız Create New… butonuna tıklayın.

Açılan sayfada yeni key dosyası oluşturmak için gerekli bilgileri dolduruyoruz.

  • Key store path:  Key dosyasının kaydedileceği alanı seçin
  • Password: Unutmayacağınız bir şifre belirleyin.
  • Confirm: Şifrenizi tekrar girin.
  • Alias: Key dosyanınız için uygulama adı girin ( Hepsi küçük ve boşluksuz olursa daha iyi )
  • Password: Unutmayacağınız bir şifre belirleyin.
  • Confirm: Şifrenizi tekrar girin.
  • First and Last name: Adınız soyadınızı girin.
  • Organization Unit: Organizasyon birimi ( Mobile Developer yazın çok mühim değil )
  • Organization: Bir şirket adı girebilirsiniz
  • City or Locality: Ülke adını girin ( Turkey )
  • State or Provice: Şehir adını girin
  • Country Code (XX): Ülke kısa kodu ( TR )

Artık işlemlerin sonuna geldik. Artık karşıma APK üretebilmemiz için bi pencere gelecek o pencerede V1 ( Jar Signature ) ve V2 ( Full APK Signature ) seçeneklerini işaretleyin. Son buton Finish butonuna tıklayın

9.Google Playe uygulama nasıl yüklenir?

Play Console hesabınıza gidin.

Tüm uygulamalar  > Uygulama oluştur’u seçin.

Varsayılan dili seçin, uygulama için bir başlık ekleyin. Uygulamanızın adını Google Play’de görünmesini istediğiniz şekilde yazın.

Uygulamanızın mağaza girişini oluşturun, içerik derecelendirme anketini tamamlayın, ardından fiyatlandırma ve dağıtımı ayarlayın.

 

11.Servis manifest dosyasında nasıl tanımlanır ?

<service android:name=”.HelloService” />

 

12.API nedir?

Uygulama programlama arayüzü, bir uyglamanın/servisin/platformun sahip olduğu yetenkelerin kullandırılmasını sağlayan arayüzdür.

13.JSON nedir?

JSON (JavaScript Object Notation), okuyup yazabilmesi oldukça kolay, uygulamalarda kolaylıkla tarayıp üzerinden ilerlenebilecek yapısal olarak oldukça hafif ve esnek bir veri değişim formatıdır ve temel amacı veri alış verişi yaparken daha küçük boyutlarda veri değiştokuşu yapmaktır.

  1. Async task nedir?

AsyncTask adında bir sınıf sunmaktadır. Bu sınıf içindeki metodlar yardımıyla arka planda farklı bir akış (Thread) üzerinde gerçekleştirilen işlemin kolayca ön yüzü etkileyen ana akışı (Main Thread) entegre edilmesini sağlar.

 


15.
Content Provider Metotları nedir ?

Dataların filitrelenmesi,sıralama işlemleri,projection işlemleri

 

16.Broadcast Recevier tanımlayınız ? Java Kodu

public class MyReceiver extends BroadcastReceiver {

}


10)
BenimServisim adında bir Servis oluşturun. Bu uygulamada Servis başlatıldığında ve servis durdurulduğunda ekrana Toast ile “Servis başlatılmıştır” ve “Servis durmuştur.” mesajlarını yazdırın. Servisi başlatmak ve durdurmak için ekrana 1 adet swith nesnesi ekleyiniz. Bu uygulama için gereken java kodlarını yazınız.

public class BenimServisim extends Service {

@Nullable

public IBinder onBind(Intent intent) {

return null; }

@Override

public void onCreate() {

Toast.makeText(this, “Servis Başlatılmıştır”, Toast.LENGTH_SHORT).show(); }

@Override

public void onDestroy() {

Toast.makeText(this, “Servis Durdurulmuştur”, Toast.LENGTH_SHORT).show(); } }

public class MainActivity extends AppCompatActivity {

private Switch switch1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

switch1 = (Switch) findViewById(R.id.switch1);

switch1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

if(isChecked){

startService(new Intent(MainActivity.this, BenimServisim.class));

}else{

stopService(new Intent(MainActivity.this, BenimServisim.class));

} }

});

} }

17) MVC NEDİR  – Kodları yok sadece tanım ve şema
MVC (Model-View-Controller), yazdığımız uygulamanın iş mantığı ile (business logic) kullanıcı arayüzünü birbirinden ayrıştıran, uygulamanın farklı amaçlara hizmet eden kısımlarının birbirine girmesini engelleyen yazılım mimarisidir.

Model

  • Uygulamada kullanılan verileri temsil eder ve verilerin işlenme mantığınınsaklandığı kısımdır. (Verilerin validasyonu burada yapılır)
  • Geneldeverilerin veritabanı (veya XML gibi benzer bir yere) kaydedilmesi ve kayıtlı yerden alınması işlemleri yine burada olabilir. (Genelde dedim, şu an detaya girmeyeceğim. Daha sonraki yazılarda bu konuyu detaylıca inceleyeceğim.)
    Varlıklar veya Sınıflar

View

  • Basitçe, uygulamanızın kullanıcılarınızın gözüyle gördüğü kısmıdır, arayüzdür.
    EditText gibi

Model-View-Controller

Controller

  • Model ve View arasında getir götür işlemlerini gerçekleştirir.
  • Kullanıcıların View üzerinden gerçekleştirdiği işlemlerle alınan veriyi Model’e taşır, Model’den aldığı veriyi View üzerinden kullanıcıya gösterir.
  • MVC yapısında ana mantık Model ve View yapısının ayrılmasıdır. Bu iki yapı arasındaki haberleşmeyi sağlayan köprüye Controller diyoruz.
    Activity,Adaptor gibi

 

 

 

18) SQLITE NEDİR VE ÖRNEK UYGULAMA
Verilerimizi tutabilmemiz(kayıt altına alabilmek) için bize yardımcı olan metoddur. Android harici farklı ortamlarda da kullanılabilmektedir.

try {

SQLiteDatabase benimdatabaseim = this.openOrCreateDatabase (“Sanatcilar”, MODE_PRIVATE, null);
benimdatabaseim.execSQL (“sanatcı tablosu olustur (name VARCHAR, age INT()2)”);
benimdatabaseim.exeSQL  (“ekle sanatcı (name) VALUES (‘Tarkan’ , 50)”);

} catch (Exception e) {
e.printStackTrace();
}}}

Sayfalar arası butonla geçiş
public voide İKİYEGİT (View view){
Intent intent = new Intent (MainActivity.this,ikincisayfa.class);
startActivity (intent);
}

Tanımlamalar ve Çağırma
TextView sonunc;
EditText sayı1;
EditText sayı2;

sonuc = findViewById (R.id.sonuc);
sayı1 = findViewById (R.id.sayı1);
sayı2 = findViewById (R.id.sayı2);

Sayfalar Arası Veri Aktarımı
String kullanıcıİsmi;   –Tanımlamalar–
EditText edittext;

editText = findviewById(R.id.editText);   –Koda Tanımlamaları Çağırma
kullanıcıİsimi = “”;

kullanıcıİsimi = editText.getText().toString();               –Kullanıcıdan isim verisi alıyoruz
Intent intent = new Intent (MainActivity.this,hedefsayfa.class);

intent.putExtra(“kullanici”,kullanıcıİsimi);
startActivity(intent);

Yorumlar

Henüz yorum yapılmamış.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sayfa başına git