Header Ads Widget

Internal Details of Hello Android Example

இங்கே நாங்கள் hello android  உதாரணமாக வேலை செய்கிறோம்.

Android application java source code, string resources, images, manifest file, apk file  போன்ற பல்வேறு கூறுகளைக் கொண்டுள்ளது. அண்ட்ராய்டு பயன்பாட்டின் திட்ட அமைப்புமுறையை புரிந்துகொள்ளலாம்.

Project Structure of Hello Android example

Java Source Code

Let's see the java source file created by the Eclipse IDE:
File: MainActivity.java
  1. package com.example.helloandroid;  
  2. import android.os.Bundle;  
  3. import android.app.Activity;  
  4. import android.view.Menu;  
  5. import android.widget.TextView;  
  6. public class MainActivity extends Activity {//(1)  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {//(2)  
  9.         super.onCreate(savedInstanceState);  
  10.                 
  11.         setContentView(R.layout.activity_main);//(3)  
  12.     }  
  13.     @Override  
  14.     public boolean onCreateOptionsMenu(Menu menu) {//(4)  
  15.         // Inflate the menu; this adds items to the action bar if it is present.  
  16.         getMenuInflater().inflate(R.menu.activity_main, menu);  
  17.         return true;  
  18.     }  
  19. }  
(1) Activity: ஜாவா Class உருவாக்குகிறது மற்றும் Button, EditText, TextView, Spinner போன்ற பல்வேறு கூறுகளை வைக்க முடியும், இது ஜாவா AWT இன் Frame போன்றது.

2) onCreate method: Active Class முதலில் உருவாக்கப்பட்ட போது அழைக்கப்படுகிறது( called).

(3) The setContentView(R.layout.activity_main): layout resource பற்றிய தகவல்களை வழங்குகிறது. இங்கேlayout resource action_main.xml கோப்பில் வரையறுக்கப்படுகின்றன.

File: activity_main.xml
  1. <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     tools:context=".MainActivity" >  
  6.     <TextView  
  7.         android:layout_width="wrap_content"  
  8.         android:layout_height="wrap_content"  
  9.         android:layout_centerHorizontal="true"  
  10.         android:layout_centerVertical="true"  
  11.         android:text="@string/hello_world" />  
  12. </RelativeLayout>  
நீங்கள் பார்க்க முடியும்  textview தானாக உருவாக்கப்பட்டது. ஆனால் இந்த string செய்தி strings.xml கோப்பில் வரையறுக்கப்படுகிறது. @ String / hello_world textview செய்தியைப் பற்றிய தகவல்களை வழங்குகிறது. value மதிப்பு hello_world என்பது strings.xml கோப்பில் வரையறுக்கப்படுகிறது.

கோப்பு: strings.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="app_name">helloandroid</string>  
  4.     <string name="hello_world">Hello world!</string>  
  5.     <string name="menu_settings">Settings</string>  

Generated R.java file

இது தானாக உருவாக்கப்படும் கோப்பாகும் resources of res directory எல்லா ஆதாரங்களுக்கும் ID கள் உள்ளன. இது aapt (Android Asset Packaging Tool) மூலமாக உருவாக்கப்படுகிறது. Activity_main இல் எந்த உள்ளடக்கத்தையும் உருவாக்கும் போதெல்லாம் ஜாவா மூல கோப்பில் பின்னர் பயன்படுத்தக்கூடிய R.java கோப்புடன் தொடர்புடைய ஐடி உருவாக்கப்பட்டது.

File: R.java
  1. /* AUTO-GENERATED FILE.  DO NOT MODIFY. 
  2.  * 
  3.  * This class was automatically generated by the 
  4.  * aapt tool from the resource data it found.  It 
  5.  * should not be modified by hand. 
  6.  */  
  7. package com.example.helloandroid;  
  8. public final class R {  
  9.     public static final class attr {  
  10.     }  
  11.     public static final class drawable {  
  12.         public static final int ic_launcher=0x7f020000;  
  13.     }  
  14.     public static final class id {  
  15.         public static final int menu_settings=0x7f070000;  
  16.     }  
  17.     public static final class layout {  
  18.         public static final int activity_main=0x7f030000;  
  19.     }  
  20.     public static final class menu {  
  21.         public static final int activity_main=0x7f060000;  
  22.     }  
  23.     public static final class string {  
  24.         public static final int app_name=0x7f040000;  
  25.         public static final int hello_world=0x7f040001;  
  26.         public static final int menu_settings=0x7f040002;  
  27.     }  
  28.     public static final class style {  
  29.         /**  
  30.         Base application theme, dependent on API level. This theme is replaced 
  31.         by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 
  32.             Theme customizations available in newer API levels can go in 
  33.             res/values-vXX/styles.xml, while customizations related to 
  34.             backward-compatibility can go here. 
  35.          Base application theme for API 11+. This theme completely replaces 
  36.         AppBaseTheme from res/values/styles.xml on API 11+ devices. 
  37.   API 11 theme customizations can go here.  
  38.         Base application theme for API 14+. This theme completely replaces 
  39.         AppBaseTheme from BOTH res/values/styles.xml and 
  40.         res/values-v11/styles.xml on API 14+ devices. 
  41.  API 14 theme customizations can go here.  
  42.          */  
  43.         public static final int AppBaseTheme=0x7f050000;  
  44.         /**  Application theme.  
  45.  All customizations that are NOT specific to a particular API-level can go here.  
  46.          */  
  47.         public static final int AppTheme=0x7f050001;  
  48.     }  
  49. }  
  50. APK File

  51. ஒரு apk File தானாக உருவாக்கப்படுகிறது. மொபைலில் ஆன்டிராய்டு பயன்பாட்டை 
  52. இயக்க விரும்பினால், அதை  நிறுவவும்.
  53. Resources

  54. It contains resource files including activity_main, strings, styles etc.
  55. Manifest file

  56. இது  package including components such as activities, services, content providers
  57.  போன்ற கூறுகள் 

Post a Comment

0 Comments