Класстар

Java тіліндегі объектіге бағытталған бағдарламалудың базалық элементі класс болып табылады. Класс құру үшін шығыс файлы болуы жеткілікті. Файл құрамында class негізгі сөзі, одан кейін идентификатор мен фигуралы жақша жұбы болуы тиіс:

Class Point {

}

Java шығыс файлының атауы онда сақталатын класс атауымен сәйкес болуы тиіс. Әріптер регистрі класс атауында да, файл атауында да қажетті.

Класс – бұл объект құруға арналған шаблон. Класс функционалды интерфейс құратын объект құрылымын және әдістерін анықтайды. Төменде классты анықтаудың ортақ түрі көрсетілген.

Class класс_атауы extends суперкласс_атауы {type объект_айнымалысы:

Type 2объект_айнымалысы:

Type Nобъект_айнымалысы:

Type әдіс_атауы1 (параметрлер_тізімі) { әдіс денесі;

}

Type әдіс_атауы2 (параметрлер_тізімі) { әдіс денесі;

}

Type әдіс_атауыN (параметрлер_тізімі) { әдіс денесі;

}

}

Extends кілттік сөзі «класс_атауы» классы «суперкласс_атауы» класының ішкі классы екенін көрсетеді. Java тілінің класстық иерархиясының шыңында оның жалғыз орнатылған классы – Object орналасқан.

3.3 Android SDK-да қосымшалар құру

3.3.1 Жоба қасиеттері

Жобаның қасиеті. Жобаны құру барысында оның қасиеттерін көрсету қажет: 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>

3.3.2 Жобаның файлдық құрылымы

10 cуретте тесттік бағдарламаның жоба файлдық құрылымы көрсетілген. Құрастыру кезінде жобаның негізгі файлдары болып мыналар табылады:

- «/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.java» файлында жобаның ортақ қасиеттері сақталады, сонымен қатар, жобадағы барлық пішіндер (Activities) сақталады.

- Пакет атауы Android ОЖ бағдарламалары арасындағы жобаның бірегей атауын анықтайды. Пакет атауы әдетте, компания атауы және қосымша атауынан тұрады. Мысалы, «com.mycompany.appname».

- Пішін (Activity) қолданушы интерфейсі элеметтері терезесінен тұрады. Берілген терезе қосымшаның кейбір функционалдарын іске асырады және жүйенің түрлі оқиғаларын өңдей алады.

Пішіндерді басқару пішіндер стегі көмегімен іске асырылады. Іске қосылған пішін стек шыңына орналасады, алдыңғы ашылған пішін мәліметтері сақталып, автоматты түрде бір стек деңгейіне төмен орын ауыстырады. Әр пішіннің төрт функциялану күйі болады:

Cурет 10. Жобаның файлдық құрылымы

Android операциялық жүйесіндегі қосымша негізінде Java-ның қолдануымен жұмыс істейді. Есептелінген программалық код (қордың барлық файлдары және басқа да қажетті ақпараттарымен бірге) арнайы файл-мұрағатта, AndroidPackage, жабдықталады. Бұл файлда *.apk кеңейтілуі бар және ол арнайы aapttool утилитасымен жабдықталады. Нақ атап айтқанда ол алдағы кезеңдерде программа ретінде таралады және мобильдік құрылғыларға орнатылады. Осындай бір файл бір қосымшаның кодымен байланысқан. Android-тағы әрбір қосымша өзінің әлемінде – осындай машинада өмір сүреді. Үнсіз күйде, әрбір программа Linux ядросының басқаруымен және менеджмент жадысын жузеге асыру арқылы өзінің өзіндік процесінде орындалады. Осылайша, қосымшаның коды жиі барлық басқа қосымшалардан оқшау орындалады. Android кез келген бір программалық кодты орындау қажеттілігі туындағанда процесті іске қосады, сонымен қатар онда ешқандай қажеттілік болмағанда және басқа қосымшаларға жүйелік ресурстар қажет болғандаоны аяқтайды. Үнсіз күйде,әрбір қосымшағаLinux-қолданушының өзінің бірегей ID меншіктеледі. Рұқсат құқығы қосымшаның файлдары тек осы қолданушыға және берілген қосымшаға ғана көрінетіндей орнатылады. Сонымен бірге оларды басқа қосымшаларға экспорттауға мүмкіндік беретін әдістер де бар. Мысалы, екі қосымшаның арасында бір ғана қолданушылық ID-дің «бөліну» мүмкіндігі қолданылады. Мұндай жағдайда, олар бір-бірінің файлдарын көре алады. Жүйелік ресурстарды үнемдеу үшін бірдей ID қосымшаларды бір ғана виртуалды машинаны бөлумен қатарбір ғана Linux-процесте жүргізуге келісім жасауға болады.

3.3.3 Деректер қорын құру. SQLite

Android платформасы деректердің қиын коллекциясын сақтауға мүмкіндік беретін функцияларымен қамтамасыз етеді. Android кестелер құрамын көруге, SQL командаларын орындауға және SQLite деректер қорында басқа да пайдалы функцияларды орындауға мүмкіндік беретін SQLite3 деректер қорын басқару құралдарымен бірге келеді.

