侵权投诉

如何更效率的创建Android BLE应用程序

39度创意研究所 2019-12-12 10:00 次阅读

步骤1:创建新的Android项目

打开Eclipse,打开File-》 New-》 Android Application Project ,然后在“应用程序名称”编辑框中填写应用程序名称,例如BleExample或其他。最低必需的SDK选择API18:Android 4.3,并且目标SDK也选择API18:Android 4.3,因为buletooth 4.0必须具有Android 4.3版本或更高版本。其他默认保持不变,请继续单击“下一步”按钮,直到出现“完成”按钮,然后单击“完成”按钮。

如何更效率的创建Android BLE应用程序

步骤2:添加权限和服务

在清单文件中添加以下代码:

步骤3:创建ListView项目布局文件

旨在显示ListView的每个内容,此处我们使用自定义(自己定义),以便每个ListView可以显示更多内容,item_list.xml如下所示:

将BleExample/com.elecfreaks.ble的源代码复制到您的项目src目录中,然后在出现错误提示的情况下按Shift + Ctrl + O键打开文件。

步骤4:修改Activity_main.xml,增加ScanButton和BleDeviceListView

增加的内容如下所示:

android:id=“@+id/scanButton”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:onClick=“scanOnClick”

android:text=“scan” /》

android:id=“@+id/bleDeviceListView”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:layout_alignLeft=“@+id/scanButton”

android:layout_below=“@+id/scanButton”

android:layout_above=“@+id/sendButton”

步骤5:在MainActivity.java中,添加响应事件的ScanButton方法

(onClick=“scanOnClick”)

public void scanOnClick(final View v){

}

步骤6:为MainActivity添加成员

private Button scanButton;

private ListView bleDeviceListView;

private BLEDeviceListAdapter listViewAdapter;

private BluetoothHandler bluetoothHandler;

private boolean isConnected;

步骤7:在MainActivity.onCreate中设置成员值

scanButton = (Button) findViewById(R.id.scanButton);

bleDeviceListView = (ListView)

findViewById(R.id.bleDeviceListView);

listViewAdapter = new BLEDeviceListAdapter(this);

bluetoothHandler = new BluetoothHandler(this);

bluetoothHandler.setOnConnectedListener(new

OnConnectedListener() {

@Override

public void onConnected(boolean isConnected) {

// TODO Auto-generated method stub

setConnectStatus(isConnected);

}

});

bluetoothHandler.setOnRecievedDataListener(new OnRecievedDataListener() {

@Override

public void onRecievedData(byte[] bytes) {

// TODO Auto-generated method stub

System.out.printf(“REC:”);

for(byte b:bytes)

System.out.printf(“%02X ”, b);

System.out.printf(“ ”);

}

});

步骤8:添加SetConnectStatus Mothod

public void setConnectStatus(boolean isConnected){

this.isConnected = isConnected;

if(isConnected){

showMessage(“Connection successful”);

scanButton.setText(“break”);

}else{

bluetoothHandler.onPause();

bluetoothHandler.onDestroy();

scanButton.setText(“scan”);

}

}

private void showMessage(String str){

Toast.makeText(MainActivity.this, str,

Toast.LENGTH_SHORT).show();

}

步骤9:在ScanOnClick中添加内容

if(!isConnected){

bleDeviceListView.setAdapter(bluetoothHandler.getDeviceListAdapter));

bleDeviceListView.setOnItemClickListener(new OnItemClickListener()

{

@Override

public void onItemClick(AdapterView parent, View view,

int position, long id) {

String buttonText = (String) ((Button)v).getText();

if(buttonText.equals(“scanning”)){

showMessage(“scanning.。.”){

return ;

}

BluetoothDevice device = bluetoothHandler.getDeviceListAdapter().getItem(position).device;

// connect

bluetoothHandler.connect(device.getAddress());

}

});

bluetoothHandler.setOnScanListener(new OnScanListener() {

@Override

public void onScanFinished() {

// TODO Auto-generated method stub

((Button)v).setText(“scan”);

((Button)v).setEnabled(true);

}

@Override

public void onScan(BluetoothDevice device, int rssi, byte[] scanRecord) {}

});

((Button)v).setText(“scanning”);

((Button)v).setEnabled(false);

bluetoothHandler.scanLeDevice(true);

}else{

setConnectStatus(false);

}

步骤10:发送数据

byte[] data = new byte[1];

data[0] = 0x02;

