开源

Android蓝牙通信——AndroidBluetoothManager

转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN To get a Git project into your build: Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } Step 2. Add the dependency dependencies { compile 'com.github.kongqw:AndroidBluetoothManager:1.0.0' } AndroidBluetoothManager 效果图 PNG GIF 基础功能 添加权限 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.

继续阅读

Android自定义雷达扫描控件

转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN Android 雷达扫描控件 To get a Git project into your build: Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories: allprojects { repositories { ... maven { url 'https://jitpack.io' } } } Step 2. Add the dependency dependencies { compile 'com.github.kongqw:AndroidRadarScanView:1.0.1' } 源码:AndroidRadarScanView 效果图 XML <com.kongqw.radarscanviewlibrary.RadarScanView android:id="@+id/radarScanView" android:layout_width="match_parent" android:layout_height="match_parent" /> 初始化 radarScanView = (RadarScanView) findViewById(R.

继续阅读

打造简洁高效的动态权限管理器

转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN 效果图 GitHub地址:PermissionsManager 随着Android 6.0的普及,动态权限的重要性也开始时慢慢体现出来。为了更好的保护用户隐私,Android 6.0要求在进行敏感操作之前,必须要向用户请示申请权限。 如何使用,在之前的文章里也已经介绍过了,但是用起来比较麻烦。Android6.0动态获取权限 我希望可以封装一下,使用之前创建一个动态权限的管理对象,他有两个回调来告诉我权限申请成功或者失败,像这样: mPermissionsManager = new PermissionsManager(this) { @Override public void authorized(int requestCode) { // TODO 权限通过 } @Override public void noAuthorization(int requestCode, String[] lacksPermissions) { // TODO 有权限没有通过 } }; 使用的时候,可以直接调用一个方法,把要请示的权限传进去就可以进行校验,像这样: // 检查权限 mPermissionsManager.checkPermissions("请求码", "要校验的权限"); 于是乎,下面封装的动态权限管理器就来了: 动态权限管理器 package com.kongqw.permissionslibrary; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.provider.Settings; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import java.

继续阅读

OpenCV+JavaCV实现人脸识别

转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN OpenCV主要实现人脸检测功能 JavaCV主要实现人脸对比功能 具体的就不啰嗦了,本来最近很忙,主要是因为好多人私信我要 Android使用OpenCV实现「人脸检测」和「人脸识别」 的Demo,今天特意抽出时间写了一下。 效果图 源码 KqwFaceDetectionDemo 感觉有用的话,就给个star吧,谢谢!! 注意 最后啰嗦一点,如果你的程序是跑在手机、pad等设备上,一般没有什么问题。 但是如果你是在自己的开发板上跑,可能会有一些小插曲。 比如我司的机器人是定制的Android板子,对系统做了裁剪,很多摄像头的方法可能就用不了 例如这样一个错误 AndroidRuntime: java.lang.RuntimeException: setParameters failed 当打开程序的时候,OpenCV会提示,没有找到可用摄像头或者摄像头被锁住(大概这个意思,我就不截图了),一种可能是设备真的没有接摄像头,也有可能是摄像头定制过,导致某些方法用不了,比如上面的错误就是我遇到的其中一个。

继续阅读

Android自定义摇杆

转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN 效果图 源码 KqwRockerDemo 喜欢就给个star,谢谢! 功能 支持自适应大小 支持2个方向、4个方向、8个方向的摇动监听 支持摇动角度获取 可选回调模式 支持可摇动区域自定义 支持摇杆自定义 支持设置图片、色值、Shape图形 使用 <kong.qingwei.rockerlibrary.RockerView android:id="@+id/rockerView_center" android:layout_width="100dp" android:layout_height="100dp" android:layout_centerHorizontal="true" kongqw:areaBackground="#FF333333" kongqw:rockerBackground="#FF987654" kongqw:rockerRadius="15dp" /> 参数 参数 是否必须 描述 areaBackground 可选 可摇动区域的背景 rockerBackground 可选 摇杆的背景 rockerRadius 可选 摇杆半径 设置回调方式 setCallBackMode(CallBackMode mode) 参数 回调方式 描述 CALL_BACK_MODE_MOVE 有移动就立刻回调 CALL_BACK_MODE_STATE_CHANGE 状态有变化的时候回调 监听摇动角度 返回角度的取值范围:[0°,360°)

继续阅读