Android--Led_Demo_APK控制LED灯
下面代码主要实现接口定义,实现从.so库文件接口函数在JAVA里面的声明;
package com.friendlyarm.AndroidSDK;
import android.util.Log; public class HardwareControler
{
/* Serial Port */
static public native int openSerialPort( String devName, long baud, int dataBits, int stopBits ); /* LED */
static public native int setLedState( int ledID, int ledState ); /* PWM */
static public native int PWMPlay(int frequency);
static public native int PWMStop(); /* ADC */
static public native int readADC(); /* I2C */
static public native int openI2CDevice();
static public native int writeByteDataToI2C(int fd, int pos, byte byteData);
static public native int readByteDataFromI2C(int fd, int pos); /* 通用接口 */
static public native int write(int fd, byte[] data);
static public native int read(int fd, byte[] buf, int len);
static public native int select(int fd, int sec, int usec);
static public native void close(int fd); static {
try {
System.loadLibrary("friendlyarm-hardware");
} catch (UnsatisfiedLinkError e) {
Log.d("HardwareControler", "libfriendlyarm-hardware library not found!");
}
}
}
APK的界面部分主要是下面代码实现:
package com.friendlyarm.LEDDemo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener; import com.friendlyarm.AndroidSDK.HardwareControler; public class LEDTestingActivity extends Activity implements OnClickListener { private Button btnLED1On;
private Button btnLED1Off;
private Button btnLED2On;
private Button btnLED2Off;
private Button btnLED3On;
private Button btnLED3Off;
private Button btnLED4On;
private Button btnLED4Off; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); btnLED1On = (Button)findViewById(R.id.btnLED1On);
btnLED1Off = (Button)findViewById(R.id.btnLED1Off);
btnLED2On = (Button)findViewById(R.id.btnLED2On);
btnLED2Off = (Button)findViewById(R.id.btnLED2Off);
btnLED3On = (Button)findViewById(R.id.btnLED3On);
btnLED3Off = (Button)findViewById(R.id.btnLED3Off);
btnLED4On = (Button)findViewById(R.id.btnLED4On);
btnLED4Off = (Button)findViewById(R.id.btnLED4Off);
btnLED1On.setOnClickListener(this);
btnLED1Off.setOnClickListener(this);
btnLED2On.setOnClickListener(this);
btnLED2Off.setOnClickListener(this);
btnLED3On.setOnClickListener(this);
btnLED3Off.setOnClickListener(this);
btnLED4On.setOnClickListener(this);
btnLED4Off.setOnClickListener(this);
} public void onClick(View v) {
switch (v.getId()) {
case R.id.btnLED1On:
HardwareControler.setLedState(0,1);
break;
case R.id.btnLED1Off:
HardwareControler.setLedState(0,0);
break;
case R.id.btnLED2On:
HardwareControler.setLedState(1,1);
break;
case R.id.btnLED2Off:
HardwareControler.setLedState(1,0);
break;
case R.id.btnLED3On:
HardwareControler.setLedState(2,1);
break;
case R.id.btnLED3Off:
HardwareControler.setLedState(2,0);
break;
case R.id.btnLED4On:
HardwareControler.setLedState(3,1);
break;
case R.id.btnLED4Off:
HardwareControler.setLedState(3,0);
break;
default:
break;
}
}
}
还有一个库文件;
后面再弄上库文件的源代码;现在还没写出来,哈哈;
Android--Led_Demo_APK控制LED灯的更多相关文章
- 嵌入式Linux学习入门:控制LED灯
记录自己linux学习过程,让自己能够一直坚持下去 1.原理图分析: nLED_1, nLED_2, nLED_4, 给低电平则对应LED灯亮,高电平则对应LED灯灭, S3C2440芯片GPF4-G ...
- arduino 红外遥控器控制LED灯
/* 日期:2016.9.1 功能:红外遥控器控制LED灯 开,关,闪烁,呼吸 元件: 跳线公公头 * 5 led 220欧电阻 红外接收管,红外遥控 接线: 红外灯面向自己从左到右分别接 IO3 , ...
- arduino入门学习实现语音控制LED灯
需要的准备的硬件arduino+PC+麦克风实现语音命令控制LED灯的亮灭. 首先需要将写好的arduino程序烧录到arduino uno主板中,下面是代码如下: int val;//定义变量val ...
- C#与Arduino通过串口通信来控制LED灯的状态
一.引言 最近摆弄了一段时间的Arduino,发现Arduino做一些电子类项目.监控.机器人.电子玩具比较容易,并且Arduino与.NET程序集成也不难.接下来介绍一个简单的小程序,C#做的一个W ...
- BLE 安卓APP控制LED灯的实现(转)
源:BLE 安卓APP控制LED灯的实现 //注:参考AmoMcu源代码修改. 打开APP,检查蓝牙是否打开 BluetoothAdapter mBluetoothAdapter; final Blu ...
- enc28J60 网页控制LED灯
软件IDE:Arduino 1.6.3 1.库的安装: 从https://github.com/jcw/ethercard 下载源码包,解压,复制ethercard-master文件夹到Arduino ...
- 云中树莓派(4):利用声音传感器控制Led灯
云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 云中树莓派(3):通过 AWS IoT 控制树莓派上的Led 云中树莓派(4):利用声音传感 ...
- 树莓派开机运行Python脚本 控制LED灯闪烁
一.新建一个开机运行文件 在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个led.desktop文件(文件名以.desktop结尾) 编辑le ...
- Arduino控制LED灯(开关控制)
问题:当使用"digitalRead(BUT) == 1"控制LED灯时会出现"digitalWrite(LED, ledState);"的值出现跳动. 原因: ...
- (三)开关检测来控制LED灯的亮灭
开关检测案例一: 具体电路图如下: K1--K4闭合,控制 D1—D4 亮灭 产生的问题: 1.关于 R8 R9 R7 R10 的阻值选择问题,倘若太大的话, 比如10K 不管开关断开还是闭合,好像 ...
随机推荐
- 在VMwear 11中的Mac OS X 10.11+ 进入恢复模式(Recovery HD)
1,选中要启动的虚拟机,随后点击VM菜单的启动按钮后面向下箭头,随后点击菜单项”打开电源时进入固件“. 2,在虚拟机里面,用上下键移动到”Enter setup“上,随后继续下一步! 3,选中”Boo ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (七)
在本项目中使用到的“语音转文本”的技术总结: 语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安卓的录音权 ...
- PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization
用卷积神经网络对相机位置和角度进行回归.
- 使用cssQuery选择器语法来查找元素
使用选择器语法来查找元素 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.sele ...
- Oralce数据库的优化(面试必问题)
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先 ...
- 【Python】#!/usr/bin/python 作用
脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器.#! ...
- vb.net与c#相互转换工具
vb.net与c#相互转换工具: http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx http://www.dotne ...
- 关于session_cache_expire 的理解
session_cache_limiter,它是session在客户端的缓存方式,有nocache,private,private_no_expire,publice主这几种. cache是属于浏览器 ...
- SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合消息服务 2.具体内容 对于异步消息组件在实际的应用之中会有两类: · JMS:代表作就是 ...
- OpenGL 遮挡查询
原文地址:http://www.linuxidc.com/Linux/2015-02/114036.htm 在一个场景中,如果有有些物体被其他物体遮住了不可见.那么我们就不需要绘制它.在复杂的场景中, ...