# 简介
星舆封装了高精度实时定位服务相关 api(ntrip 协议)的 android sdk,降低开发者集成难度,能方便快速调试和接入高精度实时定位服务。
# 开发环境
android 4.0及以上版本。
# 配置安装
1.准备星舆提供的最新版本的 sdk jar 包。例如:"starlocation-ntrip-java.jar";
2.项目根目录下新建 libs 目录将 jar 包放入其中;
3.配置依赖库,在 build.gradle 中引入 jar 包,并加入 netty 依赖,如下:
implementation filetree(dir: 'libs', include: ['*.jar'])
compile 'io.netty:netty-all:4.1.10.final'
1
2
2
4.在 build.gradle 中将 java 版本配置为 1.7 及以上,如下:
compileoptions {
sourcecompatibility javaversion.version_1_7
targetcompatibility javaversion.version_1_7
}
1
2
3
4
2
3
4
5.sdk 需要网络访问相关的一些权限,需要在 androidmanifest.xml 中增加如下权限声明:
<uses-permission android:name="android.permission.change_network_state"/>
<uses-permission android:name="android.permission.change_wifi_state"/>
<uses-permission android:name="android.permission.access_network_state"/>
<uses-permission android:name="android.permission.access_wifi_state"/>
<uses-permission android:name="android.permission.internet"/>
1
2
3
4
5
2
3
4
5
# 示例
// 配置必要信息
string username = "***";
string userpassword = "***";
// 调用接口示例如下
starlocationservice starlocationservice = starlocationfactory.getstarlocationproservice(username, userpassword);
// 创建一个起始位置
string gga = "$gpgga,031323,2306.00,n,11320.00,e,4,31,0.5,69.3891,m,-6.6544,m,01,0001*62";
// 首次发起请求需要进行监听器的设置,并且传递首次gga信息
starlocationservice.requestlocrtcmupdate(new starlocationlistener() {
@override
public void onrtcmdatachanged(locrtcmdata locrtcmdata) {
//获取rtcm数据
byte[] rtcm =locrtcmdata.getrtcmmessage();
// todo 根据自身需求处理rtcm数据
}
@override
public void onstate(status status) {
//获取状态码信息
}
}, gga);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
更多示例,请下载 工程示例 (opens new window)。