Разработка Android-приложений с Augmented Reality. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Разработка Android-приложений с Augmented Reality - Тимур Машнин страница 16

СКАЧАТЬ style="font-size:15px;">      }

      @Override

      public void onConnectionFailed (@NonNull ConnectionResult connectionResult) {

      }

      @Override

      public void onLocationChanged (Location location) {

      mCurrentLocation = location;

      String lat = String.valueOf(mCurrentLocation.getLatitude ());

      String lon = String.valueOf(mCurrentLocation.getLongitude ());

      Toast toast = Toast.makeText (this,«Current location " + lat+" "+lon, Toast. LENGTH_LONG);

      toast.show ();

      mWorld.clearWorld ();

      mWorld = CustomWorldHelper.generateObjects (this, mCurrentLocation);

      mBeyondarFragment.setWorld (mWorld);

      }

      }

      Теперь дополненная реальность будет привязана к текущему местоположению пользователя.

      В качестве примера использования фреймворка BeyondAR создадим игровое приложение Creatures in Camera, в котором пользователь сможет расставлять 2D объекты в реальном мире, а потом наблюдать их через камеру.

      Создадим новый проект в Android Studio, используя шаблон Navigation Drawer Activity.

      Для сборки APK файла с большим количеством методов в коде, в Gradle файл добавим:

      defaultConfig {

      multiDexEnabled true

      }

      dependencies {

      compile 'com.android.support: multidex:1.0.0»

      }

      android {

      dexOptions {

      javaMaxHeapSize «4g»

      }

      }

      В файл манифеста добавим:

      <application

      android:name="android.support.multidex.MultiDexApplication»>

      Добавим зависимость от библиотек beyondar-googlemap-plugin-v0.9.0.jar, beyondar-radar-plugin-v0.9.1.jar и beyondar-v0.9.3.jar, скопировав соответствующие файлы в папку libs проекта.

      Добавим зависимость от библиотеки Google Play Services.

      compile 'com.google.android.gms: play-services:9.6.1»

      Добавим необходимые разрешения в файл манифеста.

      <! – Google maps stuff – >

      <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» />

      <! – Minimum permissions for BeyondAR – >

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

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

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

      <! – For BeyondAR this is not mandatory unless you want to load something from the network – >

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

      <! – BeyondAR needs the following features – >

      <uses-feature android:name="android.hardware.camera» />

      <uses-feature android:name="android.hardware.sensor.accelerometer» />

      <uses-feature android:name="android.hardware.sensor.compass» />

      Для использования Google Map добавим Google API Key в файл манифеста. Для того получим ключ в Google Developers Console и добавим в тег <application> файла манифеста.

      <meta-data

      android:name="com.google.android.geo. API_KEY»

      android: value=«AIzaSyBcRu9Vvb7…» />

      Изменим файл компоновки content_main. xml.

      <?xml version=«1.0» encoding=«utf-8»? >

      <android.support.v4.widget.NestedScrollView

      xmlns: android="http://schemas.android.com/apk/res/android"

      xmlns: app="http://schemas.android.com/apk/res-auto"

      xmlns: tools="http://schemas.android.com/tools"

      android: layout_width=«match_parent»

      android: layout_height=«match_parent»

      android: paddingLeft="@dimen/activity_horizontal_margin»

      android: paddingRight="@dimen/activity_horizontal_margin»

      android: paddingTop="@dimen/activity_vertical_margin»

      android: paddingBottom="@dimen/activity_vertical_margin»

      android: fillViewport=«true»

      android: layout_gravity=«fill_vertical»

      app: layout_behavior="@string/appbar_scrolling_view_behavior»

      tools:context=".MainActivity»

СКАЧАТЬ