КУРСОВ ПРОЕКТ

29
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – ГАБРОВО Факултет: "Електротехника и електроника" Катедра: „Компютърни системи и технологии” _____________________________________________________________ ____________ К У Р С О В ПРОЕКТ На тема:Управление на мобилни телефони с операционна система Android Факултет: Електроника и електротехника Катедра: Компютърни системи и технологии ~ 1 ~

Upload: stanimir-vrajilov

Post on 29-Nov-2014

191 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: КУРСОВ ПРОЕКТ

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – ГАБРОВО

Факултет: "Електротехника и електроника" Катедра: „Компютърни системи и технологии”

_________________________________________________________________________

К У Р С О В ПРОЕКТ

На тема:Управление на мобилни телефони с операционна система Android

Факултет: Електроника и електротехника

Катедра: Компютърни системи и технологии

Разработил:

Ръководител:_______________

~ 1 ~

Page 2: КУРСОВ ПРОЕКТ

Съдържание1.Векторна графика.......................................................................................................................3

1.1Векторна компютърна графика...................................................................................................4

1.2Изображение........................................................................................................................5-7

2.Среди за обработка на векторната графика..............................................................................9

2.1CorelDRAW....................................................................................................................................9

2.2 Adobe Photoshop....................................................................................................................10-11

2.3AutoCAD......................................................................................................................................12

3.Основни формати за векторна графикa…………………………………………………13

3.1WMF...............................................................................................................................................13

3.2DXP................................................................................................................................................13

3.3DRW.............................................................................................................................................13

3.4 CDR.............................................................................................................................................13

3.5WPG............................................................................................................................................13

1.Теоретична част~ 2 ~

Page 3: КУРСОВ ПРОЕКТ

1.1 Предназначение

Andrdoid е мобилна операционна система, спонсорирана от Google и

предназначена за последните поколения телефони и смартфони,

конкурираща се с много от възможностите, които предлагат Windows

Mobile и платформата на Apple с тяхната серия iPhone. Различното при

Android е, че операционната система е с открит изходен код и всяка

компания може да разработва приложения за тази платформа, която

впоследствие да продава на потребителите онлайн.

Android телефоните имат интеграция с голяма част от приложенията на

Google, най-известните от които са навигацията посредством Google Maps.

Повече производители на телефони залагат на Android именно заради

нейната гъвкавост и функционалност. Най-големите производители на

Android смартфони са HTC, LG, Samsung, Motorola, Dell, Philips, Acer и

други.

Google I/O- предтавяне на Android 2.2.

Новите телефони, базирани на Android, ще поддържат Flash версия10.1.

Това дава възможност потребителите на такива устройства да гледат

всевъзможни сайтове и да играят Flash игри, които не се поддържат на

други мобилни платформи като например iPhone. Благодарение на

приложенията и апликациите, написани за Android 2.2, пратформата има

най-бързия вграден уеб браузър в сравнение със старата версия и Apple

iPad. Приложенията вече ще могат да се инсталират не само на вградената

памет, но и на допълнителни SD карти.

1.1.1 G1 смартфон

С голяма SD карта това ограничение е премахнато - може да

съхранявате програмите си на 16GB или 32GB носители, достъпни в

момента. Мястото вече е неограничено поради това,че може на се

~ 3 ~

Page 4: КУРСОВ ПРОЕКТ

използва повече от една разширителна памет карта. Добавена е и

поддръжка за корпоративни приложения като Exchange сървъри, което

позволява достъп до служебната си поща, календара и списъка с адреси.

Допълнително Android телефон поддържа PIN номера и може да бъде

изтриван отдалечено.

Android телефона може да бъде използван като точка за достъп на други

устройства до Интернет.

С тази нова функционалност един Android телефон се настройва така, че

всички устройства, поддържащи безжична мрежа, като лаптопи, iPad,

игрални конзоли, да ползват тарифния план на телефона ви за достъп до

Интернет.

Обновяването на инсталираните приложения е значително улеснено.

Вече може да се добавят всички инсталирани програми с един бутон.

Допълнително може отделни приложения да се обновяват сами, когато се

появи тяхна нова версия онлайн.

За програмистите са предназначени програмни библиотеки- Cloud Push

API. С тяхна помощ вместо да се активират събития във фонов режим,

приложенията написани за Android могат да получават отдалечени

