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

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

      之所以会接触到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 上方加入

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

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

到这里

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统和大数据处理

安装和配置Hadoop(单节点)

Hadoop生态圈仍处于欣欣向荣的发展态势,不断涌现新的技术和名词。Hadoop的HDFS、YARN、MapReduce仍是最基础的部分,这篇文章记录了如何一步...

1933
来自专栏Spark学习技巧

kafka连接器两种部署模式详解

一 kafka Connector介绍 Kafka Connect是一个用于在Apache Kafka和其他系统之间进行可扩展和可靠数据流传输的工具。这使得快速...

5798
来自专栏我是攻城师

CDH-Hadoop2.6+ Apache Pig0.15安装记录

3375
来自专栏一名合格java开发的自我修养

Kafka概念入门(一)

  比如,有100条有序数据,生产者发送到kafka集群,kafka的分片有4个,可能的情况就是一个分片保存0-25,一个保存25-50......这样消息在k...

703
来自专栏Hadoop实操

如何在Kerberos环境下的CDH集群部署Spark2.1的Thrift及spark-sql客户端

1202
来自专栏Spark学习技巧

Spark部署模式另类详解

一, Spark的运行模式讲解 Spark运行模式有很多种,本文主要是将local,Standalone,yarn。因为平时生产中用的最多的也是...

2435
来自专栏xingoo, 一个梦想做发明家的程序员

Kafka入门初探+伪集群部署

Kafka是目前非常流行的消息队列中间件,常用于做普通的消息队列、网站的活性数据分析(PV、流量、点击量等)、日志的搜集(对接大数据存储引擎做离线分析)。 ...

1875
来自专栏恰同学骚年

Hadoop学习笔记—18.Sqoop框架学习

  Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易。Apache Sqoop正在加紧帮助客户将重要数据从数据库移到Hadoop...

592
来自专栏程序猿DD

Spring Cloud构建微服务架构:服务消费(Ribbon)【Dalston版】

前言通过上一篇《Spring Cloud构建微服务架构:服务消费(基础)》,我们已经学会如何通过LoadBalancerClient接口来获取某个服务的具体实例...

1966
来自专栏Hadoop实操

如何在CM中启用YARN的使用率报告

CDH的高级功能"群集利用率报告"(Cluster Utilization Report)是整个多租户方案体系里的一部分,可以用来查看租户的资源使用情况,并可以...

4185

扫码关注云+社区