Android SDK-да қосымшалар құру
Жоба қасиеттері
Жобаның қасиеті. Жобаны құру барысында оның қасиеттерін көрсету қажет: Project Name (жобаның атауы), Build Target (құрастыру нұсқасы), Application Name (қолданбаның атауы), Package Name (пакеттің атауы), Create Activity (пішін), және Min SDK Version (SDK-ның минималды ықтимал нұсқасы).
«Құрастыру нұсқасы» өрісінде жобада қандай API қолданылатыны көрсетіледі. Қолданба жұмыс істей алатын қолдаулы функциялар жиынтығы мен ОЖ-нің нұсқасы таңдауға байланысты болады.
Пакеттің атауы Android ОЖ-ндегі барлық бағдарламалардың арасынан бірегей жоба атауын анықтайды. Әдетте пакеттің атауы компанияның стандартты атауы мен қолданбаның атауынан тұрады. Мысалы «com.mycompany.appname».
Пішін қолданбалы интерфейстің элементтерімен бірге жеке терезе болып табылады.Осы терезе қолданбаның кейбір функционалдығын жүзеге асырады және жүйенің әр түрлі оқиғаларын өңдей алады. Жүйедегі пішіндерді басқару пішіндердің стегі көмегімен жүзеге асады. Қараусыз қалған пішін стек төбесіне орналасады, алдыңғы ашылған пішін автоматты түрде стектен бір деңгей төмен түсіріледі, алдыңғы пішін туралы барлық ақпарат бұл ретте сақталады. Әрбір пішіннің жұмыс істеуінің 4 күйі болады:
- қараусыз қалған немесе белсенді – пішін алдыңғы планда кескінделеді, яғни белсенді түрде;
- уақытша тоқтатылған – пішін фокусқа ие болмайды, бірақ бұған қарамастан экранда көрініп тұрады, яғни басқа пішінмен жарым-жартылай қайта жабылады;
- тоқтатылған – пішін басқа пішінмен толық жабылады, яғни пайдаланушыға көрінбейді;
- аяқталған – егер пішін «уақытша тоқтатылған» немесе «тоқтатылған» күйінде болса, онда ол жадтан шығарылып тасталған немесе пішінді жасап жатқан үдеріс аяқталған болуы мүмкін.Пішінді қайта жіберу кезінде оның алдыңғы күйі қалпына келеді. Пішін үшін циклдердің 3 түрі болады:
- толық цикл – пішін басталғаннан аяқталғанға дейінгі барлық кезеңдерден өтеді;
- көрінімнің циклі – пішін экранда пайдаланушыға көрінеді, бірақ белсенді түрде емес, яғни пайдаланушы онымен бірлесіп әрекет жасай алмайды;
- белсенділік циклі – пішін белсенді болады және пайдаланушы онымен өзара әрекет жасай алады.
Жобаның файлдарының құрылымы. 1.2 суретте деректер қорымен жұмыс үшін тест бағдарламасы жобасының файлдар құрылымы көрсетілген. Әзірлеу барысында жобаның негізгі файлдары болып табылады:
- «/gen/R.java» файлы – бұл қолданбаның ресурстарына қол жеткізуді жүзеге асыратын арнаулы шығарылған класс.
- «/res/drawable-dpi/» папкасының құрамына экранның әр түрлі мүмкіндіктеріне арналған, қолданбаларда қолданылатын барлық графикалық файлдар кіреді.
- «/res/layout/» папкасының құрамына XML пішімінде пішіннің сыртқы түрі суреттелетін файлдар кіреді.
- «/res/layout/main.xml» файлының құрамына қолданбаның негізгі пішінінің үлгісі, сонымен қоса тексттік терезелер, таңбалар, батырмалар және интерфейстің басқа элементтері кіреді.
- «/res/values/» папкасының құрамына барлық қолданбаларға арналған жалпы тұрақты шамалары бар файлдар кіреді.
- «/res/values/strings.xml» файлының құрамына қолданбаларда қолданылатын барлық тізбектік тұрақты шамалар кіреді.
- «/src/» папкасының құрамына Java тіліндегі бағдарламаның бастапқы коды бар файлдар кіреді.
- «/src/Hello.java» файлының құрамына қолданбаны басқарудың негізгі функциялары мен XML-файлдарының бастапқы функциялары кіреді.
- «/src/DBAdapter.java» файлы – құрамына деректер қорымен жұмыс жасауға арналған функциялар кіретін берілген бағдарламаның модулі.
- «AndroidManifest.xml» файлында жобаның құрамына кіретін барлық пішіндер мен жобаның барлық қасиеттері есепке алынады.
Жоба құру кезінде оның қасиеттерін корсетуіміз тиіс: Project Name (жобаның атауы), Build Target (жиынтық нұсқасы), Application Name (қосымша атауы), Package Name (пакет атауы), Create Activity (пішін), және Min SDK Version (SDK-ның минималды рұқсат етілетін нұсқасы).
«Жиынтық нұсқасы» алаңында жобада қандай API қолданылатындығы көрсетіледі. Таңдауға ОЖ-да қолданылатын функциялар және нұсқалар қатысты.
Пакет атауы Android ОЖ бағдарламалары арасындағы жобаның бірегей атауын анықтайды. Пакет атауы әдетте, компания атауы және қосымша атауынан тұрады. Мысалы, «com.mycompany.appname».
Пішін (Activity) қолданушы интерфейсі элеметтері терезесінен тұрады. Берілген терезе қосымшаның кейбір функционалдарын іске асырады және жүйенің түрлі оқиғаларын өңдей алады. Пішіндерді басқару пішіндер стегі көмегімен іске асырылады. Іске қосылған пішін стек шыңына орналасады, алдыңғы ашылған пішін мәліметтері сақталып, автоматты түрде бір стек деңгейіне төмен орын ауыстырады. Әр пішіннің төрт функциялану күйі болады:
1) іске қосылған немесе белсенді – пішін басқа пішіндер алдында (үстінде) көрсетіледі, яғни, белсенді;
2) уақытша тоқтатылған – пішін фокусқа ие емес, бірақ экранда көрсетіледі, яғни, басқа пішінмен қабаттас (пішін астында);
3) толықтай тоқтатылған – пішін толығымен басқа пішінмен жабылған, яғни, қолданушыға көрінбейді;
4) аяқталған – пішін, егер «уақытша тоқтатылған» немесе «толықтай тоқтатылған» күйде болған кезде, жадыдан кері жүктелген болуы мүмкін, немесе пішін құрған процесс аяқталуы мүмкін. Қа»та іске қосу кезінде оның алдыңғы күйі қалыпқа келтіріледі.
Пішін үшін циклдың үш түрі бар:
- толық цикл – пішін іске қосылудан аяқталуына дейін өз өмірінің барлық кезеңдерінен өтеді;
- көріну циклы – пішін экранда қолданушыға көрінеді, бірақ, белсенді емес, яғни, қолданушы өзара іс-әрекет жасай алмайды;
- белсенділік циклы – пішін белсенді болып табылады, және қолданушы өзара іс-әрекеттер жасай алады.
- Манифест – қосымшаның конфигурациясын беретін құрылымды XML-файл. Ол қосымша компоненттерін жариялайды, қосымшамен байланысты кез-келген кітапханаларды есепке алады, сонымен қатар қосымша беретін шешімдерді жариялайды.
- Манифест файлы Android-қосымшаның барлық құрылымын, оның функционалды мүмкіндіктерін, конфигурациясын инкапсуляциялайды. Манифест құрылымы көпдеңгейлі. Элементтердің бір деңгейде орналасу реті еркін түрде. <application> элементі манифесттің негізгі элементі болып табылады және қосымшаның құрылымын, жұмысын анықтайтын көптеген туынды элементтерден тұрады [15].
- <application>, <manifest>,<uses-sdk> элементтері міндетті болып келеді.
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.closeproject"
- android:versionCode="1" android:versionName="1.0.">
- <uses-sdk android:minSdkVersion="8" />
- <application android:icon="@drawable/icon" android:label="@string/app_na-me">
- <application> элементі пакетте бар қосымша компоненттерінің сипатталуынан тұрады. Берілген элементте қосымша құрамына кіретін әрбір компонентті жариялайтын туынды элементтері бар.
- <uses-permission> жүйеден қосымшаға оның қалыпты жұмыс істеуіне берілуі қажет рұқсаттарды сұрату элементі. Қосымшаның манифестінің алгоритмі келесідей келтірілген.
- <uses-permission android:name="android.permission.INTERNET"/>
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.appdombra" >
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- }
- <supports-screens android:resizeable="true"
- android:smallScreens="true"
- android:normalScreens="true"
- android:largeScreens="true"
- android:xlargeScreens="true"
- android:anyDensity="true" />
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name="com.example.appdombra.LoadActivity"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity
- android:name="com.example.appdombra.MainActivity"
- android:label="@string/title_activity_main" >
- </activity>
- <activity
- android:name="com.example.appdombra.FirstActivity"
- android:label="Play" >
- </activity>
- <activity
- android:name="com.example.appdombra.SecondActivity"
- android:label="Play2" >
- </activity>
- <activity
- android:name="com.example.appdombra.ThirdActivity"
- android:label="Notes" >
- </activity>
- <activity
- android:name="com.example.appdombra.InformActivity"
- android:label="Information" >
- </activity>
- </application>
- </manifest>