съобщения директно от онлайн приложения. Данните минават през

Интернет и достигат Android автоматично. Тази функционалност е

достъпна с произволно съдържание - координати на карти, телефонни

номера, текстови съобщения и други.

Нова система за създаване резервни копия на потребителските данни

позволява на Android програмистите да създават приложения с опции за

запазване на информацията. Android разпознава кои програми са купени и

инсталирани посредством Google Account.

1.1.3 Поддръжка на Flash AIR

~ 4 ~

Page 5: КУРСОВ ПРОЕКТ

Фиг.1.1 Adobe Air Aplication

Adobe позволява да се стартира произволни AIR програми на Android.

Всички AIR приложения работят като програми, писани директно за

Android. Едно приложение, написано на Adobe AIR технологията, може да

работи на произволна десктоп среда, а с новата функционалност - и на

Android мобилни устройства.

Основните приходи на печалба за Google са техните рекламни канали,

съобщения, специално разработени за платформата Android.

Написването на програми за Android може да осигури огромен рекламен

пазар за всички кадърни програмисти, които не се страхуват от

предизвикателства.

1.2 Структура на OC Android

~ 5 ~

Page 6: КУРСОВ ПРОЕКТ

Фиг.1.2 Структура на OC Android

На фигурa 1.2 се вижда структурата на софтуера. На дъното на

структурата, близо до силиция, е Linux ядро осигуряващо

мултитаскинг, различни системни услуги и управление на процесите.

То управлява всички драйвери от ниско ниво и служи като Hardware

Abstraction Layer (HAL). Достъпът до всички устройства от ниско

ниво трябва да минава през Android фреймуорка, а не през Linux. Над

ядрото се намират слоевете на Android „runtime" и "support

libraries".

~ 6 ~

Page 7: КУРСОВ ПРОЕКТ

Runtime слоят се състои от Dalvik Virtual Machine (DVM) и core

libraries. DVM е „преводач" на биткодове, който осигурява независимост

на Android приложенията, както при Java ME. Той е оптимизиран за

вградени системи. Използва например регистър-базирани обаждания и

съхранение. Освен това  core libraries, които изпълняват Java

способностите, са написани на "native" код. Важно е, че устройствата могат

да изпълняват няколко искания на DVM, като всяко от тях контролира

отделен процес. Т.е устройството може да ползва няколко приложения

едновременно. Все пак Android e оптимизиран да работи на един екран.

- Suport - библиотеките са написани на C/C++ и осигуряват множество

услуги. Всичките са от open-source проекти.

- SQLite - осигурява по-лека работа на релационни услуги на базата с

данни.

- SGL - се занимава с 2D векторната графика.

- WebKit -който е в сърцето на Safari браузъра на iPhone, изпълнява

ролята на браузър. Всяко Android приложение може да има достъп до

файловата система на софтуера, но не и до файлове, които се използват от

други приложения.

Следващият слой на софтуера е зает от фреймуорковете на приложенията.

Те са Java базирани и осигуряват голям набор от услуги за мобилните

приложения.

-     Activity Manager-a се грижи да всички детайли от жизнения цикъл на

приложенията, включва и механизъм за запазване състоянието им.

-          View System се справя с много от елементите на потребителския

интерфейс, включително с действията на потребителя.

~ 7 ~

Page 8: КУРСОВ ПРОЕКТ

-         Resource Manager се грижи за ресурсите – например графичните

файлове, необходими на интерфейса

-         Location Manager следи позицията на устройството

-         Telephony Manager се грижи за входящите и изходящи повиквания

Тези фреймуоркове позволяват да се променя поведението на даден клас,

или за засилване възможностите му.

1.3 Функционалност

1.3.1 Telephony Manager

Telephony Manager е най-съвременното решение за управление на

съдържанието в мобилни телефони, както на по-старите телефони, така и

на телефоните с OC Android. За телефони с Android се поддържа работа с

данни от телефонната книга, календар, списък задачи, регистър на

позвъняванията, галерии (включително, работа с флаш карта, създаване на

списъци за възпроизвеждане, и работа с видеоклипове и логота), SMS и

MMS, приложения и игри JAVA, режими. Phone Manager за телефони на

платформа Android OS позволява управление на телефона през компютър.

Започвайки от лиценз Бизнес са достъпни и възможности за

