使用Androidstudio完成简易智能家居APP的制作(含源码工程包)
目录
1、使用的软硬件说明
1)获取包名
2)获取SHA1(重点)
1、AndroidSDK专业解释:
2、AndroidSDK的获取
1、将获取的百度地图移动版开发密钥AK,配置到Androidstudio中
2、将下载好的JAR格式百度地图开发包置于libs下,并在build.gradle中增加一条语句,用于展开JAR开发包
3、创建一个jniLibs文件名,在src/java/jniLibs这个路径下,添加开发包的其他文件
5、开启权限(定位权限,网络权限等)
4、代码(地图定位)
在进入学习前,老(新)规矩,先看效果图:
2023/4.8新增功能及其界面如下:
okok,看完效果图,那咱们就开始吧!
软件:百度地图API,使用的外部包是百度地图AndroidSDK基于Android4.0及以上版本设备的应用程序接口,Androidstudio开发软件,360手机助手。
具体步骤如下:
2、点击创建应用
3、进入界面后,选择AndroidSDK,自己创建应用名字
4、这一步涉及到两个关键的信息源,如何获得这两个信息显得十分的关键,这两个信息分别是包名和SHA1,如图所示,其中发布饭SHA1和包名是必填项,具体如何获取,下面我将详细说明。当然也可以通过官方获取文档的教学进行操作获取。
首先说明一下SHA1其实是
那么具体应该如何操作呢?
此处教一个万能的方法,首先打开安装Androidstudio目录下的jre,此处我安装的路径是C:\ProgramFiles\Android\AndroidStudio\jre\bin;找到路径后,使用win+R输入cmd命令,进入命令行工具(或者直接右键点击在终端打开)如下图所示:
然后找到你的debug.keystore所在的目录,如图所示,我的在c盘用户目录的.android一般都在这个“.android”目录下,这个需要自己寻找哈!完成这一步,恭喜你,你已经近乎完成了!!!
还记得我们刚刚打开的cmd命令端吗?打开它然后直接输入下面这串字符和刚刚找到的debug.keystore路径,再之后回车即可:
keytool-list-v-keystore路径(刚刚寻找的debug.keystore的路径)需要注意的是,它需要你输入密钥库口令,请输入:android
如图所示,你成功获得了SHA1数据;接下来在创建应用界面输入包名和SHA1的数据即可,让后你就得到了一个应用,具体如下图,应用ak即可得到
这里呢,就需要我们下载一个AndroidSDK,这是个什么呢?且看解释!
AndroidSDK是指Android软件开发工具包(SoftwareDevelopmentKit),它是一组用于开发Android应用程序的工具和资源集合。AndroidSDK由Google或其他地图进行提供,可以免费下载和使用。
AndroidSDK包含了许多开发应用程序所需的组件,例如:
使用AndroidSDK,开发人员可以利用Java语言编写Android应用程序,并通过Eclipse、AndroidStudio等开发环境对其进行编辑、编译和打包等操作。同时,AndroidSDK还支持用C/C++语言编写Android应用程序,并利用NDK(NativeDevelopmentKit)进行编译等操作。
SDK下载-百度LBS开放平台
又将如何选择呢?我要完成的功能是地图和定位,故而选择的是①基础定位+②JAR格式包+③标准开发包,如图:
这里的配置较为繁琐,仔细点哇!
打开AndroidManifest.xml文件,在文件中进行如下图所示的配置:注意蓝牙框框内的name不允许改变,而那个value就是我们前边费劲心思搞到的ak
2、将下载好的JAR格式百度地图开发包置于libs下,并在build.gradle中增加一条语句,用于展开JAR开发包语句:implementationfiles('libs/BaiduLBS_Android.jar'),注意这条语句放在dependencies
什么?你说找不到libs包?找不到不会自己创建啊?嗯?
你问我为什么要取这么个名字(jniLibs)?我也不知道,真不知道,我去问问ChatGPT。看图,懂了吧!嘿嘿!
代码如下:
具体开启权限的代码如下(注意这里的开启的权限,一部分与地图定位的无关,这是因为开发的功能不仅仅局限于地图定位,懂?):
关于该功能实现的layout文件和权限配置这两个,我已经把代码贴出来了,往上找!
1、AndroidManifest.xml文件
我已经将不会用到的代码删除,具体如下:
2、在进活动运行前,还需要运行一个,MapApp.java文件
用于动态申请啥的...
packagecom.example.lbstest;importandroid.app.Application;importcom.baidu.mapapi.CoordType;importcom.baidu.mapapi.SDKInitializer;publicclassMapAppextendsApplication{@OverridepublicvoidonCreate(){super.onCreate();//动态申请SDKInitializer.setAgreePrivacy(this,true);//在使用SDK各组件之前初始化context信息,传入ApplicationContextSDKInitializer.initialize(this);//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。SDKInitializer.setCoordType(CoordType.BD09LL);}}