自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄小梁的博客

专注Android开发,兴趣使然的编码工匠,书写高质量、漂亮的代码

  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android 最强RecyclerView分割线XRecyclerViewDivider重磅来袭!!

目录前言一、分割线绘制原理二、XRecyclerViewDivider的功能1.LinearLayoutManager2.GridLayoutManager2.StaggeredGridLayoutManager总结前言沉浸在Android前端这几年里,接触最多的业务就是RecyclerView列表展示数据了,每次写到需要分割线时都是到网上copy,有时候一些分割线又不能满足需求,只能在布局上做文章。虽然这样可以实现需求,但是总感觉这样写会写很多重复的代码,这边添加了View,那边又设置paddin

2021-06-02 22:23:23 3137 6

原创 MTPopup,Android一个简单强大的弹框

断断续续地,利用工作之余的不少时间才整合了这个XPopup。虽然没啥高深的技术,但是我认为这个库能给大家在项目上带来些许方便吧,使用它,大家就不必频繁的新建class了,直接链式调用,差不多所有的逻辑都可在上面完成,并且覆盖了Android所有的弹框类型,总结起来就是调用简单、功能强大。...

2022-05-11 20:29:06 3710 2

原创 Android 解决gradle命令运行乱码问题

疫情肆虐,居家办公一个星期了,这几天一直在优化项目资源编译问题,此后会找个时间把它分享给大家,今天的主要是解决gradle命令运行乱码问题,其实之前看到项目编译时一直会有中文乱码问题,所以查了下资料将解决方案总结给大家因为我们用的是window,AS一般都会设置成UTF-8的编码,但gradle却不是这样的编码,所以编码不同会导致使用gradle运行项目出现中文乱码问题,网上看到的需要在项目的 project build.gradle文件中添加:tasks.withType(JavaCompile)

2022-03-19 00:18:30 6435

原创 Android 说说Bitmap那些事

过了一个年,发现自己懈怠,没怎么去写博客了,项目中遇到的问题也很想把它写出来,但是都没有付诸行动,最近重构完项目的一些烂代码,闲下来时也是时候把项目中遇到的问题分享给大家。好了,唠叨说完,今天主要说下图片压缩那些事,在Android开发中,我们无可避免地都会和图片打交道,其中图片压缩就是我们比较常见和棘手的问题,处理过程中需要注意失真和内存的问题:图片马赛克了,业务或测试就找上门了;Android大量位图(Bitmap)加载导致内存溢出。Android加载图片的对象就是我们老生常谈的Bitmap了,Bit.

2022-03-09 22:34:00 5768 1

原创 MVPArch - Android MVP 快速开发框架

MVPArch一个可有效提高Android开发效率的MVP框架封装Activity/Fragment基类-BaseActivity/BaseFragment(Fragment懒加载开关配置)封装MVP模式Activity/Fragment基类-BaseMVPActivity/BaseMVPFragment,V与P层生命周期监听和绑定,解决诸多内存泄漏问题使用 LoadingHelper实现可定制化的页面LCE视图LoadingDialog加载框定制化,可随意切换使用TitleBar 实现可全

2021-09-24 18:23:34 1538 1

原创 Android 优雅地管理Dialog弹框

我们应该都知道任何一个app的UI都会遵循一个统一的样式,比如我们的Dialog、Log、Toast等,统一管理好自己的组件库,对自己或后来人都会有很大地帮助的。记得自己刚开始接手某个项目时,发现这个项目什么规范都没有,命名啥的也不规范,虽然有一些统一管理的工具类,但是写地真是烂,唉,说多了都是泪。。。。接下来讲解下小球项目里Dialog,我们项目中Dialog居中显示,属性有标题、内容、按钮(1或2个),如我们的布局文件dialog_common_view.xml<?xml version="1.

2021-09-18 10:16:34 1181 1

原创 Android 组件导出风险及防范

文章目录前言一、四大组件二、组件导出必要性三、组件导出风险四、如何防范总结前言近年来,移动APP存在一个非常的重要的问题就是安全问题,造成的后果有可能是用户的隐私泄露和财产损失等,对于一款成熟的APP或者是金融银行类APP,这无疑是最致命的,所以对APP进行有效的防范也是很有必要。近段时间,公司安排了某安全公司对我们的APP进行了全方面的安全测试,根据文档检测结果看,整体上看还是很安全的,其中有一项就是组件导出风险,接下来我们说说四大组件、组件导出必要、风险以及如何防范。一、四大组件从事An

2021-09-08 18:32:04 5699 4

