【Android移动端】CityMaker入门之Android Studio集成SDK

版权声明:CityMaker技术服务中心——小白 https://blog.csdn.net/weixin_38476447/article/details/86311179

**

CityMaker安卓移动端SDK入门

**

一、文章说明

本文主要讲述了CityMaker安卓移动端开发环境部署以及SDK的调用流程,方便使用人员尽快了解CityMaker移动端开发。熟悉基础软件安装的人员可以直接跳至第五部分进行SDK集成。
下载地址:链接:https://pan.baidu.com/s/14uPBRcN2kJyeycBJSDf9sg 提取码:vt1n

二、系统要求

Windows系统:Win7或更高
内存:4G+
硬盘:4G+(此处指的是需要为Android Studio准备的硬盘空间)
Java Development Kit (JDK) 8 或更高

三、软件准备(注意:下载与自己系统对应的软件版本)

Android Studio:

下载地址1:http://developer.android.com/sdk/installing/studio.html(需翻墙)
下载地址2:http://tools.android-studio.org/index.php(国内镜像网站,无需翻墙)

jdk1.7及以上
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

四、安装教程

1、安装JDK

双击下载的jdk的exe文件,选择安装路径,此处建议您选择一个没有空格的路径,比如:D:\jdk等
在这里插入图片描述
在这里插入图片描述
点击下一步即可完成jdk的安装

2、配置环境变量

在桌面上计算机点右键选属性,或是开始菜单计算机上点右键选属性, 左边点高级系统设置,点下边的环境变量

在这里插入图片描述

在新弹出窗口上,点系统变量区域下面的新建按钮,弹出新建窗口,变量名为JAVAHOME,变量值填JDK安装的最终路径,我这里装的地址是D:\Program Files\Java\jdk1.7.051,所以填D:\Program Files\Java\jdk1.7.0_51,点确定完成
在这里插入图片描述
下面需要设置Path变量,由于系统本身已经存在这个变量,所以无需新建,在原本基本上添加JDK相关的,找到Path变量双击编辑,由于每个值之间用;符号间断,所以先在末尾加上;(注意是英文格式的,不要输其他符号空格等),加上;符号后在末尾加入%JAVAHOME%\bin;%JAVAHOME%\jre\bin,点确定完成(注意:此处切记千万不要删除以前的内容,否则可能会造成其他程序的未知异常)
在这里插入图片描述
下面添加CLASSPATH变量,由于不存在,所以新建一个,变量名CLASSPATH,变量值%JAVAHOME%\lib\dt.jar;%JAVAHOME%\lib\tools.jar,首尾不带空格的,点确定完成,至此环境变量配置完成,点确定关掉环境变量配置窗口。
在这里插入图片描述
上面步骤完成后,下面验证下是否配置成功,点开始运行输入cmd打开命令行窗口,输入java -version,显示版本1.7.051,输入javac -version,也显示1.7.051,说明JDK安装及环境变量配置成功。
在这里插入图片描述
3、安装Android Studio

双击执行下载的Studio安装包,首先会看到欢迎页
在这里插入图片描述
在选择安装组件中,虚拟机可以不用安装,不过个人更建议您选择安装
在这里插入图片描述
一路Next直到安装完成即可
在这里插入图片描述
点击finish按钮即可启动Android Studio
在这里插入图片描述
工程创建步骤,一路Next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、集成SDK步骤

1、导入SDK,将以下文件放到工程中对应文件夹:

CityMakerAndroidSDK\libs下所有文件并在工程中调用(核心库),放在工程libs文件夹
在这里插入图片描述
CityMakerAndroidSDK\assets下所有文件(控件调用的图片资源)
在这里插入图片描述
CityMakerAndroidSDK\src下所有文件(接口封装层 方便项目开发时重写事件)
在这里插入图片描述
删除_TestActivity
在这里插入图片描述
2、搭建工程:

在工程中res\layout中activity_main.xml中,将下列代码复制粘贴到其中,注意覆盖原有的内容,其中SurfaceView即为三维控件,代码如下:

<RelativeLayout 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" >
    <SurfaceView
        android:id="@+id/surfaceview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true" />
</RelativeLayout>

在工程中src中MainActivity的OnCreate方法中,添加如下代码,添加位置如图所示:

SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceview);
RenderControl.get().initialize(getApplicationContext(), surfaceView, getAssets(), new RenderControlCallback() {
@Override
public void onInitialFinished() {
    RenderControl.get().objectManager.getSkyBox().setDefaultSkybox();//设置天空盒
    RenderControl.get().camera.setFlyTime(1);//设置飞行时间
    RenderControl.get().viewport.setCompassOffset(-32.f, -64.f);
    RenderControl.get().viewport.setThumbtackOffset(-32.f, -150.f);
    //设置拾取 (必设)
  	RenderControl.get().setMouseSelectObjectMask(EnumValue.gviMouseSelectObjectMask.gviSelectRenderGeometry.getValue()| EnumValue.gviMouseSelectObjectMask.gviSelectLable.getValue()
            | EnumValue.gviMouseSelectObjectMask.gviSelectFeatureLayer.getValue());
}
@Override
public void onRest() {
}
@Override
public void onDestroy() {
}
@Override
public void onTouch(View paramView, MotionEvent event) {
}
@Override
public void onCameraFlyFinished(int type) {
}

在这里插入图片描述
Mainfest.xml配置文件(注意:可以只添加1,2两步,对照代码位置复制进去即可;也可以复制所有的代码,覆盖原来的代码即可):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gvitech.it.com.test01">

<!-- 1、添加所需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 到此结束 -->

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
    <!-- 2、设置屏幕横向 -->
        android:configChanges="keyboardHidden|orientation"
        android:screenOrientation="landscape">
    <!-- 到此结束 -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>

配置gradle文件
在这里插入图片描述
3、按照上述步骤操作添加完成以后,编译运行项目即可看见初始的Citymaker控件了。
在这里插入图片描述

注意事项

1、加载so文件
libs目录中有so文件存在,在eclipse中我们只需要正常的拷贝so文件至libs文件夹即可,但是在Android Studio中还需要配置gradle文件,加入以下代码即可。(注意:此处说的gradle为app目录下的gradle):

sourceSets{
    main{
        jniLibs.srcDir 'libs'
    }
}

2、若因开发环境或未知原因,即使配置了gradle文件还是无法正确加载so文件

解决过程:按照网上的新建jniLibs文件夹,添加so文件->配置build.gradle文件 -> makeproject方式解决,没有解决。
解决方案:
		 1、新建lib文件夹
         2、将so文件及外层文件夹拷贝进去,打成压缩包
         3、更改压缩包文件后缀名为 .jar,将jar包导入项目libs文件夹,添加为依赖库。
备注:解决方案来自于:http://www.cnblogs.com/zhujiabin/p/6223989.html

猜你喜欢

转载自blog.csdn.net/weixin_38476447/article/details/86311179