自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 资源 (22)
  • 收藏
  • 关注

原创 【图文详解】Android Studio(新版本) 配置OpenCV库,解决出现的各种问题

按照顺序走解决报错问题,如果是人脸识别还需要添加jni。

2024-01-03 17:13:22 508

原创 mvc 跟mvp 和mvvm的区别

总的来说,MVC模式是传统的模式,MVP模式在MVC的基础上引入了Presenter来分离视图和模型的交互,MVVM模式在MVP的基础上引入了ViewModel来进一步减少视图和模型之间的耦合度。MVC(Model-View-Controller),MVP(Model-View-Presenter)和MVVM(Model-View-ViewModel)都是软件架构模式,用于将应用程序的不同组成部分分离开来,以便更好地组织和管理代码。这种模式使得视图和模型之间的耦合度更低,同时也减少了大量的样板代码。

2023-10-24 11:45:19 576

转载 Kotlin协程的简单用法:1、GlobalScope(不建议使用);2、lifecycleScope、viewModelScope(建议使用);

1、协程(Coroutine)协程就像非常轻量级的线程。线程是由系统调度的,线程切换或线程阻塞的开销都比较大。而协程依赖于线程,但是协程挂起时不需要阻塞线程,协程是由开发者控制的。所以协程也像用户态的线程,非常轻量级,一个线程中可以创建任意个协程。协程就像轻量级的线程。线程由系统调度,协程由开发者控制。kotlin协程本质上是对线程池的封装协程通过将线程切换的复杂性封装入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。2、GlobalScope(不建议使用);

2023-07-12 16:30:49 581

原创 Android Handler被弃用,那么以后怎么使用Handler,或者类似的功能

该主线程将 UI 事件或消息收集到队列 ( MessageQueue) 中,然后使用Looper类的实例对其进行处理。简要说就是如果在实例化Handler的时候不提供Looper, 可能导致操作丢失(Handler 没有预估到新任务并已退出)、App崩溃的bug(Handler有时候创建一个线程,但没有运行的Looper),亦或者race情况下,造成处理错误。Android API30左右,Android应用在使用传统写法使用Handler类的时候会显示删除线,并提示相关的方法已经被弃用,不建议使用。

2023-07-10 14:35:31 705

原创 安卓 View 开发 绘制尺子

。。。

2022-12-01 17:06:47 759 2

原创 Android 数据库框架ormlite 使用

...

2022-11-09 17:42:05 2170

原创 Android Sqlite 数据库升级时数据丢失解决方案

。。。

2022-11-01 15:08:29 572

原创 安卓 线程池的正确使用 模仿电影下载

。。。

2022-10-25 13:35:10 750

原创 谷歌二维码引擎zxing的使用

。。。

2022-10-25 10:31:39 689 1

原创 给你的页面带上侧滑返回——SlideBack

。。。

2022-10-19 13:51:03 221

原创 MPAndroidChart 绘制 饼状图、柱状图和折线图简单汇总

。。。

2022-09-22 14:04:16 979

原创 MPAndroidChart的使用:水平柱状图

。。。

2022-09-22 11:47:08 407

转载 MPAndroidChart的使用:柱状图(二)

。。。

2022-09-22 11:44:39 2284

原创 安卓 异或 0变1 ,1变0

。。

2022-08-29 11:50:36 410

原创 Snackbar的使用和顶部Snackbar实现

。。

2022-08-17 13:13:37 1664

原创 Android studio将一个项目作为module导入另一个项目

。。。

2022-08-17 12:10:03 3713

原创 安卓 kotlin 的简单使用

安卓 kotlin 的简单使用

2022-07-12 17:26:51 637

原创 20个Android Studio顶级插件,让你的工作更高效、更智能、更迅速

2022-07-11 13:47:23 4492

原创 Android Studio 使用WIFI调试adb (2种方法)

然后去环境变量里增加变量在CMD中输入命令adb version 如果出现这样就代表配置成功2、准备连接1、首先将电脑和手机连接同一个WIFI,并插上数据线2、打开电脑CMD,输入命令adb start-server开启adb服务3、输入adb devices ...

2022-07-11 13:43:44 3750 3

转载 Android MVP模式详解

一、MVP概述MVP,全称 Model-View-Presenter,即模型-视图-层现器。提到MVP,就必须要先介绍一下它的前辈MVC,因为MVP正是基于MVC的基础发展而来的。两个之间的关系也是源远流长。MVC,全称Model-View-Controller,即模型-视图-控制器。View:对应于布局文件Model:业务逻辑和实体模型Controllor:对应于Activity但是View对应于布局文件,其实能做的事情特别少,实际上关于该布局文件中的数据绑定的操作,事件处理的

2022-03-01 13:56:59 7818 2

转载 框架模式MVC在安卓中的实践

