Android Studio GPX文件的解析(总和)
作者:互联网
声明:此博客相当于一个内容整合博客,总和实现我了想要的对GPX文件的操作,以下如果有侵权等请联系我进行删除。
一.
将一个GPX文件放到项目的资源文件中,然后通过对资源文件的访问将GPX文件数据解析出来。
1.GPX文件的放置,如图:
2.GPX文件的解析
参照博客为:
JAVA写入与读取GPX文件工具类_leavesloves的博客-CSDN博客
上面这个是我找到的GPX文件解析的博客,这位博主大佬将GPX文件的解析的全部类都写好了,然后解析GPX文件的参数接口为文件地址。
public GpxReader(String path){......}
因此,接下来我们要做的就是怎么通过文件地址的方式访问 assets 文件夹下的GPX文件资源。
参照博客为:
Android 获取assets文件夹下面的文件路径_六月的雨123的博客-CSDN博客_android获取assets文件路径
这位博主大佬使用先把文件复制到缓存中,然后再获取文件的路径的思路,实现了通过地址路径的方式对 assets 文件夹下的资源进行访问。
因此,总和上面两个大佬的方法,就能实现对GPX文件的数据解析了。
二.
对于GPX文件的解析,有一个GPXParser的方法类,我们可以将gpxParser.jar 添加到工程。然后,使用主函数GPXParser 进行操作:
GPXParser的介绍和资源包的下载网站,网站中也介绍了怎么使用和获取GPX文件相关数据:
将得到的 jar 包复制到libs文件夹下,右击添加到工程。
GPXParser的使用:
GPXParser p = new GPXParser();
FileInputStream in = null;
try {
in = new FileInputStream("one.gpx");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
GPX gpx = p.parseGPX(in);
//gpx的相关操作
gpx.getWaypoints();
gpx.getTracks();
gpx.getRoutes();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
然后问题来了,使用gpx.getWaypoints(),gpx.getTracks(),gpx.getRoutes();我只得到了一个节点数的数据,并没有得到节点的其他详细数据(比如:经纬度,高度等),我也不知道是自己使用上的问题还是啥,如果有人知道,麻烦指教一下。
综上所述,因此我还是使用了 一 中的方法成功对GPX文件进行了解析。
标签:GPX,文件,博客,gpx,GPXParser,Studio,Android,解析 来源: https://blog.csdn.net/qq_46574738/article/details/123578932