импорт/експорт на данни.

~ 8 ~

Page 9: КУРСОВ ПРОЕКТ

1.3.2 Жизнен цикъл на MIDP application

Фиг.1.3 Жизнен цикъл на MIDP application

Фиг.1.3 Показва жизнения цикъл на MIDP приложение (MIDlet).

Един мобилен телефон може да има черно-бял дисплей с резолюция 96х54

пиксела, 128 KB RAM и 256 KB неволатилна памет. На такава ограничена

платформа само един MIDlet може да изпълнява команди в даден период

от време. Всеки MIDlet прекарва по-голямата част от жизнения си цикъл

сменяйки 2 състояния – „активно", когато то работи и „в пауза", когато

телефонът го изключва, за да обработи дадено обаждане. Дори тогава,

обаче, MIDlet-a не е напълно неактивен, в смисъл, че той може да си

назначава работа, да извършва дадени операции които не се нуждаят от

интерфейса. Проблем при писането на MIDlet-и е, че неговият startApp

метод е извикван всеки път, когато телефонът го връща в активно

~ 9 ~

Page 10: КУРСОВ ПРОЕКТ

състояние. Това усложнява дизайна на MIDlet-a, тъй като често

инициализиращият е поставян в startApp метода. Причината за

локализирането на кода там е, че спецификацията изисква в случай на

грешка в конструкторския код софтуерът да хвърли fatal exception. Това

поведение отхвърля възможността за добро възстановяване или в

действителност да се покаже на потребителя какво се е объркало. Ето защо

много MIDlet приложения слагат Boolean флаг – за да може при бъдещи

извиквания на startApp инициализиращият код да бъде подминат.

Друго усложнение е, че няма установен механизъм за запазване на

състоянието на даден MIDlet докато е в пауза. Трябва да се запази

стойностата на ключовите променливи в RMS-а и после да се възстановят,

когато приложението стане отново активно.

~ 10 ~

Page 11: КУРСОВ ПРОЕКТ

1.3.4 Жизнен цикъл на Adnroid приложение

Фиг.1.4 Жизнен цикъл на Adnroid приложение

Фигура 1.4. Показва жизнения цикъл на Android приложение, наричано

Activity. Диаграмата показва по-сериозните хардуерни способности на

съвременните устройства. В наши дни мобилните телефони от най-висок

клас могат да имат до 1GB RAM и до 16GB флаш памет. Те имат по-бързи

~ 11 ~

Page 12: КУРСОВ ПРОЕКТ

процесори, по-големи дисплеи, камери, GPS и т.н. Допълнителните

състояния в жизнения цикъл на приложенията не само се справят с някои

ограничения на MIDP спецификациите, но и осигуряват поддръжка на

няколко приложения едновременно.

1.3.5 Жизненият цикъл на дадено Activity

То започва с извикване на onCreate, който се справя със зададените

задачи и статичните глобални инициализации. onStart() методът започва

видимия жизнен цикъл на дадено Activity, като показва своя интерфейс

екран на дисплея. Извикването на onResume() кара приложението да

започне интеракция с потребителя. Приложението на преден план и в

активно състояние. Ако друго приложение трябва да излезе на преден план

Android извиква onFreeze() метода да запази състоянието на това

приложение. Android осигурява методи за поддръжка, с които лесно може

да се запазят и извикват елементи в обекти, наречени "Bundles". След като

се запази контекста на приложението, onPause() бива извикан.

Приложението спира всякакви анимации, предава променливите си в

постоянната памет и влиза в пауза състояние. В този момент интерфейс

прозорецът на другото приложение може да излезе на преден план и да си

контактува с потребителите.

~ 12 ~

Page 13: КУРСОВ ПРОЕКТ

2.Практическа част

2.1 Много нови приложения използват SMS като платформа за

получаване на информация. Реалността показва, че при поискване на

филми и др. изискват от потребителите да изпратят предварително

подготвен SMS. По същия начин някои приложения изпращат данни на

потребителя, използвайки SMS. Ще разгледам как подобно приложение

може да бъде построено, използвайки платформата на Андроид.

Андроид API подпомага развитието на приложения, които могат да

изпращат и получават SMS съобщения. Емулаторът на Андроид не

поддържа изпращането на тези съобщения в момента. Но този емулатор

може да получава SMS. Разглеждаме поддръжката на SMS при Андроид и

чрез малка програма, която преслушва получените SMS на

устроиството( на емулатора) ще покаже тези съобщения като

уведомление.

Резултатът от действието на Андроид е завършено с помощта на целите и

целта на получателите. Целите на съобщението( или излъчванията) са

резултатът и намеренията на получателите, които отговарят на събитието.

Целите на получателите(приемниците) действат като обработчици на

данните.

Нека да дефинираме целта на приемника, която може да се справи с

резултата от получения SMS:

package com.wissen.sms.receiver;

~ 13 ~

Page 14: КУРСОВ ПРОЕКТ

/*** The class is called when SMS is received.*/public class SMSReceiver extends BroadcastReceiver {

@Overridepublic void onReceive(Context context, Intent intent) {// TODO}}

Трябва да се конфигурира тази цел на приемника, за да получи SMS. За

получаване нa SMS, целта на Андроид е да се дефинира като

„android.provider. Telephony.SMS_RECEIVED”. Получателят(приемникът)

може да се конфигурира в AndroidManifest.xml както следва:

<receiver android:name=".receiver.SMSReceiver" android:enabled="true"><intent-filter><action android:name="android.provider.Telephony.SMS_RECEIVED" /></intent-filter></receiver>

За получаване наSMS, приложението се нуждае също от определено

разрешително за получаване наSMS. Разрешението може да се настрои в

AndroidManifest.xml както следва:

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>

Сега приемникa на целите е напълно готов да бъде призован, когато

Андроид устройството ще получава SMS. Единственото нещо от което има

нужда сега е да се достави получения SMS и да се покаже SMS текста като

нотификация.

Това е кода на приемника на целта, който ще чете SMS от приемника на

целта и ще покаже първото съобщение(pdu).

~ 14 ~

Page 15: КУРСОВ ПРОЕКТ

public void onReceive(Context context, Intent intent) {Bundle bundle = intent.getExtras();

Object messages[] = (Object[]) bundle.get("pdus");SmsMessage smsMessage[] = new

SmsMessage[messages.length];for (int n = 0; n &lt; messages.length; n++) {smsMessage[n] = SmsMessage.createFromPdu((byte[])

messages[n]);}

// show first messageToast toast = Toast.makeText(context,"Received SMS: " + smsMessage[0].getMessageBody(),

Toast.LENGTH_LONG);toast.show();}

~ 15 ~

Page 16: КУРСОВ ПРОЕКТ

Полученият СМС от Андроид устройството е под формата на

pdus(описание на единица протокол). Class SmsMessage (Клас SMS

съобщение) се дефинира в android.telephony.gsm package, може да запази

информацията за СМСа. The class Sms Message може също да се използва

за създаване на Sms Message обект от получения pdus. Джаджа като тостер

се използва да покаже съдържанието на SMS като нотификация.

Пускане на програмата:

Само оставащото нещо сега стартира приложението и изпраща SMSа до

емулатора. SMS съобщение може да се изпрати към емулатора в DDMS

затъмнена перспектива(Dalvik Debug Monitor Service). Прозорецът

„ Емулатор контрол“ може да се използва за изпращане на SMS съобщения

(входящият номер трябва да се осигури, който може да е каквото и да е).

Приложния екран, показан в действие

~ 16 ~

Page 17: КУРСОВ ПРОЕКТ

3.Версии

1.1 – пусната на 9 февруари 2009г.

1.5 (Cupcake) - базирана на Linux Kernel 2.6.27 – пусната на 30 април 2009г.

1.6 (Donut) - базирана на Linux Kernel 2.6.29 – пусната на 15 септември 2009г.

2.0/2.1 (Eclair) - базирана на Linux Kernel 2.6.29 – пусната на 26 октомври 2009г. (2.0), 12 януари 2010г. (2.1)

2.2 (Froyo) - базирана на Linux Kernel 2.6.32 – пусната на 20 май 2010 г.

3.0 (Gingerbread) - базирана на Linux Kernel 2.6.33 or 34 – по предварителни данни се очаква края на 2010г.

~ 17 ~

Page 18: КУРСОВ ПРОЕКТ

Използвана литература

1.Google Projects for Android

(code.google.com/android/documentation.html)

2. Android (operating system)-Wikipedia,the free encyclopedia

(en.wikipedia.bg/wiki/Android)

3. Дискусии и взаимопомощ относно телефони с Google Android

(www.androidbg.com/forum/)

~ 18 ~

Page 19: КУРСОВ ПРОЕКТ

4.Ръководство за тези, които за пръв път са

сблъскват с Android OS

Това ръководство е за хора, които за пръв път се сблъскват с Android OS,

с цел да има яснота за това как се извършват основни операции като

инсталиране на програми, задаване на рингтон, деинсталиране на

програми, спиране на мобилния интернет, следене на трафика на мобилния

интернет и други.

Важно:Ъпдейтването на версията на операционната система се прави само

от производителя на устройството и е индивидуано за всеки различен

модел (това че е излязъл ъпдейт на Android OS до определена версия за

някой модел не значи, че той става и за вашия телефон). Инсталирането на

по-висока версия на операционната система преди официалния ъпдейт от

производителя става чрез руутване на телефона и инсталиране на custom

ROM, ако има такъв. Операцията крие рискове от повреда на телефона.

4.1.Инсталираненапрограми(игри)

След като се свали .apk файла на програмата (това е изпълним файл, който

отговаря на .exe при Windows), трябва да се качи на мемори картата на

телефона (чрез bluetooth, USB, card reader). За да се види какво има на

мемори картата трябва да се изтефли от маркета някои файл мениджър

(EStrong File Expolrer, ASTRO File Menager, Linda File Manager и много

други). Инсталирането на файл мениджър е необходимо поради това, че в

Android OS е нужен. Стартира се файл мениджър и търси .apk файла на

програмата, след намирането му се стартирва и накрая се потвърждава

инсталацията

4.2.Деинсталиране на програми

~ 19 ~

Page 20: КУРСОВ ПРОЕКТ

-Прави се от Settings/Application/Manade applications. Програмите свалени

от маркета могат да се деинсталират и директно от селекцията Downloads.

4.3.Задаване на mp3 като рингтон

– Има 2 начина за това:

1) Пускане избраната песен през приложениeтo Music натиска се бутона