我们采用ListView来演示我们的MVC模式,目录结构:实体类:包含了书的名字和图片信息public class Book { //书名 private String name; //书的图片 private int image; public Book(String name, int image) { this.name = name; this.image = image; }模型类(M..

2022-03-01 13:27:52 218

原创 Android 下拉刷新,上拉更多 框架实践

activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:lay...

2022-02-22 15:36:47 551

原创 安卓 串口开发

上图:上码:在APP grable添加 // 串口 需要配合在项目build.gradle中的repositories添加 maven {url "https://jitpack.io" } implementation 'com.github.licheedev.Android-SerialPort-API:serialport:1.0.1' implementation 'com.jakewharton:butterknife:8.4.0'

2022-01-17 16:35:28 4545

原创 androidBLE蓝牙

安卓 ble蓝牙开发

2021-12-28 17:30:04 2301

原创 跑马灯灵活控制

import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.view.Display;import android.view.WindowManager;import android.widge...

2021-11-05 11:24:52 147

原创 Android UI开发——Material Design界面设计风格

添加依赖:implementation 'com.android.support:design:30.0.3'使用: <com.google.android.material.button.MaterialButton android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:.

2021-10-20 16:34:26 1527 1

转载 Android Material组件使用详解 Button样式

https://blog.csdn.net/magic0908/article/details/101029876

2021-10-20 12:05:47 192

原创 安卓 Java 时间冒泡排序

import android.os.Build;import android.text.TextUtils;import androidx.annotation.RequiresApi;import java.util.List;/** * 时间冒泡排序 * <p> * 输出结果 * E/time: 01:12 * E/time: 08:12 * E/time: 09:12 * E/time: 11:12 * E/time: 13:12 * E/time: 16.

2021-09-24 14:12:54 134

原创 Android开发listview选中高亮

百度了好几种listview选中高亮的办法都太繁琐太不友好,我在无意中发现了一种简单有效的办法,而且代码量极少源码如下MainActivity.javapackage com.listviewtest;import android.os.Bundle;import android.app.Activity;import android.graphics.drawable.Drawable;import android.view.View;import android.widg..

2021-09-18 17:37:03 697

原创 JZVideo饺子播放器播放器配置使用以及其自定义

最近在做视频这一块,对比了一下最后选用饺子视频,发现网上资料比较少而且基本都一样,比较单一,这是我找的几个比较好点的文章,供大家参考。https://www.jianshu.com/p/aafe648741b6 //比较详细https://blog.csdn.net/qq_41037945/article/details/107967265https://blog.csdn.net/cjm2484836553/article/details/78420172监听饺子播放器的播放结束..

2021-09-07 15:25:16 1949

原创 Android实现边录边播(MediaRecorder和AudioRecord)

Android可以通过MediaRecorder和AudioRecord这两个工具来实现录音,MediaRecorder直接把麦克风的数据存到文件,并且能够直接进行编码(如AMR,MP3等),而AudioRecord则是读取麦克风的音频流。本文使用AudioRecord读取音频流,使用AudioTrack播放音频流,通过“边读边播放”以及增大音量的方式来实现一个简单的助听器程序。PS:由于目前的Android模拟器还不支持AudioRecord,因此本程序需要编译之后放到真机运行。Activity_

2021-08-11 15:04:07 2165 2

原创 科大讯飞解决 唤醒未初始化

最近工序需要做智能AI这块,用到的是讯飞语音唤醒功能,跟着官方文档配置一切前期集成,到最后代码实现一直提示唤醒未初始化,最后找到一篇博客顺利解决,附上链接:https://blog.csdn.net/weixin_43186523/article/details/103465226唤醒未初始化解决方法:在main的下一级新建一个jniLibs目录,然后把arm64-v8a,armeabi-v7a放进去,虽然这个和libs里面可能重复了,但是如果不放进去,就会造成之后的唤醒未初始化...

2021-08-05 17:16:31 1446 1

转载 Android签名证书的sha1值获取方式

https://vchao.blog.csdn.net/article/details/71554321

2021-08-02 09:51:24 166

转载 Android WebSocket实现即时通讯功能

最近做这个功能,分享一下。即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。但是如果项目有特殊要求(如不能使用外网),那就得自己做了,所以我们需要使用WebSocket。WebSocketWebSocket协议就不细讲了,感兴趣的可以具体查阅资料,简而言之,它就是一个可以建立长连接的全双工(full-duplex)通信协议,允许服务器端主动发送信息给客户端。Java-

2021-07-20 16:49:04 459 2

原创 2021-07-18

shape 属性介绍可以通过设置 angle 来自定义渐变方向,它是从左向右、逆时针转的。当 angle 设置为0度时 :当angle设置为90度时:注意:设置的值以45度为一个单位。radial样式的效果图:资源文件layout/activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android...

2021-07-18 15:14:53 134 1

原创 Android 自定义Spinner和其下拉窗口

实现效果:自定义Spinner其实包括两个部分:第一部分是用来打开下拉列表的按钮,如图,这个绿色背景直接设置Spinner的背景就行,素材文件如下: <Spinner android:id="@+id/Spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft=..

2021-07-16 14:11:42 419

原创 WebRTC语音对讲无声音

最近在搞Webrtc对讲的降噪和回音消除,找了代码然后改了非常多。。。。发现一个很无语的Bug:进入程序进行语音对讲,有偶发扬声器无法播放声音,但如果首先进行视频通话,再语音,刚正常。刚开始怀疑是代码改了哪里改错了,查了很多资料,Webrtc输出的每行日志都排查了,还是不行,后来直接通过查看喇叭设置,发现那个setSpeakerphoneOn已被关闭了,真是Orz.....然后直接在启动程序时,先检查下喇叭是否关了,如果关了就重新打开,下面附上打开和关闭的代码吧:打开扬声器://检查是否关闭

2021-07-12 15:28:57 1657

转载 WebView深度学习(二)之全面总结WebView遇到的坑及优化

上篇文章讲到了WebView的基本使用以及Android和js的交互.这篇文章讲一下WebView遇到的那些坑,带领各位爬坑。这里如果有你没遇到的问题,欢迎留言告诉我,我尽我所能帮你解决。感谢大家支持。⇒ 三、WebView的那些坑(1) 为什么Webview打开一个页面,播放一段音乐,退出Activity时音乐还在后台播放?◆◆ 解决方案 1://销毁Webview@Overrideprotected void onDestroy() { if (mWebvi

2021-06-25 11:24:43 576

原创 Android程序异常崩溃后重启

有时候,我们需要应用在崩溃的时候自动重启,并打开崩溃前的那个Activity。这时候,我们就需要用到Thread.UncaughtExceptionHandler这个接口。首先,我们知道,既然是要在整个Application的生命周期范围内都有效,那么我们也应该在Application中绑定它。这里有两个做法:1.程序的Application实现这个接口:...

2021-06-20 14:35:31 2029

转载 Android 获得 usb 权限的两种方式

0. 前言在做 USB OTG 通信时,第一步就是要能够获取到 usb 的使用权限,因此特地在此处介绍一下两种我用过的获取 usb 权限方式。1. 直接在 AndroidManifest.xml 中配置这种配置方式是在 github 上 usb-serial-for-android 项目中看到的,大家如果有兴趣可以 clone 下来研究一下。<activity android:name=".DeviceListActivity" androi...

2021-05-26 17:28:25 4199 2

EventBus封装使用

EventBus封装,流式执行 ,避免空指针

2023-06-14

安卓,线程池的使用 ,封装

安卓,线程池的使用 ,封装

2022-10-24

Snackbar的使用和顶部Snackbar实现

顶部显示Snackbar,文字可以设置居中

2022-08-17

SerialPort.zip

安卓串口开发 ,主要是发送指令给单片机,做相应的动作并返相应值(UID、电压、体温等等)

2022-01-17

BlueTooth_servise_bread.zip

ble蓝牙数据读取,实时显示信号值,service后台读数据取通知 广播 更新界面

2021-12-30

BlueTooth_Test.zip

安卓ble蓝牙开发数据读取

2021-12-28

WebSocket_2021-12-08.zip

安卓Websocket通讯 实现聊天功能

2021-12-08

静默安装9.0可用 安装后自动启动 必须root.zip

静默安装 安卓9.0可以用 必须root 可以实现app自己安装自己,安装完成后并自动打开app,无需人为 任何操作

2021-11-25

BASE64Decoder.zip

BASE64Decoder 加密 解密

2021-04-22

ADB命令控制安卓手机(虚拟按键、状态栏)显示隐藏,或者直接禁用。

使用ADB命令控制安卓手机(虚拟按键、状态栏)显示隐藏,或者直接禁用。

2021-04-15

XunFeiHX.zip

科大讯飞语音唤醒

2020-11-24

XunFeiZWZ.zip

科大讯飞 语音听写 语音实时转文字

2020-11-24

安卓ZXing扫码.zip

Zxing扫码最新版,扫码速度快,稳定,出错率少,下载可以直接使用

2020-11-19

讯飞发音引擎.zip

包含多个版本的普通话 包含各个地方的方言。

2020-07-20

Threelevelmenu.zip

三级菜单,三级树目录,可以拓展四级五级菜单,跟实现三级是一样的。

2020-06-16

Threelevelmenu.zip

三级菜单,三级树目录,可以拓展四级五级菜单,跟实现三级是一样的

2020-06-15

HiPermission.zip

HiPermission android 安卓 一个简单而漂亮的运行时权限库

2019-10-09

HiPermission.zip

HiPermission android 安卓 一个简单而漂亮的运行时权限库

2019-10-09

HiPermission.zip

HiPermission android 安卓 一个简单而漂亮的运行时权限库

2019-10-09

ExpandableListView的使用

ExpandableListView相当于listview嵌套listview......

2018-01-23

Android ViewPager+Fragment超高仿微信主界面

Android ViewPager+RadioGroup+Fragment超高仿微信主界面底部滑动、点击菜单

2017-12-22

glide-3.7.0.jar

一个牛逼的图片加载库,支持gif图片的加载。。。。。。。。

2017-12-14

GPS定位Demo

可以获取经纬度和高度 准确率搞 下载直接用AS打开就可以使用

2017-11-22

扫描省份证IdCard

下载直接用AS打开就可以使用 调取后摄像头扫描身份证,身份证图片都可以。

2017-11-22

PullToRefreshListView上下拉刷新

使用PullToRefreshListView实现上下拉刷新,压缩包里有详细说明 框架都有

2017-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除