bluetoothHandler.sendData(data);

步骤11:接收数据

在接收到数据之后,

从bluetoothHandler.setOnRecievedDataListener()OnRecievedDataListener.onRecievedData(byte [] bytes)设置的OnRecievedDataListener.onRecievedData(byte [] bytes),字节表示接收到的数据

步骤12 :通过协议将数据发送到MCU。(在ElecFreaks中使用BLUNO)

在src目录中,创建Transmitter.java,ad用以下两个参数确定构造函数:

public Transmitter(Context context,

BluetoothHandler bluetoothHandler){

this.context = context;

this.mBluetoothHandler = bluetoothHandler;

}

如何添加sendData()?

private void sendData(byte[] bytes){

mBluetoothHandler.sendData(bytes);

}

步骤13:接收MCU协议数据

MCU数据接收和发送协议使用JSON数据包,格式为{“ T”:您的值,“ V”:您的值,…}。当然,您可以定义其他值。在src目录中创建MyArray.java,以连接两个阵列。代码如下所示:

public class MyArray {

static public byte[] arrayCat(byte[] buf1,byte[] buf2){

byte[] bufret=null;

int len1 = 0;

int len2 = 0;

if(buf1 != null)

len1 = buf1.length;

if(buf2 != null)

len2 = buf2.length;

if(len1+len2 》 0)

bufret = new byte[len1+len2];

if(len1 》 0)

System.arraycopy(buf1, 0, bufret, 0, len1);

if(len2 》 0)

System.arraycopy(buf2, 0, bufret, len1, len2);

return bufret;

}

}

将示例代码中的protocol.java复制到src目录中,添加成员

private Protocol protocol

从onCreate(),删除:

bluetoothHandler.setOnRecievedDataListener();

添加:

protocol = new Protocol(this, new Transmitter(this, bluetoothHandler));

protocol.setOnReceivedDataListener(recListener);

在MainActivity中添加成员:

private static final boolean INPUT = false;

private static final boolean OUTPUT = true;

private static final boolean LOW = false;

private static final boolean HIGH = true;

private boolean digitalVal[];

private int analogVal[];

在onCreate中初始化:

digitalVal = new boolean[14];

analogVal = new int[14];

private OnReceivedRightDataListener recListener = new

