Bir Android Uygulamasının Anatomisi :MobileCoder I MobileCoder.NET I Mobil Programlama I Android Programlama I Mobil Geliştiricilerin Buluşma Noktası I www.MobileCoder.Net

Bir Android Uygulamasının Anatomisi

06.04.2015 tarihinde Başlangıç Seviyesi kategorisine eklenmiş, 82 views Kişi Okumuş ve 0 Yorum Yapılmış.

Bir android uygulamasının anatomisini yani proje klasörlerinden ve dosyalarından hangisinin ne için kullanıldığını hangisinin ne işe yaradığını bilmek çok önemlidir ve yararlıdır. Sırasıyla önem arzeden klasör ve dosyaları kısaca tanıyalım.

src klasörü: Bu klasör proje içindeki .java uzantılı kaynak dosyaları içerir. Default(ön tanımlı) olarak içerisinde bir MainActivity.java dosyası vardır ve projenizi çalıştırdığınızda bu activity başlatılır.

 

gen klasörü: Bu klasör derleyici tarafında oluşturulan .R dosyasını içerir. Bu dosya projedeki bütün kaynakların referanslarını içerir. Bu dosyayı kesinlikle karışmamalısınız/içeriğini değiştirmemelisiniz.

bin klasörü: Bu klasör .apk uzantılı projenize ait bir nevi .exe dosyası olan dosyayı içerir. Bu dosya projeniz inşa edilirken ADT(Android Developer Tools) tarafından oluşturulur. Ayrıca bu klasörde projenizi çalıştırmak için gerekli olan diğer herşey bulunur.

res/drawable-hdpi: bu klasör drawable nesneleri için kullanılır. Bu klasöre high-density ekranlar için hazırlanmış tasarım için gerekli resim-grafik-ikon vb. herşey atılır.

res/layout: Bu klasörde uygulamanın arayüzünü oluşturucak dosyalar bulunur.

res/values: Bu klasörde diğer çeşitli xml dosyaları bulunur. Bu xml dosyalarından bazıları şunlardır: strings.xml, colors.xml, dimens.xml. Bunlar çeşitli kaynaklar için oluşturulan bir nevi kimlikleri/özellikleri içeren dosyalardır. İlerledikçe daha iyi anlayacaksınız.

AndroidManifest.xml: Bu dosya uygulamanın temel karakteristiklerini ve her bir bileşenini tanımlar.

Main Activity Dosyası

Main Activity kodları bir java dosyasıdır. Uygulamayı çalıştırdığınızda aslen bu dosya dalvik çalıştırılabilir dosyasına dönüştürülüp uygulamanız cihaz üstünde ya da emülatörde çalıştırılır. Örnek olarak yeni bir android uygulama projesi oluşturduğunuzda default olarak gelen MainActivity.java dosyasının içeriğini aşağıda görebilirsiniz.

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

package com.example.ilkornek;

 

import android.support.v7.app.ActionBarActivity;

import android.support.v7.app.ActionBar;

import android.support.v4.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.os.Build;

 

public class MainActivity extends ActionBarActivity {

 

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

 

}

 

@Override

