前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于android studio编译工具下的android开发之IBeacon 例子

基于android studio编译工具下的android开发之IBeacon 例子

作者头像
林冠宏-指尖下的幽灵
发布2018-01-02 16:47:20
1.3K0
发布2018-01-02 16:47:20
举报
文章被收录于专栏:林冠宏的技术文章

想直接看主要内容的请调到红字下面。

      之所以会接触到android下的IBeacon,是因为我自己导师给的任务。一个网址http://estimote.com/和一句话:看看这个网站,然后试下在安卓手机实现与IBeacon的对接。

      在这之前,我从来没听说过IBeacon和BLE技术,点开网站,发现都是英文的,细看才知道是关于IBeacon产品的官网。看了下它们的示范flash,觉得挺吊。

重点:

      于是开始着手找资料。首先找的是estimote 的 android-SDK,网址https://github.com/Estimote/Android-SDK 点击右边的Download zip就可以下载它的SDK和demos了。SDK的jar包共个2个,一个是estimote-sdk-preview-javadoc.jar,另一个是estimote-sdk-preview.jar。

      下载好了,我这里先说下上面的两个jar包的导入吧。以前在eclipse导入就方便得多了,在android studio有点麻烦,这个我本人也琢磨了挺久。

      下面的方法摘自网友:

1、将jar包放入项目里的libs文件夹中;

2、在project选中该jar包,点击右键选择:"Add as library";

完成到第2步,即可在项目中import了。

import com.estimote.sdk.Beacon;

import com.estimote.sdk.connection.BeaconConnection;

但是项目在编译时会出现,这时需要进行第3步:

3、在项目的build.gradle文件里的dependencies节加入 

dependencies {

    compile files('libs/android-support-v4.jar')//这行原来就存在的,需要添加的是下面那行

    compile files('libs/estimote-sdk-preview-javadoc.jar')//加入这一行

     compile files('libs/estimote-sdk-preview.jar')//加入这一行

}

再次编译项目,可正常编译并运行了,但创建引用jar里的类实例时,系统会抛出异常NoClassDefFoundError,此时需要操作第4步;

4、开始-运行输入cmd进行命令窗口;

   cd 具体的项目存放位置

   运行 gradlew.bat clean

   命令执行结果如下:   

C:\Users\WD>cd C:\Users\WD\AndroidStudioProjects\wdLogin

C:\Users\WD\AndroidStudioProjects\wdLogin>gradlew.bat clean

The TaskContainer.add() method has been deprecated and is scheduled to be remove

d in Gradle 2.0. Please use the create() method instead.

:wdLogin:clean

BUILD SUCCESSFUL

Total time: 10.552 secs

C:\Users\WD\AndroidStudioProjects\wdLogin>Exit

   重新编译,此时可正常使用了。

      OK,jar包导入了,这时的你可能就很兴高采烈地去导入刚下载的demos工程了。导入后,你很可能会发现,我艹,怎么里面的java文件的j图标全变红了。同时调试的绿色三角形图标也变成了灰色。

      如果你也遇到了这个问题,我很抱歉,原因我现在也还不知道到,如果你知道了,麻烦也告诉下小弟,下方留言,谢谢!这里我提供一个解决方法。

      新建一个工程,把下载里面的demos工程的java文件,复制粘贴进去新建工程的java包下。同时res下的layout的xml文件也要迁移,记住,jar包你这时也要重新导入到这个新工程里面了。

      最后提一下 AndroidMainfest.xml 文件的修改,首先要赋蓝牙权限,在<application 上方加入

代码语言:javascript
复制
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
代码语言:javascript
复制
<service android:name="com.estimote.sdk.service.BeaconService"
         android:exported="false"/>
同时,记得要保持每个java文件第一行的名包名要改为和java文件下下的包名一致。A...M..f.xml里面的package=""也要写正确包名。

  到这里,基本OK了。开始调试吧。

到这里

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-01-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档