OnReceivedRightDataListener() {

@Override

public int onReceivedData(String str) {

// TODO Auto-generated method stub

try {

JSONObject readJSONObject = new JSONObject(str);

int type = readJSONObject.getInt(“T”);

int value = readJSONObject.getInt(“V”);

switch(type){

case Protocol.ANALOG:{

int pin = readJSONObject.getInt(“P”);

analogVal[pin] = value;

}break;

case Protocol.DIGITAL:{

int pin = readJSONObject.getInt(“P”);

digitalVal[pin] = (value》0)?HIGH:LOW;

}break;

case Protocol.TEMPERATURE:{

float temperature = ((float)value)/100;

}break;

case Protocol.HUMIDITY:{

float humidity = ((float)value)/100;

}break;

default:break;

}

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return 0;

}

};

步骤14:使用协议发送数据

protocol.writeAnalogData(9, 20);

protocol.writeDigitalData(3, 1);

步骤15:使用协议接收数据

protocol.readAnalogDataCommand(9);

protocol.readDigitalDataCommand(3);

注意:返回的数据由recListener接收

步骤16:MCU端口协议(arduino

请参阅提供的AndroidIOControl的示例代码。

责任编辑:wv 

收藏 人收藏
分享:

评论

相关推荐

Cosmo Communicator手机支持Debian Linux系统和Android启动

如今智能手机已经成为微型个人电脑,性能非常强大,然而移动操作系统有其限制,那就是无法运行桌面应用程序....
的头像 汽车玩家 发表于 02-25 16:15 137次 阅读
Cosmo Communicator手机支持Debian Linux系统和Android启动

小米子品牌POCO X2手机获得Android 11更新升级

2月24日消息,小米旗下独立子公司POCO确认其最新发布的POCO X2的主要操作系统更新,该手机将....
的头像 牵手一起梦 发表于 02-25 15:16 296次 阅读
小米子品牌POCO X2手机获得Android 11更新升级

华为MatePad Pro 5G版平板发布,支持平行视界分屏显示功能

在2月24日的华为终端产品与战略线上发布会上,华为正式发布了平板旗舰MatePad Pro 5G版。
的头像 牵手一起梦 发表于 02-25 15:01 242次 阅读
华为MatePad Pro 5G版平板发布,支持平行视界分屏显示功能

基于Android开发技术实现安全检查系统的设计

随着电子通信技术的不断发展,特别是Android开发技术的迅猛发展,使移动终端不再仅仅是通信网络终端....
发表于 02-25 10:35 49次 阅读
基于Android开发技术实现安全检查系统的设计

小米POCO X2确认将更新Android 11

2月24日消息,小米POCO品牌印度总经理C Manmohan在推特表示,小米POCO X2将会更新....
的头像 工程师邓生 发表于 02-24 17:31 231次 阅读
小米POCO X2确认将更新Android 11

vivo新机已获得工信部认证,预装基于Android 10的FunTouch OS软件

  2月24日消息 代号为 V1963A 的vivo新机已经获得工信部认证,该机很可能就是传闻中的v....
的头像 牵手一起梦 发表于 02-24 16:22 237次 阅读
vivo新机已获得工信部认证,预装基于Android 10的FunTouch OS软件

realme真我X50 Pro跑分高达到60W+,拥有三种配色

据消息报道,realme将于2月24日在西班牙马德里和印度新德里同时举办新品发布会活动,正式推出X5....
的头像 牵手一起梦 发表于 02-24 15:10 1041次 阅读
realme真我X50 Pro跑分高达到60W+,拥有三种配色

黑鲨游戏手机3标准版跑分出炉,采用12GB RAM+Android 10系统

2月23日消息,继先前黑鲨游戏手机的线上直播页面泄露后,今日也有博主晒出黑鲨游戏手机3标准版跑分。
的头像 牵手一起梦 发表于 02-24 15:07 154次 阅读
黑鲨游戏手机3标准版跑分出炉,采用12GB RAM+Android 10系统

谷歌Pixel 5或支持反向无线充电

近日有一名外国开发者表示,在Android 11的代码中发现了谷歌Pixel5可能支持反向无线充电功....
的头像 汽车玩家 发表于 02-24 12:08 160次 阅读
谷歌Pixel 5或支持反向无线充电

iOS有什么优点比安卓

Android 与 iOS。这两大手机操作系统你更喜欢哪一个呢?他们有许多相同点也有不同之处,争论到....
的头像 Wildesbeast 发表于 02-24 11:52 314次 阅读
iOS有什么优点比安卓

adb连接Android手机的方法有哪些

随着现在移动端技术的突飞猛进,导致现在市场上,APP应用数不胜数,那对于测试工程师而言,对于APP的....
的头像 Wildesbeast 发表于 02-24 11:14 225次 阅读
adb连接Android手机的方法有哪些

Essential Phone仍有望升级Android 11 可自行尝试刷入

2月24日消息,本月初安卓之父创办的Essential公司宣布关闭,他们不再开发智能手机,Essen....
的头像 工程师邓生 发表于 02-24 10:36 115次 阅读
Essential Phone仍有望升级Android 11 可自行尝试刷入

T-Mobile版LG G8 ThinQ开始升级Android 10

据IT之家此前报道,去年11月,韩国地区的LG G8 ThinQ开始正式升级Android 10系统....
的头像 汽车玩家 发表于 02-23 11:09 274次 阅读
T-Mobile版LG G8 ThinQ开始升级Android 10

谷歌Android 11支持五种5G连接状态

据外媒报道,为了给即将到来的 5G 网络提供完善的支持,谷歌已经在 Android R(又名 And....
的头像 汽车玩家 发表于 02-21 18:47 333次 阅读
谷歌Android 11支持五种5G连接状态

Android 11首个开发者预览版新特性公布 可识别出蓝牙音频设备实际支持的解码类型

Android 11首个开发者预览版推送,不少新特性登陆。
的头像 工程师邓生 发表于 02-21 15:10 271次 阅读
Android 11首个开发者预览版新特性公布 可识别出蓝牙音频设备实际支持的解码类型

微软宣布将为Android与iOS设备免费推出Defender杀毒软件

对于微软来说,虽然放弃了Windows Phone,但是他们还在移动端做一些别的事情。
的头像 工程师邓生 发表于 02-21 14:28 233次 阅读
微软宣布将为Android与iOS设备免费推出Defender杀毒软件

Android 11未完成开发功能曝光 电源键新菜单被挪到屏幕顶部

2月20日,谷歌正式发布了Android 11开发者预览版,带来了许多全新功能,不过还有更多未完成开....
的头像 工程师邓生 发表于 02-21 14:20 248次 阅读
Android 11未完成开发功能曝光 电源键新菜单被挪到屏幕顶部

谷歌宣布I/O 2020开发者大会已开始注册 会上将公布Android 11

现在谷歌宣布,I/O 2020开发者大会已经开始注册,其会在5月12~14日在加州山景城的海岸线露天....
的头像 工程师邓生 发表于 02-21 13:35 315次 阅读
谷歌宣布I/O 2020开发者大会已开始注册 会上将公布Android 11

Android开发的经验总结

笔者从最初对安卓开发萌生兴趣到现在已有两年之久了,期间做过几个项目也开发过别的,今天就跟大家分享一下....
的头像 Wildesbeast 发表于 02-20 14:18 247次 阅读
Android开发的经验总结

Android 11电池共享功能类似于反向无线充电

反向无线充电仍然是很少有的手机相对较新的功能,IT之家获悉,在谷歌今天发布的Android 11开发....
的头像 汽车玩家 发表于 02-20 10:39 398次 阅读
Android 11电池共享功能类似于反向无线充电

谷歌Android 11瀑布屏手机UI优化更新

此次优化类似于之前Android系统适配刘海屏、挖孔屏的方案,Android通过一个cutout A....
的头像 汽车玩家 发表于 02-20 08:42 436次 阅读
谷歌Android 11瀑布屏手机UI优化更新

全球第一大智能手机操作系统Android的发展历史说明

Android仅用了两年时间便超越诺基亚,成为全球第一大智能手机操作系统
的头像 Wildesbeast 发表于 02-18 15:36 527次 阅读
全球第一大智能手机操作系统Android的发展历史说明

什么事安卓手机办得到苹果手机做不到

现在,手机分为两大阵营:Android手机和iOS手机。安卓手机目前占了绝大多数的阵营。实际上,除了....
的头像 Wildesbeast 发表于 02-18 15:04 508次 阅读
什么事安卓手机办得到苹果手机做不到

谷歌向手机厂商发出警告 修改Android内核代码将暴露更多的安全Bug

对于越来越多手机厂商在原来Android系统上修改内核的做法,谷歌真的是看不下去了,其警告厂商,修改....
的头像 工程师邓生 发表于 02-17 15:22 561次 阅读
谷歌向手机厂商发出警告 修改Android内核代码将暴露更多的安全Bug

学习java开发可以做什么工作

在现实生活中,大多数人选择java开发这个行业都是看好java的发展前景,那么java学好了之后可以....
的头像 Wildesbeast 发表于 02-17 13:41 645次 阅读
学习java开发可以做什么工作

java可以用作那些领域?

1、学习Java可以做网站 Java可以用来编写网站,现在很多大型网站都用Jsp写的,JSP全....
的头像 Wildesbeast 发表于 02-15 14:07 462次 阅读
java可以用作那些领域?

HTC在其全新的区块链手机上公布了更多细节

这款由Android驱动的设备将设置为采用区块链技术,包括一个冷库钱包,它将支持所有主要的加密货币,....
的头像 倩倩 发表于 02-14 07:07 532次 阅读
HTC在其全新的区块链手机上公布了更多细节

60Hz与90Hz及120Hz到底有什么区别

如今高端手机领域再次陷入了同质化的旋涡,相似的外观工艺、相同的SoC处理器平台、一样的UFS3.0闪....
的头像 Wildesbeast 发表于 02-12 16:03 1016次 阅读
60Hz与90Hz及120Hz到底有什么区别

Android如何通过Android Studio创建一个Android App

语言使用java,kotlin都可以,目前谷歌更加推荐kotlin, 我的建议就是如果是一个纯新的项....
的头像 Wildesbeast 发表于 02-12 14:01 369次 阅读
Android如何通过Android Studio创建一个Android App

DJI无人机解决方案满足政府和机构的需求

DJI是民用无人机和航空影像技术的全球领导者,为希望在其运营中使用无人机的政府提供高安全性解决方案。....
发表于 02-08 08:08 137次 阅读
DJI无人机解决方案满足政府和机构的需求

在谷歌GMS的情况下,华为计划使用HMS和开源Android系统

美国政府已禁止Google认证新的华为智能手机,在这种情况下,据消息道,华为找到了一种将未来全新智能....
的头像 牵手一起梦 发表于 02-07 17:35 912次 阅读
在谷歌GMS的情况下,华为计划使用HMS和开源Android系统

Bliss OS Yantra v12.2发布 内核迭代到kernel-4.19

安卓已经是全球用户量最大的一套操作系统,其内涵和外延也随着时间推移不断扩展。
的头像 工程师邓生 发表于 02-07 17:18 826次 阅读
Bliss OS Yantra v12.2发布 内核迭代到kernel-4.19

三星新品发布会即将举行,Galaxy S20/Z Flip发布

三星中国官网2月6号更新了2020年Galaxy新品发布会的预约页面,从图片来看本次三星新品发布会将....
的头像 牵手一起梦 发表于 02-07 16:51 961次 阅读
三星新品发布会即将举行,Galaxy S20/Z Flip发布

Android 11曝光 将改进深色模式并覆盖更多的第三方应用程序

2月7日消息,据外媒报道,运行Android R(又名Android 11)的Pixel 2 XL在....
的头像 工程师邓生 发表于 02-07 15:53 710次 阅读
Android 11曝光 将改进深色模式并覆盖更多的第三方应用程序

居民二代身份证扫描识别技术的应用背景和简介及功能特点说明

这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身....
的头像 Wildesbeast 发表于 02-03 14:10 467次 阅读
居民二代身份证扫描识别技术的应用背景和简介及功能特点说明

基于Android的无线控制系统是怎样去设计

智能手机在世界范围内的快速普及,加上科学技术的高速发展,让人们对智能手机的功能要求越发靠近日常生活。
发表于 01-17 16:23 174次 阅读
基于Android的无线控制系统是怎样去设计

PuTTY Plus一款可支持Android adb的putty工具软件免费下载

本文档的主要内容详细介绍的是PuTTY Plus一款可支持Android adb的putty工具软件....
发表于 01-17 08:00 77次 阅读
PuTTY Plus一款可支持Android adb的putty工具软件免费下载

基于RFID与Android平台的清点系统是怎样的

关于RFID技术的研究倍受关注,RFID应用范围在摸索中越来越广。
发表于 01-15 16:10 168次 阅读
基于RFID与Android平台的清点系统是怎样的

GitHub发布Android Beta版本

全球最大代码托管服务提供商 GitHub,刚刚在 Github Universe 2019 大会上宣....
的头像 汽车玩家 发表于 01-15 14:05 510次 阅读
GitHub发布Android Beta版本

GitHub 安卓Beta版发布 原生支持暗色模式

在此前的GitHub Universe 2019活动上,官方宣布,全球最大的开源项目代码托管平台Gi....
的头像 工程师邓生 发表于 01-15 11:47 535次 阅读
GitHub 安卓Beta版发布 原生支持暗色模式

微软Surface Duo优化Android系统,铰链连接了两个显示屏

微软于2019年10月份发布了Surface Duo,这是一款由Android系统驱动的Surfac....
的头像 汽车玩家 发表于 01-14 10:29 473次 阅读
微软Surface Duo优化Android系统,铰链连接了两个显示屏

iPhone之后,具有超宽带的Android手机也要来了

苹果去年发表iPhone 11系列,首度搭载「超宽带」(Ultra-wideband/UWB)技术的....
的头像 汽车玩家 发表于 01-13 15:23 869次 阅读
iPhone之后,具有超宽带的Android手机也要来了

联想Ego智能手表在印度推出,支持和Android和iOS设备配对

据消息报道,联想Ego智能手表已登陆印度市场,具有50米防水,续航20天等功能;价格为1999印度卢....
的头像 牵手一起梦 发表于 01-13 14:25 1217次 阅读
联想Ego智能手表在印度推出,支持和Android和iOS设备配对

一加8系列现身GeekBench 4跑分库,运行Android 10操作系统

今日,一加8系列现身GeekBench 4跑分网站。GeekBench信息显示,这款型号为GALIL....
发表于 01-11 11:19 191次 阅读
一加8系列现身GeekBench 4跑分库,运行Android 10操作系统

首批用上超宽带技术的Android手机有望发布

报告中提到,Android智能手机将配备去年荷兰芯片制造商NXP Semiconductors推出的....
的头像 汽车玩家 发表于 01-11 10:04 624次 阅读
首批用上超宽带技术的Android手机有望发布

采用圆形设计的Cyrcle概念手机亮相,运行Android 9系统

常人印象中智能手机往往是矩形的,稍微特立独行一点的话就是加入可折叠式设计。不过在CES 2020大展....
的头像 牵手一起梦 发表于 01-10 13:44 1003次 阅读
采用圆形设计的Cyrcle概念手机亮相,运行Android 9系统

谷歌2020年1月Android安全补丁,修复总共40个安全漏洞

此次更新由2020-01-01和2020-01-05安全补丁程序组成,2020年1月的Android....
的头像 汽车玩家 发表于 01-10 11:00 678次 阅读
谷歌2020年1月Android安全补丁,修复总共40个安全漏洞

谷歌放出Android系统新补丁 多个漏洞已修复

对于谷歌来说,他们明显加快了对Android系统漏洞的修复。
的头像 工程师邓生 发表于 01-10 10:47 760次 阅读
谷歌放出Android系统新补丁 多个漏洞已修复

8BitDo推出迷你体型的Zero2蓝牙手柄,具有三种颜色款式

以复古风格和高质量的第三方游戏手柄配件商8BitDo最近推出一款新品,这个新的Zero2蓝牙手柄只有....
的头像 牵手一起梦 发表于 01-06 14:23 771次 阅读
8BitDo推出迷你体型的Zero2蓝牙手柄,具有三种颜色款式

微软向Android版Edge浏览器推送全新图标 图标更现代色彩也更丰富

1月3日,有外媒发现微软已经为Android版Edge浏览器推送了全新的图标(仅限Edge beta....
的头像 工程师邓生 发表于 01-03 17:58 997次 阅读
微软向Android版Edge浏览器推送全新图标 图标更现代色彩也更丰富

rx3288主板 Android程序怎么通过代码实现双屏异显

Android开发相关 Java 硬件交互
发表于 12-31 17:01 370次 阅读
rx3288主板 Android程序怎么通过代码实现双屏异显

iTOP-4418开发板Android5.1文件系统源码修改

基于:迅为iTOP-4418开发板 10.9.2.1 将 APK 编译到 Android5.1 镜像中 本节介绍的是如何默认安装 apk 至系统,当然用户...
发表于 12-25 11:11 3518次 阅读
iTOP-4418开发板Android5.1文件系统源码修改

4418开发板Android源码整体&单独编译

内核缺省文件配置之后,Android 目录,运行一键编译脚本“build_android.sh”,如下图所示。 注意:本篇文章基于iTOP-4418开...
发表于 12-18 10:10 2708次 阅读
4418开发板Android源码整体&单独编译

S5P4418开发板android源码下uboot和内核缺省文件的配置

uboot 需要配置缺省文件,进入解压的源码目录 android,然后进入 u-boot 目录,如下 图所示。 如上图所示,如果是 1G 核心...
发表于 12-11 10:37 2529次 阅读
S5P4418开发板android源码下uboot和内核缺省文件的配置

请问CC2541收不到notify的操作该怎么办?

Android端在case BLEConstants.ACTION_GATT_SERVICES_DISCOVERED:事件之后执行 BLEManag...
发表于 11-11 12:26 368次 阅读
请问CC2541收不到notify的操作该怎么办?

mldp仅在一个方向上起作用

使用RN4020和它是相当令人沮丧的。模块是BTLEV1.23.58/7/2015(注意:没有升级的意思,因为RTS&CTS是简单地绑在一起...
发表于 11-11 11:23 158次 阅读
mldp仅在一个方向上起作用

如何把CC2541设置成收到数据,返回response给手机?

android 给cc2541发送数据,CC2541如何设置成收到数据,返回response给手机?...
发表于 11-08 08:53 214次 阅读
如何把CC2541设置成收到数据,返回response给手机?

RK3128 Android7.1 开机铃声、开机动画怎么做

开/关机动画及铃声 需要在产品的 device/rockchip/common/BoardConfig.mk 中配置 BOOT_SHUTDOWN_ANIMATI...
发表于 11-07 09:33 520次 阅读
RK3128 Android7.1 开机铃声、开机动画怎么做

请问cysmart(Android)能同时连接两个外围设备吗?

您好! 一个CyScript(Android移动应用程序)能同时连接两个HARTATER监视器的先驱基板吗? 最好的问候,Yoshizu...
发表于 11-06 10:43 1620次 阅读
请问cysmart(Android)能同时连接两个外围设备吗?

求分享几本关于android开发的书籍名称!

如题
发表于 11-05 23:04 143次 阅读
求分享几本关于android开发的书籍名称!