public boolean onCreateOptionsMenu(Menu menu) {

 

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

 

 

Buradaki R.layout.activity_main kodu  /res/layout klasöründeki activity_main.xml dosyasını refer etmektedir. Üstte verilen kodlarda geçen onCreate() metodu uygulama başlatılırken çağrılan birçok metod tan biridir.

Manifest Dosyası

Hangi proje üstünde çalışıyor olursanız olun projenizle/uygulamanızla alakalı bütün bileşenlerini bu dosyada deklare etmelisiniz. Bu dosya uygulamanız ve Android İşletim sistemi arasında bir arayüz görevi görür. Yani bu dosyaya deklare etmediğiniz bir  uygulama bileşeni Android İşletim sistemi tarafından yok sayılacak – görülmeyecektir. Bir örnek manifest dosyBurada şunları bilmek iyi olur:

– <application> …. </application> tagları arasında uygulama ile ilgili bileşenler yer alır.

– android:icon=”@drawable/ic_launcher –> android:icon niteliği uygulamanın ikonunu ya da simgesini belirtmek için kullanılır. Burada drawable klasörlerinde bulunan ic_launcher.png adlı resim/simge adres gösterilmiştir.

– <activity> …. </activity> tagları arasında bir activity i tanımlamak için gerekli bütün şeyler yazılır.

  1. android:name niteliği ile activity nin tam sınıf adı verilir.
  2. android:label niteliği ile activity için actionbar da kullanılacak isim/başlık tanımlanır.
  3. <action android:name ….. /> tagı ile bu activity nin uygulama için giriş noktası olduğu belirtilmiştir. Sondaki MAIN kelimesi bunu sağlar. (MAIN –> ana demektir.)
  4. <category android:name ……. /> tagı ile bu activity nin uygulamanın başlatılacağı activity olduğu belirtilmiştir. Burada sondaki LAUNCHER kelimesi bunu sağlar. (LAUNCHER –> başlatıcı demektir.)

Bir manifest dosyasında karşılaşabileceğiniz/kullanabileceğiniz bütün taglar aşağıda verilmiştir.

– <activity> elemanları, aktiviteler için

– <service> elemanları, servisler için

– <receiver> elemanları, yayın alıcılar için

– <provider> elemanları, içerik sağlayıcılar için

asının içeriği aşağıda verilmiştir.

  Strings Dosyası

strings.xml dosyası res/values klasöründe bulunur. Bu dosya proje ile alakalı bütün text-yazı bilgilerini içerir. Örneğin buton isimleri, etiketler, kategori isimleri vb. Örnek bir strings.xml dosyası aşağıda verilmiştir.

strings.xml

1

2

3

4

5

6

7

8

<?xml version=”1.0″ encoding=”utf-8″?>

<resources>

 

<string name=”app_name”>IlkOrnek</string>

<string name=”hello_world”>Hello world!</string>

<string name=”action_settings”>Settings</string>

 

</resources>

 

   R Dosyası

gen/com.example.ilkornek/R.java dosyası MainActivity.java dosyası ile kaynak dosyaları arasında bir yapışkan gibi görev görür. Bu dosyayı kesinlikle modifiye etmemelisiniz. Örnek bir R.java dosyası aşağıda verilmiştir.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

*

* This class was automatically generated by the

* aapt tool from the resource data it found.  It

* should not be modified by hand.

*/

 

package com.example.ilkornek;

 

public final class R {

public static final class anim {

public static final int abc_fade_in=0x7f040000;

public static final int abc_fade_out=0x7f040001;

public static final int abc_slide_in_bottom=0x7f040002;

public static final int abc_slide_in_top=0x7f040003;

public static final int abc_slide_out_bottom=0x7f040004;

public static final int abc_slide_out_top=0x7f040005;

}

public static final class attr {

/**  Custom divider drawable to use for elements in the action bar.

<p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarDivider=0x7f01000b;

/**  Custom item state list drawable background for action bar items.

<p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarItemBackground=0x7f01000c;

/**  Size of the Action Bar, including the contextual

bar used to present Action Modes.

<p>Must be a dimension value, which is a floating point number appended with a unit such as “<code>14.5sp</code>”.

Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),

in (inches), mm (millimeters).

<p>This may also be a reference to a resource (in the form

“<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>”) or

theme attribute (in the form

“<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”)

containing a value of this type.

*/

public static final int actionBarSize=0x7f01000a;

/**  Reference to a theme that should be used to inflate widgets

and layouts destined for the action bar. Most of the time

this will be a reference to the current theme, but when

the action bar has a significantly different contrast

profile than the rest of the activity the difference

can become important. If this is set to @null the current

theme will be used.

<p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarSplitStyle=0x7f010008;

/**  Reference to a style for the Action Bar

<p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarStyle=0x7f010007;

/** <p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarTabBarStyle=0x7f010004;

/**  Default style for tabs within an action bar

<p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

public static final int actionBarTabStyle=0x7f010003;

/** <p>Must be a reference to another resource, in the form “<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>”

or to a theme attribute in the form “<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>”.

*/

}

 

   Layout Dosyası

activity_main.xml dosyası res/layout klasöründe bulunan ve uygulamanın arayüzünü belirleyen dosyadır. Uygulama yazılırken java kodu içerisinden bu dosya referans gösterilir. Bu dosyayı sıklıkla değiştireceksiniz. İlk örneğimizde(hello world) default olarak oluşacak içerik aşağıdadır.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<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” >

 

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerHorizontal=”true”

android:layout_centerVertical=”true”

android:text=”@string/hello_world”

tools:context=”.MainActivity” />

 

 

</RelativeLayout>

 

 

Android Cihazlardaki Drive’da Klasör Oluşturma ve Yönetme

Bu bilgiler yalnızca Android için Drive uygulamasının en son sürümüne yöneliktir. Drive uygulamasını indirmek veya en son sürüme geçirmek için Google Play‘e gidin.

Android cihazlarda Drive’daki dosyaları organize etmek için klasörler oluşturarak dosyaların kolayca bulunmasını ve diğer kullanıcılarla paylaşılmasını sağlayabilirsiniz.

Dokümanlar, E-Tablolar ve Slaytlar uygulamalarında klasörleri görüntüleyemeyeceğinizi, ancak  önizleme panelini kullanarak uygulamaların içinden bir klasöre Doküman, E-Tablo veya Slayt ekleyebileceğinizi belirtmek isteriz.

Drive uygulamasında klasör oluşturma

  1. Drive uygulamasını açın.
  2. Ekranınızın sağ alt köşesindeki kırmızı+ düğmesine dokunun.
  3. MenüdenKlasör‘ü seçin.
  4. İstendiğinde klasör için bir ad girin.
  5. Tamam‘a dokunun.

Klasör oluşturmayla ilgili ipuçları

  • Drive uygulamasında oluşturulan yeni klasörler, web üzerinde Google Drive’da ve Drive hesabınızda oturum açtığınız diğer yerlerde de kullanılabilir hale gelir. Başka bir klasör içindeyken oluşturulan yeni klasörler otomatik olarak bu klasör altında yer alır.
  • Klasörler, uygulamanın “Çevrimdışı” veya “Yıldızlı” gibi herhangi bir bölümünde oluşturulabilir. Ancak, yeni klasörler her zaman “Drive’ım” bölümünde görünür.
  • Çevrimdışı bölümündeyken oluşturulan klasörler otomatik olarak çevrimdışı kullanılabilir olmaz. Benzer şekilde, Yıldızlı bölümünde oluşturulan klasörlere de otomatik olarak yıldız eklenmez.
  • Drive uygulamasında oluşturulan klasörler; Dokümanlar, E-Tablolar veya Slaytlar uygulamalarında görünmez.

Klasörleri yönetme

Drive listenizde, klasör adının yanındaki gri i  düğmesine dokunup klasörün önizleme panelini açın ve aşağıdakilerden birini seçin:

  • Klasörüpaylaşma
  • Klasörüyeniden adlandırma
  • Klasörü uygulamadankaldırma
    • Bir klasörü kaldırdığınızda içindeki dosyalar da Drive’ınızdan kaldırılır. Kaldırdığınız dosyaları kurtarmak için web üzerinde Drive’ın “Çöp Kutusu” bölümünden bu dosyaları geri yüklemeniz gerekir.
  • Klasörün bağlantısınıgönderme
  • Klasörü Drive’ınızdaki başka bir klasör altında yer alacak şekildetaşıma.

Klasörler çevrimdışı kullanıma sunulamaz. Ancak, belirli bir klasör içinde saklanan öğeleri tek tek çevrimdışı kullanılabilir olacak şekilde işaretleyebilirsiniz. Android cihazınız İnternet’e bağlı değilken Google Drive öğelerini görüntülemehakkında daha fazla bilgi edinin.

Klasörlere dosya taşıma

Drive uygulamasında istediğiniz sayıda dosyayı bir klasöre kolayca taşıyabilirsiniz.

  1. Drive uygulamasında klasöre eklemek istediğiniz dosyalara dokunun ve basılı tutun.
  2. Dosyaları eklemek istediğiniz klasörün üstünde görünen kutuya sürükleyin. Dosyalar otomatik olarak bu klasöre eklenir.

 

 İbrahim DAŞPINAR

İlgili Terimler : , ,
Yazar Hakkında

Yazar : Recep

Yazar Hakkında :

Yazarın Tüm Yazıları İçin Tıklayınız

Yorumlar

Sitemizde En Çok Okunan İçerikler

ANDROİD TELEFONLARA ROOT ATMA
ANDROİD TELEFONLARA ROOT ATMARoot Ne demek ? Bir android cihazı root etmek telefonun
fragment
ANDROİD FRAGMENT YAPISI VE KULLANIMIFragmentler Activity içerisinde yer alan kullanıcı ara yüzleridir. Fragment
Asp.NET’de web servis hazırlama ve Android de kullanimi  Web Servis Nedir ? Web üzerinden HTTP protokolü ile hizmet
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞME
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞMEANDROİD TELEFONLARDA KONFERANS GÖRÜŞME   Konferans görüşme çok fazla bilinmeyen androidin

Sitemizde En Çok Yorumlanan İçerikler

WEB UYGULAMALARINDA EKRAN UYUMU
WEB UYGULAMALARINDA EKRAN UYUMUAndroid için web uygulamaları hazırlarken odaklanmamız gereken en önemli
ActionBar Kullanım Özellikleri
ActionBar Kullanım ÖzellikleriActionBar Genel Bakış ActionBar temel olarak 4 ana işlevsel alan barındırır.

Son Yapılan Yorumlar

  • Kategoriler

  • Son Yazılar

  • Takvim

    Ağustos 2017
    P S Ç P C C P
    « Kas    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • Etiketler

  • Son Yorumlar

    • Arşivler

    • Meta