![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 84
Android
MasonYyp
这个作者很懒,什么都没留下…
展开
-
Android Studio配置开发环境
Android Studio默认安装时,软件的开发环境在C盘中,为了便于控制软件环境,自定义环境如下:我的Android环境在 “D:\android”中,“.android”是Android的虚拟机环境,“.gradle”是版本控制环境,“as”是Android Studio软件包环境,“SDK”是Android开发环境。1 设置 .android#默认会在android下生成一个.android文件夹添加环境变量ANDROID_SDK_HOME# android环..原创 2020-11-02 13:32:25 · 376 阅读 · 0 评论 -
android蓝牙扫描(简单
蓝牙扫描有两种方式startScan和startLeScan,其中startLeScan官方@Deprecated本文只做了蓝牙的扫描和显示。1、配置蓝牙权限<uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android....原创 2019-01-10 22:11:37 · 8938 阅读 · 12 评论 -
SurfaceView绘制动态直线
使用SurfaceView关键在于下面的3个回调方法。当(SurfaceHolder.addCallback()成功时调用public void surfaceCreated(SurfaceHolder holder);当SurfaceView的状态发生变化时调用public void surfaceChanged(SurfaceHolder holder, int format, ...原创 2019-01-16 11:05:26 · 837 阅读 · 0 评论 -
蓝牙BLE设备连接与通信
1、在建立BLE设备进行通信时注意3点1.1、蓝牙位置权限必须动态申请(Android 6.0以上),如果没有动态申请会出现下面的问题Need BLUETOOTH permission: Neither user 10063 nor current process has android.permission.BLUETOOTH.1.2、尽管设置了BluetoothGatt中的setCh...原创 2019-01-16 13:21:32 · 3385 阅读 · 0 评论 -
Android中自定义蓝牙的MTU
1、最大传输单元(Maximum Transmission Unit, MTU)MTU是指在一个协议数据单元中(Protocol Data Unit, PDU) 有效的最大传输Byte。2、蓝牙MTU默认23个Bytecore spec中ATT的默认MTU为23个Byte,ATT的Opcode占1个Byte、ATT的Handle2个Byte、GATT占20个Byte。23Byte...原创 2019-01-19 13:20:46 · 10072 阅读 · 5 评论 -
基于RxAndroid实现水平滑动条实时变化
RxAndroid是基于观察者模式的框架,它能漂亮的解决Android的异步问题,具体的用法可参见以下地址。Android框架:https://github.com/ReactiveX/RxAndroid其他扩展框架:https://github.com/ReactiveXReactiveX官网:http://reactivex.io/本文通过开启写入缓存和读缓存线程,两步实现水平滑动条实...原创 2019-01-21 21:23:11 · 358 阅读 · 0 评论 -
DatePicker控件和DatePickerDialog的实现和比较
一、DatePickerDialog实现和样式DatePickerDialog实现日期很简单,修改样式也很容易,代码如下:/*// Styleint THEME_TRADITIONAL = 1;int THEME_HOLO_DARK = 2;int THEME_HOLO_LIGHT = 3;int THEME_DEVICE_DEFAULT_DARK = 4;int THEME_...原创 2019-03-11 19:16:47 · 6326 阅读 · 0 评论 -
Android横屏设置和语音设置
一、语言设置设置语言变化时,不重建Activityandroid:configChanges="locale|layoutDirection"locale:语言发生改变时,文字重新显示;layoutDirection:当改变语言设置后,不重启Activity(4.2新增)。二、屏幕横屏设置设置屏幕旋转时,不重建Activity(不两次加载Activity),设置不当,会重建...原创 2019-03-12 16:11:14 · 232 阅读 · 0 评论 -
Android自定义监听器
Android实现自定义监听器有两个主要文件“监听器接口(CustomListenerInterface)”,“监听器处理类(CustomListenerHandle)”,实现之后,你会发现监听器的实现很简单。1、监听器接口// CustomListenerInterfacepublic interface CustomListenerInterface { // Upda...原创 2019-03-14 11:00:13 · 2143 阅读 · 0 评论 -
SurfaceView实现canvas中的图形上下滚动
由于移动设备屏幕通常比较小,可能不能满足工程中整个图形的显示,我找了很久就是没找到在surfaceView中实现canvas上下滚动。解决此问题我认为有两种思路,一种思路根据手的滑动,动态的绘制图形,即不断的重复清屏和绘制;另一种思路是借助ScrollView,设置surfaceView的高宽(注意:默认情况下surfaceView的高和宽即是canvas的高和宽,也可以自己修改)。第二种思路实现...原创 2019-05-22 20:43:14 · 1281 阅读 · 0 评论 -
Android监听蓝牙与设备连接状态、关闭和打开状态
在Android设备与蓝牙设备进行数据交换时,需要实时监听蓝牙关闭和打开的状态、蓝牙与设备的连接状态,进而对程序进行相应的逻辑处理,提高用户体验。本文实现了监听蓝牙的关闭和打开状态、蓝牙与设备的连接状态,详细的实现代码如下:注意:监听蓝牙状态时,请使用系统全局广播,本地广播无法实现蓝牙状态的监听1、安卓权限 <uses-permission android:nam...原创 2019-05-27 16:29:42 · 25693 阅读 · 2 评论 -
Android实现imageView在屏幕中缩放
1、要求Android中实现图片的缩放,并且图片不能完全离开屏幕。(需求比较特殊)(1)初始化自适应屏幕的宽和高;(2)图片可以缩放,限制图片的最大和最小缩放值;(3)图片可以移动,但不能完全移动屏幕,即在屏幕中移动;(4)向下移动,图片距离顶部不能超过paddingScreenMin,向上移动,图片距离底部不能超过paddingScreenMin;(5)向左移动,如果图片放大的宽...原创 2019-07-04 19:08:14 · 1416 阅读 · 0 评论 -
Android中字体大小自适应设备
本文介绍3种字体大小自适应设备的方法。第1种方法是建立针对不同屏幕分辨率的values目录,然后在相应的values下建立dimens.xml文件,并修改其中的值,这种方法比较繁琐,同时要建立多个value文件;第2种方法是使用Google新发布的3个属性autoSizeMaxTextSize、autoSizeMinTextSize、autoSizeTextType,但是这3个属性支持的最小Sdk...原创 2019-08-28 20:43:18 · 3391 阅读 · 0 评论 -
百度语音合成(Android简单实现)
1 简介百度开发文档https://ai.baidu.com/docs#/TTS-Android-SDK/top本文实现了1种离线语言合成和多种在线语音合成。百度语音合成需要经过以下几个步骤,先注册百度账号,再创建百度语音应用,然后下载百度语音的SDK(jar文件)、语音模型(dat文件)、NDK so库文件,接着将jar文件放在Project->app->libs目录...原创 2019-09-14 22:02:16 · 1926 阅读 · 0 评论 -
集成有SDK的Android Studio的安装方法
前提:JDK已经成功安装建议安装Android Studio和SDK使用集成的安装包,出现的问题会较少。1、Android Studio和SDK的下载网页http://www.android-studio.org/index.php/download/hisversion下载“android-studio-bundle-141.1903250-windows.exe”2、安装Andro...原创 2018-09-13 16:16:16 · 1629 阅读 · 0 评论 -
Android Studio真机调试问题
问题1: 检测不到设备(1)查看设备ADB工具(Android Debug Bridge tools)的驱动是否有问题?(2)安装驱动精灵,然后检测驱动,安装ADB Interface驱动问题2:调试时出现“Install canceled by user”针对红米手机:开启手机“设置”->“更多设置”->“开发者选项”->“开启开发者选项”选择“USB调...原创 2018-09-14 19:44:35 · 308 阅读 · 0 评论 -
Android Studio工程导入问题
以下问题可能对你没有用!问题1:怎样查看版本(1)查看Gradle版本Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。查看Gradle版本的方法:“打开Android Studio”->“File”->“Project Structure”->“Project”(2)查看Android SDK的版本“打开Andro...原创 2018-09-15 21:31:05 · 540 阅读 · 0 评论 -
Toolbar简单封装
Toolbar简单封装1、常规方法对Toolbar进行封装,为后续使用做铺垫,作者认为常见的对Toolbar封装的有2中方法。第一种在BaseActivity中封装,这种封装不足之处在于BaseActivity会比较复杂,耦合性高,不利于后期维护,BaseActivity一般封装语言切换等(个人见解可能有误)。第二种封装Toolbar的同时,还需要在布局文件中使用<include&g...原创 2018-12-27 17:57:03 · 410 阅读 · 0 评论 -
Fragment懒加载类
Fragment懒加载类,本文的思路如下:public abstract class LazyFragment extends Fragment { // Whether load the data protected boolean isLoadData = false; // Whether finished load the data public bo...原创 2019-01-03 16:31:24 · 145 阅读 · 0 评论