Menu и от там Set as Ringtone. Този метод е по-подходящ за хора които по-

рядко си сменят рингтона и имат един рингтон за всички контакти.

2)Създава се папка под име Media на мемори картата. В папка Media

трябва да се направят още три папки под имената alarms, notifications и

ringtones. След това се поставя мр3-ките в съответната папка,

рестартирайте телефона и тези мр3-ките ще се появят в списъка с

мелодиите за звънене.

4.4.Инсталиране на програми на мемори картата

– това не е възможно, приложенията се инсталират на вградената памет

на телефона. Този проблем е решен в новата версия на Android OS – 2.2

Froyo.

Има вариант за инсталиране на приложенията на картата, но това минава

през руутване на телефона и инсталиране на custom ROM.

4.5.Следене на трафика

Следене мобилен интернет и спиране на мобилния интернет.

3G Watchdog (има я в маркета) е програма, с която може да се следи

трафика който е генериран през мобилния интернет. Може да има

разминаване между показанията на 3G Watchdog и фактурата на мобилния

~ 20 ~

Page 21: КУРСОВ ПРОЕКТ

оператор, защото мобилните оператори имат минимално таксуване на

трафика.

Т.е. ако се навърти 550 КБ ,а минималното таксуване на оператора е на

1МБ, то тези 550КБ ще бъдат отчетени като 1МБ от мобилния оператор.

APNdroid, Toggle Data Widget (има ги в маркета) са програми, с които

може да се спре мобилния интернет.

При HTC Desire си има уиджет за това, намира се в Widget/Settings/Mobile

Network.

4.6.Прехвърляне на номерата от сим картата на телефона

- за да се прехвърлят абонатите от сим картата се отива в

приложението People, след това бутона Menu и тогава Import/Export и

импортвате от сим картата.

4.7.Прехвърляне на номерата от телефона на сим картата

- за това се изисква допълнителен софтуер, програмата се казва

Contact2Sim и я има в маркета.

Има начин и без допълнителна програма, но само един по един (може да се

ползва при добавяне на нов номер). Това става така влизате в

приложението People цъкате върху номера който искате да прехвърлите

после Menu/More/Save to SIM.

~ 21 ~

Page 22: КУРСОВ ПРОЕКТ

~ 22 ~