自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 ViewRootImpl简析

ViewRootImpl是视图结构的顶层,实现了视图和WM通信的协议。很大程度上是WindowManagerGlobal的内部实现细节。ViewRootImpl不仅是视图和WM沟通的桥梁,也是事件分发的桥梁。

2023-07-16 11:32:34 1404

原创 Kt版各常用排序算法

常用排序算法(冒泡、插入、快排)

2023-06-08 10:08:25 103

原创 Failed to resolve: com.github.adrielcafe:ffmpeg-android-java:2a627f6ecd

从报错能看出是没有找到这个包,我们进入maven仓看它到底在不在,导入后编译还是会报错,需要exclude掉。1.下载library导入到项目。已经没了,不知道为什么,,,2.下载aar导入到项目。

2023-04-20 10:41:52 870 1

原创 Dagger2的简单使用及基本原理

前言   java注解除了解耦个人认为还有使代码简洁、逻辑更加突出业务逻辑代码、由于创建对象的集中,更加方便对象的维护与测试、对象的创建和生命周期的管控都交由框架等优点。Dagger2的历史:  Dagger1是Square公司开发,Dagger2则由谷歌接收在dagger1的分支上开发而来,Dagger1用了反射,消耗了一些性能,Dagger2则被谷歌声称性能提高了13%,但是其灵活性减少Dagger2的使用添加依赖:implementation 'com.google.dagger:dagg

2022-05-15 20:52:31 4409 1

原创 Android 版本号、版本名称、api版本对照表(持续更新)

Android VersionNameAPI LevelAndroid 11.0R30Android 10.0Q29Android 9.0Pie28Android 8.1Orea27Android 8.0Orea26Android 7.1.1Nougat25Android 7.0Nougat24Android 6.0MarshMallow23Android 5.1Lollipop22Android...

2021-05-21 14:00:37 39441 1

原创 精简版事件分发

事件分发概述android事件分发是应用成开发常用机制,一般的简单点击事件开发者不必关注其原理,但复杂的事件处理,尤其在布局嵌套分层处理事件时,不清楚其原理常常会一头雾水,本文旨在讲清楚基本的事件处理的原理以及流程、常见的事件分发相关的面试题。涉及到的源码基于API30流程描述从事件传到应用这里开始吧,再此之前的事件传递需要另起一篇来介绍了事件首先传递到activity,然后到viewgroup,然后到view,每层可以决定是否拦截处理事件,拦截不处理则不继续分发交给上层去处理,拦截处理则事件到

2021-01-24 15:04:25 127

原创 精简版Android ProtoBuf入门

精简版Android ProtoBuf入门前言在ProtoBuf前加Android实际是不太合适的,但本篇处理介绍ProtoBuf的基本概念优缺点外,使用主要针对广大的Android开发者。定义Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.定义还是官方比较精准:Pro

2021-01-09 16:35:42 1352

原创 精简版Handler机制

精简版Handler机制一.前言 * <p>There are two main uses for a Handler: * (1) to schedule messages and * runnables to be executed at some point in the future; and * (2) to enqueue * an action to be performed on a different thread than your own.官方文档给了H

2021-01-07 14:34:45 110 1

原创 Android EditeText格式化手机号输入

Android EditeText格式化手机号输入思路代码实现思路1.输入数字后获取编辑框内容,做替换操作,把空格替换,2.根据要求在第四位和第九位添空格3.把添加空格后的内容重新设置到EditeText4.把光标移到文本末尾代码实现1.添加文本变化监听mEtPhone!!.addTextChangedListener(this)override fun afterTex...

2019-11-15 16:43:38 277

原创 Windows10 安装 tensorflow

