Google web services в Android програмах
-
Upload
htc-android-developers-contest -
Category
Education
-
view
1.505 -
download
0
description
Transcript of Google web services в Android програмах
![Page 1: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/1.jpg)
![Page 2: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/2.jpg)
ArtfulBits inc.
• aiMinesweeper. Первая в Украине игра для Android.
• Android custom components
• Anti-piracy движение
• Готовые решения для Android-разработчиков
![Page 3: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/3.jpg)
Почему Android?
• Открытый исходный код
• Поддержка со стороны Android community
• 60 000+ новых пользователей в день
• Managed (Java) & Native (JNI, C++) APIs
• «3dr party» прошивки
• Обильная документация
• Множество примеров
![Page 4: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/4.jpg)
Google maps
• Google сервер
• XML – APIs
• Открытый доступ к
картам и навигации
• Частые обновления со
спутника
![Page 5: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/5.jpg)
Архитектура Android UI
![Page 6: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/6.jpg)
Maps for Android
![Page 7: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/7.jpg)
Google maps integration
• Получение API key от Google
• Google map APIs должы поддерживаться
телефоном
• Добавление прав доступа (permissions) в
AndroidManifest.xml
• Добавление MapView в визуальное дерево
• Унаследование функционала MapActivity
![Page 8: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/8.jpg)
Библиотека Google Maps
• Перевод гео-координат в координаты экрана посредством
интерфейса Projection, доступного через MapView.getProjection()
• Доступно 2 реализации абстрактного класса Overlay:
MyLocationOverlay и ItemizedOverlay
• Рекурсивный вызов Overlay.draw() получает экземпляр MapView
для определение координат отрисовки
![Page 9: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/9.jpg)
Отрисовка поверх карты
Объявление своего слоя:
public class CustomOverlay extends Overlay{
...
public void draw(Canvas canvas, MapView mapView, boolean shadow)
{super.draw(canvas, mapView, shadow);mapView.getProjection().toPixels(m_geoPoint,
m_screenPoint);canvas.drawCircle(m_screenPoint.x, m_screenPoint.y,
10, m_paint);}
}
![Page 10: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/10.jpg)
Жизненный цикл Activity
public class AppActivity extends MapActivity{
private MyLocationOverlay m_overlay;
@Overrideprotected void onCreate(Bundle icicle){
super.onCreate(icicle);setContentView(R.layout.main);MapView map =
(MapView)findViewById(R.id.mapView);m_overlay = new MyLocationOverlay(this, map);map.getOverlays().add(m_overlay);
}
@Overrideprotected void onResume(){
super.onResume();m_overlay.enableMyLocation();
}
@Overrideprotected void onPause(){
super.onPause();m_overlay.disableMyLocation();
}
@Overrideprotected boolean isRouteDisplayed(){
return false;}
}
![Page 11: Google web services в Android програмах](https://reader036.fdocument.pub/reader036/viewer/2022082704/558b1b1ad8b42a2c1a8b470f/html5/thumbnails/11.jpg)
Links
• Artfulbits products:
http://www.artfulbits.com/Products/
• SDK & Samples: http://developer.android.com
• Android source: http://source.android.com/