SQLite және т.б деректер қорлары құрылғыда /data/data/package_name/ деректер базасында сақталады. SQLite барлық деректер қорын жалғыз стандартты файлда сақтайды. Android кітапханалары SQLite деректер қорларын құру, басқару, класстармен қамтамасыз етеді.

Android кітапханасында деректер қорын құруға арналған SQLiteOpenHelper классы бар. SQLiteOpenHelper классы екі абстрактілі әдістен тұрады:

- onCreate() – бірінші дерктер қорын құрғанда шақырылады;

- onUpgrade() – деректер қорын жаңарту (өзгерту) кезінде шақырылады.

Қосымшада SQLiteOpenHelper-дан туатын өз классы құрылады. Бұл класста құру логикасын және жаңартуларын белгілей отырып, жоғарыда айтылған әдістерді іске асыру керек.

Бұл класста қолданушылар деректер қорына сұраныс кезінде бағандарды анықтау үшін қолданатын, деректер қорында кестелер және алаңдар атауы үшін ашық жолдық тұрақтыларды жариялау қабылданған. Әр бағана деректер типін тыңғылықты түрде документациялау қажет, себебі, клиент үшін бұл ақпарат деректерге қатынау үшін керек болады. Мысалы, Contact кестесі үшін тұрақтыларды былай жариялауға болады:

Public static final String TABLE_NAME = “contact”;

Public static final String NAME “first_name”;

Public static final String PHONE ‘phone”;

SQLiteOpenHelper-мен кеңейтілетін класс _ID жолдық тұрақтысы анықталатын, идентификаторлар алаңы атауын көрсететін BaseColumns интерфейсі қамтылады. Деректер қорында құрылатын кестелерде _ID алаңы INTEGER PRIMARY KEY AUTOINCREMENT типті болуы керек. AUTOINCREMENT сипаттауышы міндетті емес.

OnCreate() кері шақыру әдісінде кестелер құру логикасын іске асырып, керек жағдайда оларды бастапқы деректермен толтыру керек, мысалы:

@Override

Public void onCreate (SQLiteDatabase db) {

db.execSQL (“CREATE TABLE + TABLE_NAME

+ (_id INTEGER PRIMARY KEY AUTOINCREMENT,

+ COL_NAME + TEXT, + COL_PHONE + TEXT);”);

}

onUpdate() әдісі бағдарлама кестесінің өзгертілген құрылымын жаңарту кезінде шақырылады. onUpdate() кері шақыру әдісінде, мысалы, деректер қорында кестені жою (DROP TABLE) туралы сұранысты іске асыруға болады. Одан кейін жаңартылған құрылымды кесте нұсқасын құру үшін қайта onCreate() әдісі шақырылады, мысалы:

@Override

Public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion)

{

Db.execSQL(“DROP TABLE IF EXISTS +TABLE_NAME”);

onCreate (db);

Android кітапханасында SQLite деректер қорын басқару үшін SQliteDatabase калассы қолданылады. SQliteDatabase классында деректерді оқу, қосу, жою, өзгерту әдістері анықталған.

Деректерді оқу үшін query () әдісі қолданылады:

Cursor query (String table, String[] columns,

String selection, String[] selectionArgs,

String groupBy6 String having, String sortOrder)

Query() әдісіне жеті параметр беріледі:

- table – сұраныс жіберілетін кесте атауы;

- columns – қайтарылатын жолдардың атаулар тізімі. Null жіберілген кезде барлық бағандар қайтарылады;

- selection – were сөзін қалыптастыратын параметр. Null жіберілген кезде барлық жолдар қайтарылады;

- selectionArgs – фильтр аргументтері мәні;

- groupBy – GROUP BY сөзін қалыптастыратын параметр. GROUP BY керек емес жағдайда null жіберіледі;

- having - HAVING сөзін қалыптастыратын параметр. Керек емес жағдайда null жіберіледі;

- sortOrder – ORDER BY сөзін қалыптастыратын параметр. Үнсіз келісім бойынша сұрыптау кезінде null жіберіледі.

Қайтарылатын деректерді өңдеу үшін cursor объетісі деректердің барлық типтерін оқитын әдістер жинынан тұрады – getString(), getInt(), getFloat().

SQLite деректер қорында жаңа жазба енгізу үшін insert() әдісі қолданылады:

Long insert (Srting table, String nullColumnHack, ContentValues values)

Insert әдісіне үш параметр беруіміз тиіс:

- table – жазба енгізілетін кесте атауы;

- nullColumnHack – SQLite деректер қорында толығымен бос жол енгізуге тиым салынған, егер контент-провайдер клиентінен келген жол бос болса, онда, тек осы бағанға null мәні беріледі;

- values – контент-провайдер клиентімен берілетін кілт-мәні жұбын қамтитын көрсетілім картасы.

Insert() әдісі _ID идентификаторын қайтарады немесе қате болған жағдайда -1 мәнін береді.

Деректер қорында жазбаларды жаңарту және өзгерту үшін сәйкесінше update() және delete() әдістері қолданылады:

Int update (String table, ContentValues values,

String whereClause, String[] whereArgs)

Int delete (String table, String whereClause, Strin[] whereArgs)

Бұл әдістерде соңғы екі параметр қарастырылған query() әдісіне аналогті WHERE SQL-мәнін құрады. Бұл әдістер жаңартылған немесе жойылған жолдар санын қайтарады.

Жоғарыда айтылған әдістерден басқа бұл класста деректер қорын басқаруға арналған басқа тапсырмаларды орындайтын түрлі әдістер бар.


4 Android операциялық жүйесіне арналған «балаларға арналған сөйлейтін әліпби» қосымшасын жасау

4.1 Қосымшаға қойылатын талаптар

Қосымша Android 2.3 (Gingerbread) нұсқасынан бастап жұмыс істеуге дағдыланған. Қосымша әр-түрлі функцияларды атқаратын бес беттен тұруы тиіс:

- Бірінші бетте басқа беттерге сілтейтін батырмалар болуы қажет. Әр батырма арқылы басқа беттерге көшу функциясы қарастырылуы тиіс.

- Екінші бетте қазақ әліппиі ретінде бейнеленген қырық екі батырма болуы қажет. Әр батырманы басқан кезде басылған әріпке сәйкес келетін заттар суреті қалқымалы хабарлама ретінде экран бетіне шығуы тиіс және арнайы дайындалған, әріптерді дыбыс ретінде ести алуымыз қажет.

- Үшінші бетте қолданушы пайда болған пианино батырмалары арқылы әуен ойнау мүмкіндігі болуы қажет.

- Төртінші бетте “Жұбын тап” ойыны орналасқан. Бұл бетте әр-түрлі фигуралардың үш жұбы, жаңа ойын бастау батырмасы, артқа қайту, ойында бастау батырмалары орналасуы қажет. Әр батырма өзіне сәйкес функцияларды орындауы керек.

Қосымша құрылғылардың әр-түрлі нұсқаларында бірдей жұмыс істеуі тиіс, яғни үйлесімді болуы керек.

4.2 Минималды жүйелік талаптары

Жүйелік талап – құрылғыда белгілі бір бағдарламаның еш мінсіз жұмыс жасауына арналып есептелініп шығарылған мінездемелер жиыны.

Бұл мін апараттық қамтамасыздануға (процессордың типі, түрі, оперативті жадының көлемі, қатқыл дисктің көлемі) және бағдарламалық ортаға (операциялық жүйе, жүйелік компоненттердің бар болғандығы, қызметтер және тб) қойылуы мүмкін.Әдетте бұл талаптарды бағдарламаны(қосымшаны) жасап шығарушылары мен авторлары қояды.

Кейбір бағдарламалар үшін минималды немесе ұсынылатын жүйелік талаптар деген жазуды көреміз. Жүйелік талартадың түрлері:

− минималды жүйелік талаптары – бағдарламаның сәтті қосылуына арналған талаптар, алайда, егер құрылғы минималды талаптарды қанағаттандыра алмайтын болса бағдарлама қосылмай қалады деген сөз емес;

− ұсынылатын жүйелік талаптар – бағдарламаның көпшілік бөлігі жақсы жұмыс атқаруына арналған талаптар, алайда, егер құрылғы бұл талаптарға сәйкес келген күннің өзінде бағдарламаның өте жақсы сапада жұмыс жасамау ықтималдылығы бар. Мысалы кейбір ойындар максималды графикамен ойналынбайды.

Смартфондарға жасалынатын бағдарламасының жүйелік талаптары бағдарлама жасалатын ортаға байланысты шектеледі. Жаңа бағдарламаны құрастыруды бастаған кезде жүйелік талаптарды қолданушы таңдап, өзгерте алады. ОЖ сол кезде таңдалса, экран өлшемі құрастыру барысында өзгерте беруге болады. Жадыдағы орнын бағдарламаның компиляцияға жіберілгенінен кейін біле аламыз және содан 10-20% артық орын есептеген жөн.

«Android опкрациялық жүйесіне арналңан “балаларға арналған сөйлейтін әліпби”» қосымшасының минималды жүйелік талаптары:

− Android 2.3 (Gingerbread);

− 3.5, 320х480, сенсорлы экран;

− 35 Мб жадыдағы бос орын;

− 1000 МГц жиіліктегі процессор.

Осындай минималды талаптарға сәйкес келетін смартфонға «Шынайы домбыра» орнатылады.

4.3 Қосымша интерфейсінің құрылуы

Android үшін қолданушылық интерфейсі View және ViewGroup объектілер иерархиясын қолдану арқылы құрылады. View объектілер – ережеге байланысты батырмалар, мәтіндік алаңдар сияқты UI виджеттер, сонымен қатар child-элементтердің қалай қолданылуын анықтайтын көрінбейтін контейнерлер болып табылады.

Android View, ViewGroup ішкі класстарына сәйкес келетін XML-сөздік ұсынады. Сондықтан, біз қолданушылық интерфейс элементтерін пайдалана отырып, XML файлда өзіміздің қолданушылық интерфейсімізді құра аламыз [6],[7].

Кодты орындамай, макеттің қолданушылық интерфейсін жариялаудық бірнеше пайдалы жақтары бар. Бұл өте қажетті жағдай, себебі, біз әр-түрлі экран өлшемдері үшін әр-түрлі макеттер құра аламыз.

Android операциялық жүйесіне арналған электрондық әліппе қосымшасы бес беттен тұрады. Негізгі менюде әліппені уйрену, сурет салу парағы, ойын ойнау және әуен ойнау беттеріне сілтейтін батырмаларды көруге болады.

Қосымша интерфейсін құруда кездесетін барлық графикалық элементтер Adobe Photoshop графикалық редакторы көмегімен жасалған және қосымша бумасында – res/darwble ішінде сақталады.

Қосымшада батырмалар ретінде ImageButton view-элементтері қолданылған. Әр элементке сәйкесінше фондық суретер тағайындалған. ImageButton компонентіне фондық сурет қою үшін біз компонентке тышқанның оң жақ батырмасы басып, пайда болған менюден Edit Background жолын таңдаймыз. Әрі қарай res/darawble бумасында орналасқан суреттер тізімі пайда болады. Сәйкесінше бізге керекті суретті таңдаймыз (10-сурет).

Сурет 11. View-элементке фондық сурет тағайындау әдісі

Қосымшаны құрайтын әр беттер интерфейстері сәйкесінше өздеріне арналған XML файлдарда құрылады:

1 Негізгі меню (сурет 13). Негізгі меню интерфейсі қосымша ресурстары орналасатын res бумасындағы fragment_main.xml файлында құрылады (res/layouts/fragment_main.xml). Бұл activity-де RelativeLayout көрінісі қолданылады. RelativeLayout-та әр элемент орны басқа элеметтерге қатысты анықталады.

Негізгі менюде (сурет 13), сонымен қатар, қосымшаның басқа беттерін шақыруға арналған ImageButton view-элементтері орналасқан. Негізгі менюде әліппені уйрену, сурет салу парағы, ойын ойнау және әуен ойнау беттеріне сілтейтін батырмаларды көруге болады. Екінші бет – әліппені үйрену беті. Негізгі беттегі “әліппені үйрену” батырмасын басу арқылы әліппені үйрену бетіне көшеміз. Бұл бетте қазақ әліпбиінің қырық екі әріпі кесте түрінде орналасқан.

Android операциялық жүйесіне арналған электрондық әліппе
Әліппені үйрену Second_main.xml
Ойын ойнау
Сурет салу Paint.xml
Әуен ойнау Piano.xml
Негізгі меню Fragment_main.xml


Сурет 12. Қосымша құрылымы

Әр әріпті басу арқылы басылған әріптің атауынан және сол әріпке байланысты создерден тұратын аудиожазбаны ести аламыз. Үшінші бет – сурет салу парағы. Бұл бетте бүлдіршін экранға саусақпен жанасу арқылы сурет сала алады. Төртінші бет – ойын ойнау беті.

Сурет 13. Қосымшаның негізгі менюі

2 Әліппені үйрену. Бұл бет интерфейсі second_main.xml файлында құрылады. Бұл бетте белгілі ретпен орналасқан қазақ әліпбиінің қырық екі әрпін көре аламыз. Әр әріп ImageButton view-элементінен тұрады. Adobe Photoshop графикалық редакторы көмегімен алдын ала дайындалған, res/drawble бумасына орналасқан, әріптер ретінде бейнеленген суреттер сәйкесінше, әр ImageButton компонентінің фондық суреті болып орнатылған.

ImageButton view-элементтер тобы RelativeLayout ішінде орналасқандықтан, әр элементтің орналасуы басқа элементтерге қатысты орнатылады. Мысалы:

<ImageButton

android:id="@+id/imageButton2"

android:layout_width="36dp"

android:layout_height="36dp"

android:layout_alignTop="@+id/imageButton1"

android:layout_toRightOf="@+id/imageButton1"

android:background="@drawable/a2"

android:src="@drawable/abc_ab_share_pack_holo_dark" />

Бұл мысалда «Әліппені үйрену» бетінің бір элементінің баптаулары көрсетілген. Олардың әрқайсысына тоқталсақ:

android:id”@+id/imageButton2” – бағдарламалау кезінде компонентке қатынау мүмкіндігін беретін, компонентке берілетін өзіндік ID.

android:layout_width=”36dp”, android:layout_height=”36dp” – экран элементінің ұзындығы мен енін орнатуға арналған тэг. Біздің мысалға сәйкес элементтің ұзындығы мен ені 36dp-ға тең. Dp (Density-independent Pixels) – әр түрлі экран өлшемдерінде бірдей түрде көрсетілуге мүмкіндік беретін өлшем бірлік болып табылады.

android:layout_alignTop=”@id+imageButton1” – imageButton2 элементінің жоғарғы бөлігін imageButton1 элементінің жоғарғы жағымен түзейді.

android:layout_toRightOf=”@id+imageButton1” – imageButton2 элементі imageButton1 элементінің оң жағында орналастырады.

android:background=”@drawble/a2” – a2.png графикалық файлын imageButton2 элементінің фондық суреті ретінде орнатады.

android:src="@drawable/abc_ab_share_pack_holo_dark" – imageButton2 элементіне түссіз иконка тағайындайды.

3 Әуен ойнау. Әуен ойнау беті пианино батырмалары түріндегі ImageButton компоненттерінен тұрады. Бұл бет интерфейсі piano.xml файлында құрылады. Әр ImageButton компонентіне пианино батырмалары түріндегі фондық суреттер тағайындалған. Барлық батырмалар Relative Layout ішінде орналасқан. Әуен ойнау бетінің интерфейсінің құрылу келесідей болады (сурет 13):

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

android:background="@drawable/background"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.example.alippe.MainActivity$PlaceholderFragment" >

Әр ImageButton үшін сәйкесінше келесідей баптаулар қолданылады:

<ImageButton

android:id="@+id/imageButton1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_centerVertical="true"

android:layout_marginLeft="58dp"

android:background="@drawable/key1"

android:src="@drawable/abc_ab_share_pack_holo_dark" />

Экран элементтерінің баптауларын орната келе 14 суретте көрсетілген қосымша интерфейсін аламыз.

Сурет 14. Әуен ойнау бетінің интерфейсі

4 Сурет салу. Сурет салу беті paint.xml файланда жүзеге асырылады. Бұл бетте саусақ пен экранның өзара қарым-қатынасы арқылы із қалдыру функциясы қарастырылған. Қолданушыда түстер палитрасында түс таңдау, қаламның өлшемін өзгерту, жаңа сурет салу және оны сақтау, салынған суретті өшіру мүмкіндіктері бар.

Сурет салу беті интерфейсін құрмастан бұрын, жұмыс барысында қолданылатын кейбір цифрларды анықтауымыз керек. “Res/values” бумасында орналасатын “dimens.xml” файлына мынадай мәндер енгіземіз:

<!-- Brush sizes -->

<dimen name="small_brush">10dp</dimen>

<integer name="small_size">10</integer>

<dimen name="medium_brush">20dp</dimen>

<integer name="medium_size">20</integer>

<dimen name="large_brush">30dp</dimen>

<integer name="large_size">30</integer>

Салынған сурет орнын анықтайтын арнайы класс құрылады. Қосымшаның шығыс кодтары орналасатын пакетте “DrawingView” классын құрамыз. Бұл класс мынадай түрде болады:

public class DrawingView extends View

{

}

Классқа конструктор әдісін қосамыз:

public DrawingView(Context context, AttributeSet attrs){

super(context, attrs);

setupDrawing();

}

XML макет файлына қолданушылық көрінісі экземплярын қосамыз. Классқа көрсетілген комекші әдісті қосу:

private void setupDrawing(){

}

Қосымшаның жолдық түрақтылары сақталатын XML файлына (res/values/strings.xml) мынадай жолдар енгіземіз:

<string name="start_new">New</string>

<string name="brush">Brush</string>

<string name="erase">Erase</string>

<string name="save">Save</string>

<string name="paint">Paint</string>

Сурет салу бетінің интерфейсін құратын “pain.xml” файлың құрамын мындай турге келіреміз:

<LinearLayout 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"

android:background="#FFCCCCCC"

android:orientation="vertical"

tools:context=".MainActivity" >

</LinearLayout>

Негізгі Linear Layout ішіне мынадай батырмалар енгіземіз:

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="50dp"

android:layout_gravity="center"

android:orientation="horizontal" >

</LinearLayout>

Бұл Layout ішінде қалам, сақтау батырмасы, өшіргіш батырмасы, жаңа сурет батырмасы құрылады. Бұл батырмалар үшін келесі суреттер қолданылады:

- жаңа сурет батырмасы;

- қалам;

- өшіргіш;

- сақтау батырмасы.

Әр ImageButton элементін әр қайсысының өзіне тән баптауларын ішкі Linear Layout ішіне орналастырамыз. Келесі жазбада «жаңа сурет» батырмасының құрылуы көрсетілген:

<ImageButton

android:id="@+id/new_btn"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:contentDescription="@string/start_new"

android:src="@drawable/new_pic" />

Негізгі Linear Layout ішінде біз құрған көрінс классы экземплярын қосамыз:

<com.example.drawingfun.DrawingView

android:id="@+id/drawing"

android:layout_width="fill_parent"

android:layout_height="0dp"

android:layout_marginBottom="3dp"

android:layout_marginLeft="5dp"

android:layout_marginRight="5dp"

android:layout_marginTop="3dp"

android:layout_weight="1"

android:background="#FFFFFFFF" />

Осындай әдіспен «сурет салу» бетінің негізгі қасиеттері тағайындалды, сурет салуға қажетті ақ фон және Java-мен қарым қатынас орнатуға арналған идентификаторы енгізілді.

Түстер палитрасын құру үшін біз негізгі Linear layout ішінде тағы бір Linear Layout қосамыз. Бұл элемент екі батырмалар қатарынан тұрады. Жаңа құрылған макет ішіне келесідей жолдар енгіземіз:

<!-- Top Row -->

<LinearLayout

android:id="@+id/paint_colors"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal" >

</LinearLayout>

<!-- Bottom Row -->

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal" >

</LinearLayout>

Бірінші жол құрамында идентификатор орналасқан, себебі оны біз Java-да қолданамыз, яғни, қосымша қосылғанда бірінші түсті қабылдау және бірден сурет салуға кірісе аламыз. Әр түс үшін келесідей ImageButton құрылымын қолданамыз:

<ImageButton

android:layout_width="@dimen/large_brush"

android:layout_height="@dimen/large_brush"

android:layout_margin="2dp"

android:background="#FF660000"

android:contentDescription="@string/paint"

android:onClick="paintClicked"

android:src="@drawable/paint"

android:tag="#FF660000" />

Жоғарыда істелген жұмыс нәтижесінде біз мынадай сурет салу интерфейсіне (сурет 15) ие боламыз:

Сурет 15. Сурет салу бетінің интерфейсі

4.5 Қосымшаның бағдарламалық коды

Қосымша құрылғыға орнатылып іске қосылған кезде бірінші болып негізгі меню беті ашылады. Негізгі меню басқа беттерді шақыруға арналған батырмалармен жабдықталған. Бұл бет бағдарламалық коды MainActivity.java файлында жазылған. Бұл бетте орналасқан әр батырма өзіне сәйкес беттерді шақыруға дағдыланған (cурет 16).

Бұл мысалда «Әліппені үйрену» бетінің бір элементінің баптаулары көрсетілген. Олардың әрқайсысына тоқталсақ:

android:id”@+id/imageButton2” – бағдарламалау кезінде компонентке қатынау мүмкіндігін беретін, компонентке берілетін өзіндік ID.

android:layout_width=”36dp”, android:layout_height=”36dp” – экран элементінің ұзындығы мен енін орнатуға арналған тэг. Біздің мысалға сәйкес элементтің ұзындығы мен ені 36dp-ға тең. Dp (Density-independent Pixels) – әр түрлі экран өлшемдерінде бірдей түрде көрсетілуге мүмкіндік беретін өлшем бірлік болып табылады.

SecondActivity.java
Activity.java
Paint.java
Piano.java
Негізгі меню
Public void onClick(View v){ switch (v.getId()) Case R.Id.imageButton: ………….. }
ImageButton1 Intent intent=new Intent (this, SecondActivity.class)
ImageButton2 Intent intent1=new Intent (this, Activity3.class)
ImageButton3 Intent intent2=new Intent (this, paint.class)
ImageButton4 Intent intent3=new Intent (this, piano.class)
StartActivity(Intent…);


Сурет 16. Беттерді шақыру

4.6 Программалық жабдықтарды тестілеу. Программалық жабдықтардың сапасын тексерудің түрлері

Программалық жабдықты тестілеудің мақсаты бұл құрылған программаның бастапқы техникалық тапсырмаға сәйкес толық орындалуын тексеру және оны қолданысқа енгізгенге дейін мүмкін болатын қателерін табу болып есептеледі.

Тестілеу процесі программалық жабдыққа қатысты жасалатын валидация және верификация процесстерінің құрамына кіреді.

Халықаралық ISO 9000:2000 стандарты бойынша, валидация (validation)- программалық жабдықтың қолданушының немесе тапсырыс берушінің нақты талаптарын дәл және толық қанағаттандыратындығын объективті фактілер негізінде дәлелдеу үшін жүргізілетін процесс. Верификация (verification)- программалық жабдықтың сапасына қатысты ішкі ережелер мен стандарттарға спецификациялардың сақталған- сақталмағандығына тексеру үшін жасалады. Мысалы, программалық жабдықты орындауға жіберіп, белгілі бір мәндер үшін шыққан нәтиженің дұрыс-бұрыстығын тексеру валидация процесіне жатады, ал программаны орындауға жібермей-ақ, оның кодын рецензиялау, синтаксистік жазылуларын тексеру және т.б. верификациялау процесіне кіреді.

Қазіргі уақытта программалық жабдықтардың сапасын тексеру үшін жүргізілетін тестілеу процесстерін классификациялау бірнеше категориялар бойынша жасалған.

Программалық жабдықтың өзін тестілеу объектісі ретінде қарастыратын тестілеу процесстеріне келесілер жатады:

- функционалдық тестілеу (functional testing);

- өнімділікке тестілеу (performance testing);

- жүктемелерге тестілеу (load testing);

- стресс-тесілеу (stress testing);

- тұрақтылыққа тестілеу (stability / endurance / soak testing);

- юзабилити-тестілеу (usability testing);

- қолданушының интерфейсін тестілеу (UI testing);

- қауіпсіздікке тестілеу (security testing);

- локализацияға тестілеу (localization testing);

- үйлесімділікке тестілеу (compatibility testing).

Тестілеу процесінің автоматтандырылу дәрежесіне байланысты келесі топтарға бөлінеді:

- қолмен тестілеу (manual testing);

- автоматтандырылған тестілеу (automated testing);

- жартылай автоматтандырылған тестілеу (semiautomated testing).

Тестілеу процесінде қолданылатын теориялық әдіс- тәсілдерге немесе механизмдерге байланысты төмендегідей түрлері анықталған:

- «қара жәшік» әдісі бойынша тестілеу (black box);

- «ақ жәшік» әдісі бойынша тестілеу (white box);

- « сұры жәшік » (grey box).

Программалық жабдықтың құрамына кіретін компоненттерінің бір- біріне тәуелсіздігін немесе өзара байланыстарын тексеру мақсатында жүргізілетін тестілеу түрлері:

- компоненттік (модульдік) тестілеу (component/unit testing);

- интеграциялық тестілеу (integration testing);

- жүйелік тестілеу (system/end-to-end testing).

Программалық жабдықты уақытқа қатысты алғанда тестілеудің төмендегідей түрлері қолданылады:

- альфа-тестілеу (alpha testing)

- қабылдау кезіндегі тестілеу (smoke testing)

- жаңа қызметтерге тестілеу (new feature testing)

- регресстік тестілеу (regression testing)

- тапсыру кезіндегі тестілеу (acceptance testing)

- бета-тестілеу (beta testing)


Қорытынды

Android операциялықжүйесіне арналған “балаларға арналған сөйлейтін әліпби қосымшасын” құру сәтті жүзеге асты. Пайда болған алдағы күндерде кең ақымды қолданысқа ие болатындығына сенімдімін.

Алынған өнімді қолданыста қадағалау өте жақсы нәтижелерге әкелді. Кішкентай бүлдіршін қолданушыларымыз жастарына қарамай қосымшаны қолдануды әдістерін тез уақытта, әрі оңай меңгерді. Қосымшаның интерфейсі тек ашық түсті, түрлі түсті стильде болғандықтан бүлдіршіндердің қызушылығы арта түседі деген ойдамын. Жас қолданушыларымыз бұл қосымша арқылы әліппені ғана үйреніп қоймай: сурет салу қабілеттерін арттыруға, сүікті әуендерін ойнауға, қосымша құрамындағы логикалық ойынның арқасында есте сақтау қабілетін арттыруға мүмкіндіктері бар.

Қосымша құрылымы өзіне тән ерекшеліктерге ие. Қосымша түрлі функцияларды қамтитын бағдарламалық кешеннен тұрады. Яғни, Андроид ОЖ-не арналған электрондық әліппе қосымшасының жаңалығы – бір қосымша құрамында бірнеше қосымшаға тән қасиеттер жинақталған. Қосымшаны іске қосып, қолдану кезінде жас қолданушылар беттер арасында еркін орын ауыстыра алады.

Қосымша бес беттен тұрады. Бірінші бет – негізгі меню. Негізгі менюде әліппені уйрену, сурет салу парағы, ойын ойнау және әуен ойнау беттеріне сілтейтін батырмаларды көруге болады. Екінші бет – әліппені үйрену беті. Негізгі беттегі “әліппені үйрену” батырмасын басу арқылы әліппені үйрену бетіне көшеміз. Бұл бетте қазақ әліпбиінің қырық екі әріпі кесте түрінде орналасқан. Әр әріпті басу арқылы басылған әріптің атауынан және сол әріпке байланысты создерден тұратын аудиожазбаны ести аламыз. Үшінші бет – сурет салу парағы. Бұл бетте бүлдіршін экранға саусақпен жанасу арқылы сурет сала алады. Төртінші бет – ойын ойнау беті. Бұл бетте бүлдіршіннің еске сақтау қабылеттін арттыруға арналған ойын құрастырылған. Бесінші бет – әуен ойнау. Әуен ойнау бетінде жеті нотадан тұратын батырмалы музыкалақ аспап орналасқан. Бүлдіршін бұл бетте өзіне керек аспапты таңдап әуен ойнай алады.

Android операциялық жүйесіне арналған «балаларға арналған сөйлейтін әліпби» мектепке дейінгі бүлдіршіндерге заманауи технологияларды қолдана отырып қазақ әліппесін оңай меңгеруге, қосымша құрамындағы логикалық ойндардың көмегімен логикалық қабілеттілігін арттыруға мүмкіндік береді. Сонымен қатар, Android операциялық жүйесіне арналған «балаларға арналған сөйлейтін әліпби»қосымшасында смартфон экранына жанасу арқылы сурет салу және жеті нотадан тұратын мұзыкалық аспап терезелері қарастырылған. Яғни, Android операциялық жүйесіне арналған «балаларға арналған сөйлейтін әліпби»қосымшасы тек әліппені үйретіп қоймай, бүлдіршіннің суретшілік және музыкалық қабілеттерін арттыруға септігін тигізеді.

Қазіргі таңда сенсорлы экранды телефондар, планшеттер және т.б құрылғыларға арналған мобильдік қосымшалар кең ауқымды қолданысқа ие болғандықтан мобильдік қосымшалар құру өзекті мәселе болып табылады. Отандық бағдарламашылармен де құрылған мобильдік қосымшалар саны да аз емес. Олардың бірі NUROTAN.EDU.KZ қосымшасы болып табылады.

NUROTAN.EDU.KZ мобильдік қосымшаның көмегімен алдағы болатын барлық тренингтер туралы хабардар болуға, өздеріңізді қызықтыратын тренингтерге өтінім бере алатын, партияның соңғы жаңалықтарын оқи алатынболасыздар, сондай-ақ Facebook пен Twitter ресми таспаны және басқа да көптеген мәліметтерге қол жеткізетін мүмкіндіктер бар.

Тағы бір мысал ретінде «Real Dombra» алуға болады. Бұл қосымша ұлттық аспапта ойнауға үйретеді, оның көмегімен кез келген адам сүйікті күйін шерте Бұл қосымша ұлттық аспапта ойнауға үйретеді, оның көмегімен кез келген адам сүйікті күйін шерте алады.

Android операциялық жүйесіне арналған “балаларға арналған сөйлейтін әліппе” қосымшасы да бүлдіршіндеріміздің сүйікті құралдарының бірі болуы кәміл.

Бала тәрбиесіне тек ата-анасының ғана емес, сонымен қатар бүлдіршіннің өмір сүретін ортасы, қоршаған ортасы,тіпті, қолданатын заттары, ойнайтын ойыншықтары және т.б басқа факторлар әсер ететіні мәлім. Сондықтан бұл қосымша тек әліппені үйретіп қана емес, бүлдіршіндеріміздің мінез құлқының дұрыс қалыптасуына, мектепке дейінгі дайындығын жеделдетуге үлкен әсерін тигізеді деп ойлаймын.

Осындай оқыту бағдарламаларының көп болуы өскелең ұрпақтың уаұытын тиімді пайдалану, зиянды қылықтардын аулақ болу, және білімге деген қызығушылықтарын арттыруға септігін тигізеді. Сондықтан нақ мобильдік қосымшалар дайындау бағытында мамандар дайындауға бағыттарлған оқыту курстарының да болуы артық етпейді.

Соңғы жылы ұялы телефондарының сатылу көрсеткіші бірнеше мәртеге өскен. Осы мәліметтер үнемі көтеріліп, қазіргі уақытта бұл көрсеткіш әлі өзгермеген. Ұялы қосымшаларының өзекті және маңызды болуы айқын. Бағдарламалық қамсыздандырулар мен ұялы қосымшаларды дайындаушыларға сұраныс ұсынысты басып озады.

Іс жүзінде дипломдық жобаны тестілеуінен алынған нәтижелерден құрастырылған бағдарламалық қамсыздандырудың жұмысқа қабілеттілігі мен тиімділігі жөнінде жақсы қорытынды шығаруға болады.

Студенттің дипломдық жұмысы дипломдық жобалауында құрылған тапсырмаларға сәйкес орындалды және автордың қойған мақсаттарына толықтай жауап береді. Жоспар бойынша алгоритмнің орындалуы іске асырылды.

Дипломдық жұмысқа қойылған тапсырма толық көлемде орындалды.


Қолданылған әдебиеттер тізімі

1 Alto P. Google’s Android becomes the world’s leading smart phone platform. URL: http://www.canalys.com/pr/2011/r2011013.html (дата обращения: 23.03.2011).

2 Android Developer Guide. Официальный сайт для разработчиков Android. URL: http://developer.android.com/guide/basics/what-is-android.html (дата обращения: 23.03.2011).

3 Android Overview. URL: http://www.openhandsetalliance.com/android_overview.html (дата обращения: 23.03.2011).

4 Android Patterns - Interaction Design & Usability. URL: http://www.androidpatterns.com/ (дата обращения: 01.05.2011)

5 Android SDK. Официальный сайт для разработчиков Android. URL: http://developer.android.com/sdk/index.html (дата обращения: 23.03.2011).

6 Beckley A. Android design guidelines, version 1. URL: http://www.mutualmobile.com/wp-content/uploads/2011/03/MM_Android_Design_Guidelines.pdf (дата обращения: 01.05.2011)

7 Burnette E. Hello, Android. Introducing Google’s Mobile Development Platform. - Pragmatic Programmers, LLC, 2008.

8 Conder S., Darcey L. Learn Java for Android Development. URL: http://mobile.tutsplus.com/series/learn-java-android-development/ (дата обращения: 20.04.2011).

9 DiMarzio J. Android, A Programmers Guide. - The McGraw-Hill. 2008

10 Официальный сайт Eclipse. URL: http://www.eclipse.org/ (дата обращения: 23.03.2011).

11 Gramlich N. andbook. Android Programming. URL: http://andbook.anddev.org/files/andbook.pdf

12 Java. Официальный сайт Oracle. URL: http://www.oracle.com/technetwork/java/javase/downloads/index.html (дата обращения: 23.03.2011).

13 Rumbaugh J. Getting Started – Using Use Cases to Capture Requirements. // Journal of Object Oriented Programmi


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: