自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android应用内悬浮按钮 可自由拖拽 自动靠边

应用内悬浮按钮

2023-01-13 20:25:44 1399

原创 动态代理详解

动态代理详解

2023-01-10 09:41:53 1457

原创 java反射详解

java 反射详解

2023-01-09 15:46:00 409

原创 获取View显示区域的百分比

这里只是对view的top和bottom做了处理,并且没有考虑view的width。如果你在项目中需要处理view的left,right时需要做一定的调整。

2022-10-11 15:27:22 205

原创 Kotlin 知识点记录

kotlin基础点整理

2022-09-30 14:02:50 926

原创 android 动画中插值器Interpolator详解

android 插值器

2022-06-29 14:48:49 3627

原创 android 创建桌面快捷方式 ShortCut

android 创建桌面快捷方式 ShortCut

2022-06-24 16:03:53 3756

原创 Android Scrapped or attached views may not be recycled.

recyclerview刷新清空数据,未调用notifyDataSetChanged(),或者是在请求数据之前就先clear数据了,然后请求之后才notifyDataSetChanged();在删除数据后需要刷新一下adapter,即:myRecycleAdapter.notifyDataSetChanged();崩溃日志:...

2022-06-22 14:28:08 316

原创 android 中kotlin使用相关知识

Android Lifecycle、ViewModel和LiveDataAndroid Jetpack 组件之 ViewModel(Kotlin)Android Jetpack 架构组件最佳实践Kotlin Coroutines(协程) 完全解析(二),深入理解协程的挂起、恢复与调度开发者指南

2022-03-04 17:28:55 2406

原创 Kotlin-Android-Extensions:不仅仅是替代findViewById

kotlin-android-extensions是kotlin为Android专门提供的扩展插件,虽然现在其提供的功能不多,但是光是替代findViewById功能,就已经值得使用了。至于以后官方是否会提供更多的功能,让Android开发更快速便捷,就只能拭目以待了module:app -> build.gradle 添加以下代码apply plugin: ‘kotlin-android-extensions’Activity示例代码import kotlinx.android.synt

2022-03-02 13:58:20 867

原创 Android 图片压缩最常用的几种方法

在android开发中图片是非常容易造成OOM异常的,大部分情况下,都需要对图片进行压缩展示,本文主要是记录下在开发中常见的几种图片压缩方法一、质量压缩保持像素的前提下改变图片的位深及透明度(即:通过算法抹掉(同化)图片中的一些某点附近 相近的像素)达到降低质量压缩文件的目的。 使用场景:将图片压缩后将图片上传到服务器,或者保存到本地,根据实际需求 /** * 质量压缩 * 设置bitmap options属性,降低图片的质量,像素不会减少 * 第一个参数为需要压缩

2022-02-23 10:58:51 6337

原创 Android断点续传原理及实现

常见两种网络请求方式一、 HttpURLConnectionHttpURLConnection的setRequestProperty()方法,对我们要读取的字节部分进行控制,比如:···1.Range=0-100代表只读取前100个字节。2.Range=100-500代表读取从第100个字节开始,读到第500个字节为止。3.Range=100-则代表从第100个字节开始读取,一直读取到文件末尾结束。···断点续传过程1、在暂停时记录一下已经读取到的位置,在重新开始的时候利用setReque

2022-02-16 17:01:48 2633

原创 java 使用Try-with-resources 自动关闭资源

介绍:Try-with-resources是Java7中一个新的异常处理机制,它能够很容易地关闭在try-catch语句块中使用的资源。利用Try-Catch-Finally管理资源(旧的代码风格)下面的方法读取文件,然后用System.out打印:private static void printFile() throws IOException { InputStream input = null; try { input = new FileInputStream

2022-02-16 15:23:22 1598

转载 Java IO操作详解

在Java编程中,IO(输入输出)是重要的组成部分,Java应用常常需要从外界输入数据或者把数据输出到外界。Java IO的核心用一句话概括:抽象类或接口之中的抽象方法会根据实例化子类的不同,会完成不同的功能。所有的IO操作都在java.io包之中进行定义,而且整个java.io包实际上就是五个类和一个接口:(1)五个类:File、InputStream、OutputStream、Reader、Wirter;(2)一个接口:Serializable。一、文件操作类File在整个java.io包之中

2022-02-16 14:13:49 1065

原创 Java常见的8种数据结构

数据结构是指数据在计算机内存空间中或磁盘中的组织形式算法是完成特定任务的过程二分法查找r=2^s s:查找步数 r查找范围 幂函数s=log2® 已知范围获取需要的次数 对数算法复杂度使用O(N)函数进行标示 主要是去除常数 看运行时间受数据项个数的影响常见排序参考地址 https://blog.csdn.net/muranfei/article/details/80923996栈 对列 优先级对列栈按照“后进先出”、“先进后出”的原则来存储数据,先插入的数...

2022-01-30 11:14:21 11430

原创 Java中 DecimalFormat 用法详解

对Java中 DecimalFormat 的所有基础用法进行了一个汇总。DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。小数部分 #代表最多有几位,0代表必须有且只能有几位.00 表示最终结果得有两位小数,没有,我给你加上;多了,就四舍五入第三个小数.## 标示最终结果最多有两位小数 一位或者没有都可以 多了同样四舍五入第三位整数部分 0 和 #当整数部分为0时 比如 0.1 #此时认为整

2022-01-24 16:09:41 4077

原创 自定义View实现 android圆形统计图 带动画可以点击

通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 MPAndroidChart 是不错的选择,如果只是需要一个简单的独立的饼状图控件,希望RingView满足你的要求。控件介绍效果图如下控件功能展示一组数据 绘制圆环,展示对应模块文本信息, 点击对应模块进行放大处理实现过程绘制圆环圆环的基本绘制圆环的绘制实际就是通过先后绘制两个半径不同的圆实现,圆就是360度的扇形,canvas.drawArc提供了这个功能:public void d

2021-08-09 17:21:28 2797 1

原创 Mac中adb使用

Mac中adb使用使用mac进行开发的时候,有时候需要使用adb指令来进行一些操作,但是如果没有配置过Android环境变量,可能会出现adb: command not found的问题,查了一些资料,这里记录一下mac上配置Android环境变量的方法:一、配置adb环境变量打开mac的terminal终端,输入 cd ~/ 【进入当前用户的home目录】输入 touch .bash_profile 【如果没有.bash_profile这个文件,则创建一个这个文件】输入 open .bash_

2021-07-08 16:27:05 6351

原创 Android Studio 打包卡在 app:transformClassesAndResourcesWithR8ForRelease

今天升级Android Studio 到最新的3.4正式版,之前是3.2.1的版本,在编译打包的时候,debug没有问题,但是release时却卡在 app:transformClassesAndResourcesWithR8ForRelease 很长时间,一直不能生成包,有时候产生 java.lang.OutOfMemoryError: GC overhead limit exceeded 这...

2019-10-30 15:52:09 2246

原创 android7.0 通过FileProvider获取uri

android7.0以后,使用Uri.fromFile会报FileUriExposedException异常,这是因为android7.0以后执行了更加严格的文件管理,要解决这一错误需要使用7.0新添加的FileProvide类,FileProvider使用步骤:1、注册一个FileProvider在manifest里面定义一个FileProvider:<manifest> ...

2019-08-14 14:58:04 1770

原创 解决v4jar包升级版本 keyeventcompat不存在的错误

Error:(45, 31) 错误: 找不到符号符号: 类 KeyEventCompat位置: 程序包 android.support.v4.viewv4包的版本从25升到27的时候运行报错解决:KeyEventCompat类被取消了 hasNoModifiers方法已经被KeyEvent实现了版本升级前:if (KeyEventCompat.hasNoModifiers(eve...

2019-08-13 16:12:35 2713 1

原创 颜色不透明度16进制对照表

记录下开发中常用的不透明度对应的16进制,注意是不透明度100% — FF 完全不透明 对应透明度0% ff000000 对应纯黑色99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85...

2019-08-02 16:34:10 30914

原创 详解Adnroid文件存储路径

1.前言在Android 开发中,存储肯定是必不可缺少的,很多开发同学对于调用一些诸如getFilesDir,getExternalStorageDirectory方法的时候并不清楚他的数据到底存在了哪里,下面详细的介绍下不同的方法的存储位置及外部存储和内部存储概念讲解2.外部存储和内部存储内部存储概念:注意内部存储不是内存。内部存储位于系统中很特殊的一个位置,如果你想将文件存储于内部存储...

2019-07-10 16:07:46 309

原创 Mac下Charles的抓包教程

1.1 Charles是在Mac下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。1.2 除了在做移动开发中调试端口外,Charles也可以用于分析第三方应用的通讯协议。配合Charles的SSL功能,Charles还可以分析Https 协议。1.3 Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然

2019-06-04 17:41:51 32104 2

原创 android中实现文本滑动----TextView/EditText

需求中需要实现文本的横向或者纵向滑动的时候,一开始自然就想到了ScrollView和HorizontalScrollView这两个可以实现,但是ScrollView 有个特性就是它的内部只能有一个子元素,这样如果有多个控件外层还得给套一层布局包裹,想想这样不仅费事,而且还会影响绘制,布局一旦嵌套过多就会导致重复绘制,影响界面绘制效率,在产品需求中只是简单地滑动和处理点击事件的时候,就可以从控件的...

2019-05-09 17:28:24 3949

转载 Android7.0中PopupWindow的showAsDropDown异常问题

PopupWindow经常在项目中作为重量级弹层使用,最近在项目开发中发现7.0系统的showAsDropDown异常问题,在Android7.0以前,// 定义一个PopupWindow变量,并设置宽、高PopupWindow popupWindow = new PopupWindow(mWidth, mHeight);popupWindow.setFocusable(true);/...

2019-04-29 17:37:03 699

原创 AndroidUI 优化——include、merge 、ViewStub

在布局优化中,Androi的官方提到了这三种布局、、,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用;1、布局重用标签能够重用布局文件,简单的使用如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"...

2019-04-25 16:28:42 238

原创 Android studio ---debug模式下打出release签名包

在日常开发中微信支付,分享,百度地图等第三方的功能都需要在release包下功能才能正常使用。为了在直接运行时,可以直接使用这些功能,可以通过配置签名文件来实现;此篇文章主要是写下在android studio中签名文件的配置;本地签名配置方法项目 - 右键 - Open-Moudle-Settings 或者点击顶部快捷按钮,切换到签名配置页面,如下图2. 点击左下角+号 添加签名,...

2019-04-16 19:56:30 3401

转载 如何解决 Android7.0之后部分手机无法抓包

最近,测试提出来这么一个问题,说公司android7.0以上的手机针对https请求没办法抓包,他们拿不到数据。很是尴尬。好了进入正题,通过一波的查阅资料过后发现:android7.0+的版本新增了证书验证,https的安全证书手机端和电脑端都必须安装,这个是前提;又由于android手机多厂商系统定制的问题,可能有部分手机确实无法抓包,这里,对于抓包的问题上,我们在给测试打包的时候要对我们的...

2019-04-10 15:34:03 2440

转载 解决android中Error:Module not specified

http://www.pianshen.com/article/112075099/

2019-04-01 15:52:49 3416

原创 Android Activity之间切换闪屏问题解决办法

在实际开发中,界面切换除了在同一个页面上显示不同的UI,可以使用fragment进行实现,当fragment嵌套层级过多的时候,可以使用activity切换实现类似的功能,实现方法如下:Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent ); ...

2019-03-25 15:38:48 2353 1

原创 android中leakcanary的使用

LeakCanary检测内存泄漏:LeakCanary是Square公司出的开源框架(Square出品,必属精品),是一个Android和Java的内存泄露傻瓜化并且可视化的内存泄露分析工具,当检测到某个activity有内存泄露,LeakCanary会弹出通知,定位到内存泄露的位置。使用它大大减少OOM的问题,提高App的质量。1. List item在 build.gradle 中加入引...

2019-03-25 15:34:30 1295

原创 Mac上从gitlab上拉项目实战总结

简介:本文流程性记录从gitlab上拉取一个具体分支的代码。前提是gitlab上有个现成的项目。Go—&gt;step1:创建mac上的公钥和私钥(1)进入mac秘钥生成目录cd ~/.ssh如果路径下无文件,直接跳过下一步,如果有代表有ssh key,需进行第二步进行备份(2)备份已有的key,(如果有的话)mkdir key_backupmv id_rsa* key_back...

2018-12-21 10:23:13 2562

原创 Fiddler 抓取app包以及抓取https

下载最新版fiddler ,强烈建议在官网下载:https://www.telerik.com/download/fiddler正常傻瓜式安装,下一步,下一步,安装完毕后,先不用急于打开软件。下载并安装Fiddler证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe...

2018-12-18 15:11:35 2345 2

原创 Android Studio设置字体和主题

步骤:在我们的电脑里面打开android studio,然后点击 File &gt;&gt; settings &gt;&gt; Appearance &amp; Behavior &gt;&gt; Appearance来到修改界面 如下图所示:(Theme 主题修改 ;Name 字体 ;size 字号大小;其他的效果自己设置就可以看到,下图是其中的一种效果)2、修改代码区域的字体,字号...

2018-12-12 11:27:30 279

原创 git 查看/修改用户名、密码

1.用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。2.修改密码git config --global credential.helper store (输入这个命令后,以后只要在输入一次用户名密码)3.查看用户名和邮箱地址:$ git co...

2018-11-20 10:02:04 17498 4

转载 Git客户端(TortoiseGit)基本使用详解

1、 环境安装Git最新版下载地址:https://gitforwindows.org/ TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/ 安装的方法,一直下一步就行,具体做法省略。 2、 配置 1. 首先,请选定一个存放Git项目的目录,这样管理方便. 如: D:\t...

2018-11-19 14:01:29 523

转载 android studio 快捷键修改

有关android studio快捷键的一些设置一。把studio中的快捷键设置成eclipse中用的快捷键File----&gt;setting----&gt;搜索keymap-----&gt;如图  二。更改快捷键选中要修改的快捷键右键 就能弹出对话框了,对话框有4个选项,这里解释下4个选项:Add Keyboard Shortcut:设置键盘快捷键Add ...

2018-10-31 14:57:54 1034

原创 解决R文件找不到(cannot resolve symbol R)

在项目进行修改时,经常会出现R文件找不到或者无法解析这个错误,但是R文件确实是存在的,只是提示找不到R文件而已,导致整个代码文件中全是错误,但是还是能正常编译运行。大多数情况下产生这个问题的原因是由于资源文件错误,如布局文件里写错了,或者布局文件名有大写字符,或者.9图格式不对等等。试过网上的各种方法,如 **Clean、 ReBuild 、重启android studio,都没能解决,在将R...

2018-10-08 17:07:16 7714 1

原创 React Native 开发中常见问题

报500错误 在运行ReactNative项目的时候,手机上经常会出现这种错误,解决办法: 在当前项目的路径下分别运行以下命令:npm uninstall babel-preset-react-nativenpm install [email protected] —save如果你是用的yarn的话,需要将npm修改为yarn:yarn r...

2018-09-12 15:12:35 453

RingViewDemo.zip

自定义View实现 android圆形统计图 带动画可以点击

2021-08-09

空空如也

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

TA关注的人

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