安卓button设置背景图_迅为开发板安卓JNI开发实战教程使用编译好的 so 库

ea800acd993b0677c944599497a4c13a.png

转自迅为开发板安卓JNI开发指南

硬件平台:迅为iTOP-412开发板

B站搜索:北京迅为,免费观看同步视频教程:

上一小节我们已经编译了 so 库,那么我们或者其他人拿到这个 so 后要怎么使用呢?这一节我们通过写

一个简单的 app 来给大家演示下。

我们打开 AS,然后新建一个项目,选择一个空的 Activity,如下图所示:

b7a3ef68aff50cfd43513d2167488ee8.png

这里我要注意一下,我们的包名要和我们调用的 jni 库的包名一样,否则会出问题,之前我们在写 jni 的时候,我们的包名如下图所示:

包名:

6043a2a6597c4076676e41ad4499fbe2.png

那么我们在新建工程的时候包名也要是这个,如下图所示:

94e7456a5ef9190618f529c8e2973e2d.png

创建成功以后,我们找到我们新创建的这个工程的所在目录,然后把我们之前编译好的 so 库放进去。

存放 so 库的文件夹一定要为 jniLibs,名字不要改,如下图所示:

7299c820e4dd99c79f329243528efca2.png

Jnilibs 文件夹放的就是我们生成的 so 库,如下图所示:

4b5193f725cffbb5e00c9d2d2970d6eb.png

然后我们点击一下 AS 软件的同步,如下所示:

75460347f1baa8b3decd8bcf5f469de1.png

同步完成以后就可以在工程目录下看到我们这个 so 的文件夹了,如下图所示:

0d5d9d67348ad14810528437650df389.png

然后我们在 MainActivity 里面引用我们这个库,我们添加以下代码:

static {

System.loadLibrary("native-lib");

}

如下图所示:

9b2713dd39d43f47723b397578db7bbb.png

然后我们声明一下方法,在 MainActivity.java 里面添加以下代码,代码如下:

public native int LedOpen();

public native int LedClos();

public native int LedIoctl(int num,int en);

如下图所示:

d19998545453ee92fb22091d05f97699.png

然后我们打开 activity_main.xml 文件,

012cca75f220586cd736df764f0390f7.png

然后删掉以下代码:

d83c50a8f9aa7bcd262583c1b463582f.png

设置俩个 button,代码如下:

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="LED1 OFF" />

<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="87dp"

android:text="LED1 ON" />

</LinearLayout>

添加完如下图所示:

70c20cf3ec9e3e363a4c7608ae04c868.png

然后打开 MainActivity.java,声明俩个按键,并且在按键的点击事件里面打开设备节点和进行控制 led 灯

的操作,代码如下:

声明俩个按键:

private Button led1_on;

private Button led1_off;

按键的点击事件

led1_on = (Button) findViewById(R.id.button1);

led1_off = (Button) findViewById(R.id.button2);

led1_on.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

LedOpen();

LedIoctl(1, 1);

}

});

led1_off.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

LedOpen();

LedIoctl(0, 0);

}

});

}

如下图所示:

0cc981cd50f0fca9a7562253ee4a7833.png

然后添加以下代码:

import android.view.View;

import android.widget.Button;

如下图所示:

c27f61a190c2e588e91cefe82e9081b3.png

然后我们连接开发板,这里我们使用的是 IMX6Q 开发板安卓 4.4 系统,这里一定要使用开发板,不然看不到点灯效果,连接好以后,我们点击运行,如下图所示:

cc8f8a8eb4c6aae48d386adb74d9b634.png

然后我们就可以看到 app 已经成功安装到了开发板上,并且可以控制 led 灯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值