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

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Лабораторна робота № 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:07

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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