Windows10 安装 tensorflow[官网直达](https://tensorflow.google.cn/install/pip)Win10安装官网直达官网写的很详细也很全面,这里摘出windows的安装过程。Win10安装python安装,建议安装python3,具体版本:需要python3.4、3.5、3.6,这个很重要!!!!!很多东西都不会再python2上支持。...

2019-03-14 00:24:50 203

原创 android 逆向工程

1.反编译得到一个可运行的as项目就别想了2.反编译可以到变异的源码(现在看与源码有两点不同,1:class中的资源id都变成了数字 2:引用的库如果有混淆,对应的api调用也会改变)3.推荐反编译工具:JADX download地址:https://www.softpedia.com/get/Programming/Other-Programming-Files/Jadx.shtml...

2018-09-03 18:40:58 183 1

转载 Android 蓝牙BLE开发详解

Android 蓝牙BLE开发详解由于年初接手了个有关蓝牙BLE的项目,开始了对蓝牙ble的学习,经过长时间的慢慢学习(学得太慢,太拖了),终于了解了该怎么写蓝牙BLE,现在就给大家分享一下。一、了解蓝牙BLE1、什么是BLE首先,我们来了解一下,什么是蓝牙BLE。 BLE的全名是 Bluetooth Low Energy 就是低功耗蓝牙的意思,支持 API18(Android ...

2018-08-02 19:05:57 903

原创 android studio +Flutter环境搭建

1.环境要求Operating Systems: Windows 7 SP1 or later (64-bit)Disk Space: 400 MB (does not include disk space for IDE/tools).Tools: Flutter depends on these tools being available in your environment.PowerSh...

2018-05-14 16:06:52 4060

转载 android 双屏异显 副屏幕不随主屏幕退出(转载)

Android双屏是克隆模式,如果要在第二屏幕显示不同内容,需要自定义一个Presentation类1.设置权限&lt;!-- 显示系统窗口权限 --&gt;&lt;uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/&gt;&lt;!-- 在 屏幕最顶部显示addview--&gt;&lt;uses-perm...

2018-05-07 16:40:32 4773

转载 Android蓝牙开发全面总结

版权声明:本文出自张朋永的博客,转载必须注明出处。 https://blog.csdn.net/VNanyesheshou/article/details/51554852基本概念安卓平台提供对蓝牙的通讯栈的支持,允许设别和其他的设备进行无线传输数据。应用程序层通过安卓API来调用蓝牙的相关功能,这些API使程序无线连接到蓝牙设备,并拥有P2P或者多端无线连接的特性。蓝牙的功能:1、扫描其他蓝牙设...

2018-03-29 09:47:34 389

原创 nodejs-fetch请求结果中文乱码

    啰嗦事情的起因吧,最近在接入某美的影片接口,按照他们提供的文档试了一个接口,返回的是gbk编码的xml,服务端用的是nodejs,试了各种编码转换依然没有解决问题,相信努力总会有回报的,参考了https://www.oschina.net/code/snippet_1052456_26611,这篇文章,作者封装了原生的http请求,而没有用fetch,其实看到它这篇文章的时候几乎已经放弃了...

2018-03-28 15:50:25 3930 1

原创 设计模式-备忘录模式

定义:保存对象的某个状态,以便在适当的时候恢复对象,备忘录模式属于行为型模式。优点:给用户提供了一种可以保存状态的机制,可以让用户回到历史状态,而且这个过程不需要用户去关注保存的细节。缺点:如果对象的成员变量过多,保存状态则需要耗费大量资源举个栗子:目标对象类:public class TargetObject { private String state; public Tar...

2018-03-19 10:14:39 127

原创 代理模式简单理解

没看过代理模式之前感觉很高深,其实代理模式很好理解。代理模式:代理模式顾名思义,就是在根本目标之前加上扩展,加上扩展之后的产物就是代理对象了,整个模式就是代理模式了。原理图:代理模式有三种实现方式一、静态代理/** * Created by wangsheng on 2018/3/14. */public interface IActor { void act();}/** *...

2018-03-14 23:15:49 263

原创 设计模式-适配器模式

适配器对android工程师来说一定不陌生,但是也许仅局限于对适配器的应用,并不知道适配器是一种程序设计模式。定义:    适配器模式:当你想要一把消音手枪的时候,你却只有一把王八盒子,这个时候你需要的是一把消音器,把枪口发出的巨大的噪声转化成小到敌人不能听到的声音,那么这个消音器就是适配器了。 适配器的分类:            适配器根据实现的方式不同分为类适配、对象适配器、接口适配器。一、...

2018-03-12 23:44:07 118

原创 三种工厂模式的简单对比

很早就想把设计模式吃透,苦于懒,一直都是妄想,最近安排了一些时间,仿佛凭空多出了很多时间,现在在一点点抠抠设计模式里面的东西。设计模式的学习是很必要的,尤其对优化代码结构,提现最为明显。以下的灵感来源于:http://blog.csdn.net/jason0539/article/details/449767751. 简单工厂模式UML: 图片来源:http://blog.csdn.net/jas...

2018-03-06 10:59:51 2037

原创 Android 使用Java Mail发送邮件

Android中发送邮件有两种方式:JavaMail和Apache Commons Email,这里描述JavaMail发送邮件的过程,若使用Apache Commons Email方式请参考:http://blog.csdn.net/uu00soldier/article/details/52537577在JavaMail的github中没有找到Android使用的具体Api,但是找到了

2017-08-21 16:03:01 840

原创 andriod 获取项目文件缓存路径

项目里遇到缓存路径的时候之前基本都是自己随意建立文件夹,这样的缺点是,当在系统总清除缓存数据,或者卸载app时,之前的缓存并不能一块清除,其实andriodsdk提供了获取基于项目的sd卡缓存路径和内存的缓存路径的方法来解决这个问题public static File getDiskCacheDir(Context context) { String cachePath;

2017-04-19 09:59:07 417

原创 andriod ImageView scaleType个属性全面介绍

ImageView的scaleType属性很多,之前一直傻傻分不清楚,这里做下总结,希望对小伙伴们也有所帮助,若有错误处,欢迎指正。原图:大图     小图  1.matrix:matrix:正常绘制图片不做伸缩和位置控制2.centercenter属性对图片不做伸缩处理,只让图片居中显示3.centerCrop:centerCrop对图

2017-04-13 10:56:33 424

原创 webview不能自动播放声音,换x5内核浏览器及其sdk的使用方法

       前端写的h5页面有声音自动播放效果,但是嵌到andriod的webview之后发现并不能正常播放,ios一开始也不是能播放的,需要用户与界面互动之后才能播放,但是ios可以通过设置setMediaPlaybackRequiresUserAction,解决这个问题,但是andriod没有类似的方法。查了下解决方法: view.loadUrl("javascript:(functi...

2017-03-30 09:53:48 3672 1

原创 Parcelable和Serializable的区别

1.Serializable是java中的序列化接口,使用简单但是开销比较大,序列化合反序列化需要大量的I/O操作。2.Parcelable是andriod中的序列化方式,因此有更适合andriod平台的有点是序列化合反序列化的效率高,但是其缺点就是使用起来比较麻烦,使用过

2017-03-13 11:18:20 387

原创 jeecg报类型错误

hibernate主键生成策略贴这个不是为了装逼的,最近在搞jeecg,线上建了一个表,代码生成的id生成策略就默认是uuid,插入数据的时候老报错,原来是因为uuid策略下会转换成字符串,而数据库中则是int类型,所以报类型错误,把实体类中的生成策略改为自动增长,天就晴了。以下摘抄自:http://blog.csdn.net/caiwenfeng_for_23/article/detai

2017-03-10 18:46:10 2474

原创 qq三方登陆遇到的问题

Tencent.onActivityResultData(requestCode, resultCode, data, loginUiListener);//这句必须有否则不能回调-----------------------\授权回调Tencent.onActivityResultData(requestCode, resultCode, data, userInfoListener

2017-02-11 22:15:58 263

原创 Popupwindow挡住键盘的问题

PopupWindow含有输入框时,点击输入框,软键盘可能会挡住PopupWindow,解决方法:popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

2017-02-11 10:22:04 427

android platform-tools-r33.0.0-windows.zip

systemtrace工具保留版本,本资源是33的版本,可以下载使用

2023-05-10

android ffmpeg-android-java-2a627f6ecd

maven仓已经丢失需要的伙伴可以从这里下载

2023-04-20

空空如也

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

TA关注的人

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