KNOW INTUIT, Лекция, Използване на възможностите на смартфона в приложения

9.5 Използване на вградената камера

  1. директен достъп до камерата;
  2. използване на Intents за извикване на съществуващо приложение.

Помислете за основните подходящи класове:

9.6 Взаимодействие със системи за позициониране

Системите за позициониране ви позволяват да определите местоположението в някаква координатна система, обикновено се определят географската ширина и дължина.

В допълнение към горните методи за позициониране е добавена възможност за използване на WiFi, Bluetooth и NFC сигнали, както и вътрешен сензор за по-точно геолокиране, особено на закрито.

В този раздел ще се интересуваме предимно от възможността за добавяне на възможност за определяне на координатите на устройството и работа с карти към приложения. Когато създавате приложения, които са наясно с текущото местоположение на Android, можете да се възползвате от GPS и мрежово местоположение (с помощта на доставчика на мрежово местоположение). Въпреки че GPS е по-точен, той не работи много добре на закрито (през повечето време), изразходва много енергия от батерията и скоростта на позициониране не винаги отговаря на очакванията на потребителя. Доставчикът на мрежово местоположение определя координатите с помощта на клетъчна кула и WiFi сигнали, може да работи както на открито, така и на закрито, консумира повече енергия от батерията и е по-бърз от GPS. За да получите координати в приложението, можете да използвате и двата метода или един от тях по избор.

Android предоставя на приложения достъп до възможностите за местоположение на мобилно устройство чрез класове в пакета android. местоположение. Централният клас на този пакет е класът LocationManager, който осигурява достъп до системни услуги заопределяне на координатите на устройството.

Картите могат да се добавят към приложения с помощта на Android API на Google Maps, който автоматично управлява достъпа до сървърите на Google Maps, зареждането на данни, показването на картата и жестовете с докосване на картата. Можете също да използвате извиквания на API, за да добавите маркери, полигони и външни прозрачни слоеве, както и да промените персонализирания изглед на отделни секции от картата.

Ключовият клас в Android API на Google Maps е класът MapView, който показва карта с данни, извлечени от услугата Google Maps. Когато MapView има фокус, той може да прихване натискания на клавиши и жестове с докосване, за да извърши автоматично панорамиране и мащабиране на картата и може да управлява мрежови заявки за повече плочки на картата. Този клас също така предоставя всички елементи на потребителския интерфейс, необходими за манипулиране на картата.

Android API на Google Maps не е част от платформата Android, но е наличен на всяко устройство в Google Play Store, работещо с Android 2.2 или по-нова версия чрез услугите на Google Play. За да може да интегрира Google Maps в приложения, Android SDK трябва да инсталира библиотеката на услугите на Google Play.

Повече подробности относно добавянето на възможности за геолокация към приложенията и използването на карти (Google Maps) се обсъждат в четвъртата част на лабораторната работа по тази тема.

9.7 Други сензори и предаватели

Повечето устройства с Android имат вградени сензори, които предоставят необработени данни с висока точност. Сензорите могат да бъдат полезни, ако трябва да регистрирате позицията и движението, въртенето на устройството в триизмерното пространство, както и променитепараметри на околната среда.

Сензорите могат да бъдат внедрени в хардуер или софтуер. Хардуерно реализираните сензори са физически елементи, вградени в мобилно устройство, те получават данни чрез директно измерване на някои свойства, като ускорение, сила на геомагнитното поле или промяна на ъгли. Софтуерно реализираните сензори получават своите данни от един или повече физически сензори и изчисляват стойността, която се очаква от тях.

Android предоставя набор от класове и интерфейси за работа със сензори. Тези класове и интерфейси са част от пакета android. хардуер и ви позволява да изпълнявате следните задачи:

  • определи кои сензори са налични на устройството;
  • дефиниране на индивидуални сензорни възможности като максимална стойност, производител, изисквания за мощност и разделителни способности;
  • събира данни от сензори и определя минималната честота, с която се събират данни;
  • свързване и изключване на слушатели на събития от сензори, събитията се състоят от промяна на стойностите на сензора.

За да работи със сензори, Android предоставя следните класове и интерфейси: