мережні операційні системи лаб6

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Лабораторна робота № 6 з курсу “ Мережні операційні системи” на тему: «Управління геоконтекстними сервісами в ОС Android.» Львів – 2014 Мета роботи: Оволодіти навичками роботи з програмним інтерфейсом геоконтекстних сервісів в ОС Android. 1. Порядок налаштування середовища розробки для роботи з засобами позиціонування та сервісом Google Maps. Для налаштування сервісу Google Maps необхідно отримати debug-key для використання карт. Для отримання debug-key, треба знайти ваше сховище ключів, для налагодження. По-замовчуванню, шлях буде виглядати приблизно так: C: \ Documents and Settings \ <user> \. Android \ debug.keystore Потім відкриваємо командний рядок, переходимо в каталог, куди встановлена ​​Java і пишемо: keytool-list-alias androiddebugkey -keystore <шлях_до_ключа >. keystore -storepass android -keypass android, де <шлях_до_ключа >. - свій шлях до debug.keystore Після чого в тому ж вікні буде виведений MD5 код, після слів «Certificate fingerprint (MD5)». На сайті Google для розробників реєструємо код. Google згенерує код для layout із вбудованим кодом, беремо його і вставляємо до себе в маніфенст в мета тезі: <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY" /> , де MY_API_KEY, отриманий SHA1 ключ. 2. Результати виконання тестової програми. / Рис. 1. Результат виконання програми Висновок: На даній лабораторній роботі я оволодів навичками роботи з програмним інтерфейсом геоконтекстних сервісів в ОС Android. 2. Лістинг тестової програми. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.derkach.lab6" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MapsActivity" android:label="@string/title_activity_maps" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="android.support.UI_OPTIONS" android:value="splitActionBarWhenNarrow" /> </activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/google_maps_key" /> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- The ACCESS_COARSE/FINE_LOCATION permissions are not required to use Google Maps Android API v2, but are recommended. --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> </manifest> Activity_maps.xml <?xml version="1.0" encoding="utf-8"?> <fragment 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:id="@+id/map" tools:context=".MapsActivity" android:name="com.google.android.gms.maps.SupportMapFragment" tools:layout="@layout/activity_maps" /> Main.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_k0" android:title="Main" /> <item android:id="@+id/action_k1" android:title="I" /> <item android:id="@+id/action_k5" android:title="V" /> <item android:id="@+id/action_way" android:title="Get way" /> <item android:id="@+id/action_me" android:title="Mike HOME" /> </menu> MapsActivity package com.example.derkach.lab6; import android.support.v4.app.FragmentActivity; import android.os.Bundle; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; import com.google.android.gms.maps.model.PolylineOptions; import android.location.Location; import android.app.AlertDialog; import android.view.Menu; import android.view.MenuItem; public class MapsActivity extends FragmentActivity { GoogleMap mMap; CameraUpdate center; CameraUpdate zoom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); setUpMapIfNeeded(); mapuss(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void mapuss() { mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); mMap.setMyLocationEnabled(true); } public class Univer { String name; double coord_X, coord_Y; } @Override protected void onResume() { super.onResume(); setUpMapIfNeeded(); } boolean isMarkerPlaced=false; Univer Koord=new Univer(); @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.action_k0: Koord.coord_X = 49.83511; Koord.coord_Y = 24.01446; Koord.name = "Головний корпус"; mMap.clear(); mMap.addMarker(new MarkerOptions().position(new LatLng(Koord.coord_X,Koord.coord_Y)).title(Koord.name) ); isMarkerPlaced=true; center = CameraUpdateFactory.newLatLng(new LatLng(49.83511, 24.01446)); zoom = CameraUpdateFactory.zoomTo(15); mMap.moveCamera(center); mMap.animateCamera(zoom); return true; case R.id.action_k1: Koord.coord_X = 49.83533; Koord.coord_Y = 24.01004; Koord.name = "Корпус №1"; mMap.clear(); mMap.addMarker(new MarkerOptions().position(new LatLng(Koord.coord_X,Koord.coord_Y)).title(Koord.name) ); isMarkerPlaced=true; center = CameraUpdateFactory.newLatLng(new LatLng(49.83533, 24.01004)); zoom = CameraUpdateFactory.zoomTo(15); mMap.moveCamera(center); mMap.animateCamera(zoom); return true; case R.id.action_k5: Koord.coord_X = 49.835; Koord.coord_Y = 24.00824; Koord.name = "Корпус №5"; mMap.clear(); mMap.addMarker(new MarkerOptions().position(new LatLng(Koord.coord_X,Koord.coord_Y)).title(Koord.name) ); center = CameraUpdateFactory.newLatLng(new LatLng(49.835, 24.00824)); zoom = CameraUpdateFactory.zoomTo(15); mMap.moveCamera(center); mMap.animateCamera(zoom); isMarkerPlaced=true; return true; case R.id.action_me: Koord.coord_X = 49.8246958; Koord.coord_Y = 23.9753801; Koord.name = "Корпус №5"; mMap.clear(); mMap.addMarker(new MarkerOptions().position(new LatLng(Koord.coord_X,Koord.coord_Y)).title(Koord.name) ); center = CameraUpdateFactory.newLatLng(new LatLng(49.8246958, 23.9753801)); zoom = CameraUpdateFactory.zoomTo(15); mMap.moveCamera(center); mMap.animateCamera(zoom); isMarkerPlaced=true; return true; case R.id.action_way: if(isMarkerPlaced && mMap.isMyLocationEnabled()) { Location my = mMap.getMyLocation(); mMap.addPolyline(new PolylineOptions().geodesic(true) .add(new LatLng(my.getLatitude(),my.getLongitude())) .add(new LatLng(Koord.coord_X, Koord.coord_Y))); } else { AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("Warning"); alertDialog.setMessage("Виберіть спочатку навчальний корпус"); alertDialog.show(); } return true; default: return super.onOptionsItemSelected(item); } } private void setUpMapIfNeeded() { if (mMap == null) { // Try to obtain the map from the SupportMapFragment. mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); // Check if we were successful in obtaining the map. if (mMap != null) { setUpMap(); } } } private void setUpMap() { mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker")); } }
Антиботан аватар за замовчуванням

07.12.2015 22:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!