原创 Android RecyclerView滚动到指定位置并且置顶方案

之前相关项目一直有用到RecyclerView,其中很多地方都需要列表滚动到某个位置,即RecyclerView滚动到指定位置,所以我们今天来总结下实现的方案。 在实现方案之前先了解下RecyclerView和滑动有关的几个方法:scrollTo(int x, int y)和scrollBy(int x, int y),前者无法实现滚动,里面是空实现;后者控制具体的滚动距离。scrollToPosition(int position),可以滚动到指定条目,但是当指定条目显示在屏幕中就不会滚动的也.

2021-09-02 20:42:38 10031 1

原创 Android Activity防劫持方案

最近,安全合规部门又对金融类、银行类app进行了大规模的多方面安全检查,其中有一项安全问题:Activity劫持。其实Android界面防劫持我们app这边也是做了的,但是为啥还会有这些问题呢?自我感觉就是绝不会有此类问题,于是我们向检测部门要了劫持工具,但是事实往往是打脸的。。。。。那么什么是Activity劫持呢?简单的说就是我们APP正常的Activity界面被恶意攻替换上仿冒的恶意Activity界面进行攻击和非法用途。界面劫持攻击通常难被识别出来,其造成的后果必然会给用户带来严重损失。举个例.

2021-08-25 19:02:56 4817 3

原创 Android 申请权限前简单封装弹框阐述申请理由工具类,应付app合规检查

近段时间,经常在网上看到,工信部通报很多app合规检查不合格,拒不整改,勒令全部下架这些新闻…确实自己也感觉到了这些年国家对互联网和app的整治风向和对于用户信息保护的决心。对于app的专项整改中,有一项就是app权限申请的规范:权限申请前需要向用户阐明申请权限的用处,接下来就是简单地封装了权限申请提示语弹框工具类,在申请权限时统一弹框阐明app申请权限地用处。项目中用到地三方权限申请框架是uitlcode库中...

2021-08-21 13:18:35 5142 6

原创 Android getDimension()、getDimensionPixelSize()和getDimensionPixelOffset()的详解

最近这一段时间比较忙,都没怎么写博客了,这篇文章主要想介绍几个有关dp、sp和px相互转换的系统api:getDimension()、getDimensionPixelSize()和getDimensionPixelOffset()的区别。回想起刚学android时,dp转px或sp转px都是用的网上的工具类DensityUtils,如下: /** * dp转px */ public static int dp2px(float dpVal) { .

2021-08-16 21:25:33 4153 1

原创 Harmony鸿蒙学习—安装开发环境

文章目录文章目录文章目录前言一、安装DevEco Studio二、安装SDK总结前言Harmony鸿蒙系统已经出了一段时间,作为开发搞技术的人怎么会不研究研究新生事物呢!最近百般波折很戏剧性地又回到了老东家的甲方,这一段时间也是比较闲吧,所以利用看了看鸿蒙,也捣鼓了一段时间,接下来会跟大家一起来学习鸿蒙。本文主要介绍怎么在Windows上搭建鸿蒙的开发环境。一、安装DevEco StudioHarmony鸿蒙开发工具是DevEco Studio,它是基于IntelliJ IDEA Com

2021-07-05 11:06:41 539 1

原创 RecyclerView 如何正确地获取子View对象、item的数量和View对应的position

RecyclerView是我们用到比较频繁的控件之一,有时获取某个子View或其对应的position时往往达不到预期的结果。之前写的这个万能分割线XRecyclerViewDivider也遇到了这些问题,接下来详细说下几个方法的意义吧。RecycleView的getChildAt(position)这个方法在RecycleView未满一屏的时候是没有问题的,可以正确地拿到position对应地View,但是在满一屏地情况下,getChildAt(position)获取的View是null。

2021-07-05 09:25:52 11347 4

原创 Android Studio 上传开源库到Github并发布

文章目录一、新建Android项目和Module依赖库二、AndroidStudio上传项目至GitHub三、创建依赖库版本并发布四、获取依赖地址五、项目配置依赖库一、新建Android项目和Module依赖库可看我的博客文章Android Studio 如何创建、引用library二、AndroidStudio上传项目至GitHub可看我的博客文章Android Studio上传Android项目到GitHub(最新)三、创建依赖库版本并发布通过上面两个步骤我们在Github上就可看到我们

2021-05-30 16:39:18 644 4

原创 Android Studio 如何创建、引用library

文章目录前言一、创建Android工程二、创建Module三、引用Library前言随着业务的发展,代码逻辑模块化是必经的一条路,我们需要将相同的功能归纳到Lib中,避免编写重复性代码,本文介绍如何创建Lib并应用于实际项目中。一、创建Android工程我们使用Android Studio 4.2.1创建项目工程,如下图:随后会弹出如下界面,我们选择Phone and Tablet>Empty Activity,然后Next:然后到了我们项目相关的属性设置,如下图:这里主要注意的

2021-05-30 13:41:46 4890 3

原创 Android 左右竖直滚动的Table(二)

前言  大家好呀,最近烦事特别多,现在好不容易静下心写第二篇Table系列文章,第一篇文章:Android 左右竖直滚动的Table(一)主要是用HorizontalScrollView+NestScrollView+RecyclerView实现Table复杂的滚动效果(效果动图可看上面第一篇文章),但是这个会带来一个致命的问题就是Item的不能够复用,因为ScrollView的特性,它会一次性渲染全部的item,所以数据量到几百的时候,要很久才能进来这个页面,这个东西给产品经理看到还不diss你。。。嗯

2021-05-29 01:30:41 532 2

原创 Android 左右竖直滚动的Table(一)

前言最近项目中接触的表格设计需求有点多,提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport

2021-05-24 00:37:55 1541 2

原创 Android Studio上传Android项目到GitHub(最新)

文章目录前言一、Git 安装配置二、配置GitHub登录信息三、上传项目到GitHub前言我们开发过程中提到最多的就是版本控制,以前公司用的是svn,它比较适合开发人数不多的项目,属于集中式开发,而git是分布式版本控制系统,强调的是个体,可以有效高速处理从小到大的项目版本管理。GitHub是代码托管平台,类似这样的还有很多,例如码云等,本文主要讲解如何将Android Studio项目通过Git上传至GitHub以及在此过程中遇到的一些问题解决。在操作过程中需要GitHub账号、Android St

2021-05-23 14:29:09 4641 6

原创 Android https 自签名和CA证书验证(基于OkHttp)

Android HTTPS自签名和CA证书验证(基于OkHttp)HTTPS介绍场景HTTPS介绍HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。简单来说,HTTPS就是“安全版”的HTTP, HTTPS = HTTP + SSL。HTTPS相当于在应用层和TCP层之间加入了一个SSL/TLS,SSL层对从应用层收到的数据进行加密。TLS/SSL中

2020-11-12 20:56:09 7773 5

原创 Android正确使用Scheme协议打开App,兼容浏览器scheme的二次跳转

Android中使用Scheme协议打开AppURL SchemeURL Scheme是一种页面内跳转协议,通过定义自己的URL Scheme协议,可以从一个APP中打开另外一个APP指定的页面,也可以从H5页面中跳转到APP指定的页面(实际上就是从一个浏览器中的一个页面跳转到APP指定页面)。URL Scheme协议格式:一个完整的完整的URL Scheme协议格式由scheme、host、port、path和query组成,其结构如下所示:<scheme>://<host&

2020-08-14 11:20:49 18807 7

原创 Android Stuido 类文件头部设置作者、日期等相关信息

Android Stuido设置作者相关信息1.打开Android Studio设置界面2.找到File Header图中可以看到除了File Header还有几个项,其中Company Header(公司)和Personal Header(个人)是自己创建的注释模板,点击+可以添加更多的模板,添加完之后不要忘了点击下方的apply按钮,这样你的模板才会保存下来。3.设置模板生效现在就可以创建一个新的java文件,看看效果。现在可以看到生效的模板是File Header,怎么样让Pers

2020-06-26 14:30:12 2652 1

原创 H5开发app页面,点击输入框或文本域弹出输入面板时,布局会被顶上去的解决办法

本人学的是android原生的,现在刚实习,公司本意呢想让新人学习下新技术就把我安排到开发android h5页面去了,虽然之前学过一点h5的知识,但是呢实际操作起来不如意啊。遇到这个问题时,我不知道怎么做啊,还是度娘吧,整理出了这个解决办法。&lt;script type="text/javascript"&gt; // 控制手机输入法弹出时,页面不会...

2018-04-17 18:01:53 6335 2

ReuseTable.zip

Android用RecyclerView实现左右滑动列标题固定,竖直滚动行标题固定的表格(Item复用可加载大量数据)

2021-05-29

NoReuseTable.zip

Android用RecyclerView+ScrollView实现左右滑动列标题固定,竖直滚动行标题固定的表格。

2021-05-29

java课程设计--个人电话簿(增删查改排序等)

简单的java课程设计--个人电话簿,主要功能是增删查改和排序的功能

2017-12-07

空空如也

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

TA关注的人

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