自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Heyn的征途

Android小菜鸟的万里征途

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android中的Random类中常用方法 Random.nextFloat()

Android 随机数

2024-03-06 17:15:04 183

原创 Android BottomNavigationView底部菜单栏文字显示问题

2. BottomNavigationView 如果tab栏数据大于3个,那么图标会显示出来,但是文字会隐藏;1. BottomNavigationView 如果tab栏数据小于等于3个,那么图标和文字都是展示出来;3. 解决方式: (当底部tab栏个数大于3个时,也会显示图标+ 文字)

2023-11-24 16:53:32 406

原创 腾讯TBS文档X5内核初始化false的解决方案(Android端)

理由: 当前应用如果拥有读写权限,初始化成功率很高;没有读写权限,初始化大部分都失败。1. Application 中初始化,如果初始化false, 重新下载X5内核。2. 权限申请---按照正常读写权限申请即可,无特殊要求。2. 进入APP首页后,立即请求手机内存的读写权限。1. Application 初始化。解决步骤:(两条必须执行)

2023-05-31 10:49:22 1008

原创 Android EditText输入框字数监听

【代码】Android EditText输入框字数监听。

2023-05-04 11:39:26 494

原创 Flutter 搭建运行环境遇到的问题1

问题:* What went wrong:Execution failed for task ':connectivity:parseDebugLibraryResources'.> Could not resolve all files for configuration ':connectivity:androidApis'. > Failed to transform android.jar to match attributes {artifactType=android...

2021-09-29 10:39:34 1271

原创 TabLayout 控件在app:tabMode=“scrollable“下,tabItem控件没有充满屏幕,却出现了点击滑动的现象

今天在设置TabLayout相关属性的时候,设置 app:tabMode="scrollable", 三个tabItem排列至屏幕的左半部,但是点击切换的时候,却出现了滑动的现象。经过仔细的测试,发现是因为在TabLayout中设置了android:padding="10dp";导致出现点击item会滑动的现象。处理方式: 移除padding设置,可以使用margin代替...

2021-09-01 20:53:57 810

原创 Parcelable进行序列化时为什么有集合定义的时候一定要初始化?

使用Parcelable 时 遇到有集合定义的时候,为什么一定要进行初始化呢?如图所示:解析: 因为如果不进行初始化,直接定义private List<Score> scores; 会出现如下错误信息:应该是反序列化过程中集合部分的读取出现了异常导致;导致使用intent进行数据传递时,数据传递失败;所以对于集合定义时一定要进行初始化;...

2021-01-28 15:28:05 178

原创 uni-app 初学常见踩坑问题

1. 项目运行至微信小程序,控制台提示渲染层错误,微信控制台提示websocket链接失败? 解决方式:先要扫码登录微信开发者工具。

2020-06-10 10:47:25 1316

原创 算法学习-给定数字n, 在{1,2,3...n}中任意组合成n位数(数字不重复),求第key小的位置上的组合数

题目:给定数字n, 在{1,2,3...n}中任意组合成n位数(数字不重复),求第key小的位置上的组合数字是多少? 例如:给定数字n =3,可以得到所有的数字组合为{123,132,213,231,312,321}, 那么第key=4位置上的数就是===》231代码实现与理解: 1. 根据key得出各个位置上的数字----在剩余数字--中的位置(从小到大) 例如...

2020-05-22 10:42:27 642

原创 基础算法-快速排序的理解与实现-Android版

快速排序:冒泡的进化版,根据某一值key, 将大于key 的往后放,将小于key的往前放;通俗结果就是最后key值左边的比key都小,key值右边的比key都大;在对两侧的序列单独进行key值比较交换,依次类推...代码的实现与理解: int a[] = {5, 3, 4, 8, 9, 1, 7, 0, 2, 6}; sort(a, 0, a.length - 1); for (int h = 0; h < a.length; h++) {

2020-05-14 16:28:38 224

原创 基础算法-归并排序的理解与实现-Android版

归并排序:采用分治法排序,先分后治; 将数组分成两个数列,再将左子数列分成两个数列,再将右子数列分成两个数列...直到每一个子数列只有一个数字; 然后就是治,也称为merge;将两个有序数列合并成一个有序数列的过程;代码实现与理解: int a[] = {2, 3, 5, 6, 9, 0, 4, 7, 8}; // 归并排序 sort(a, 0, a.length-1); for (int h=0;h < a.length;h +

2020-05-11 14:09:11 172

原创 基础算法-希尔排序的理解与实现-Android版

希尔排序:直接插入排序的进化版,又称为“缩小增量排序”; 根据key值,将待排序数列分成若干个子序列,针对每一个子序列进行直接插入排序;然后逐步缩小key值,直到key=1,此时即为直接插入排序;例如: a[] = {5, 3, 9, 6, 2, 1, 4, 0, 8, 7};假如key=5, 可知{5, 1}===&gt...

2020-05-08 15:02:18 231

原创 基础算法-插入排序的理解与实现-Android版

插入排序:从未排序的数组中选择一个数,插入一个有序的数组中;代码实现的重点就是找到该数字在有序数组中的位置,并插入代码理解与实现 1: int a[] = {5, 3, 9, 6, 2}; for (int i = 0; i < a.length; i++) { Log.i("ch...

2020-05-07 15:08:57 146

原创 基础算法-选择排序的理解与实现-Android版

选择排序: 通俗理解(从小到大排序),从需要排序的数组中找出最小值的角标,跟首位交换位置;依次类推,完成相关排序代码实现与理解: int a[] = {5, 3, 9, 6, 2}; for (int i = 0; i < a.length; i++) { Log.i("chy选择...

2020-05-07 11:11:33 163

原创 基础算法-冒泡排序的理解与实现-Android版

背景:冒泡算法是一个十分基础的算法,奈何自己脑子不好使,总也记不住,故做此文章,以便记忆。理解:冒泡算法的官方说明就不写了,通俗的理解就是每一轮进行--相邻两两比较--并把---最大的那个数----找出来放在最后;因为每一轮循环都会得到一个最大的数冒出来,所以称之为冒泡算法;写代码前有两点要理解: 1. 整个数组完成排序需要进行n-1轮比较:例如 int a[] = {...

2020-04-28 09:46:45 254

原创 某音短视频无水印下载APP的Android端实现

近日对于某音的短视频下载有个需求,借鉴网上大神的相关经验,写了个简单的无水印下载视频的APP。抖音视频无水印下载的Android端APP实现操作步骤1. 点击抖音视频的分享按钮,在下面的菜单栏中选择“复制链接”2. 打开该APP,将链接赋值到文本框中,然后点击下载即可,有简单的进度提示页面截图GitHub: https://github.com/heynchy/...

2019-12-18 11:08:31 2042

原创 面试题 9.1 用两个队列实现一个栈(Android版)

相关题目: 用两个队列实现一个栈思路分析: 整体的思想跟用两个栈实现一个队列,大同小异直接源码:/** * Author: Heynchy * Date: 2019/11/21 * <p> * Introduce: 用两个队列实现栈的操作 */public class StackUtil { private static LinkedLis...

2019-11-21 18:10:49 200

原创 面试题 9: 用两个栈实现队列(Android版)

题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, 分别完成在队列尾部插入节点和在队列头部删除节点的功能。分析思路:1. 用栈完成队列形式的“先进先出”的逻辑。栈本身是“先进后出”的, 类似于将3包垃圾,放入垃圾桶,最先放入的就被压在最底下了,这就是栈。2. 而队列是先放入的要能先拿出来,类似于要将放入垃圾...

2019-11-18 16:36:16 181

原创 面试题 8:二叉树的下一个节点----Android端的实现方式

题目:给定一颗二叉树和其中的一个节点,如何找出中序遍历的下一个节点?树中的节点除了有两个分别指向左,右子节点的指针,还有一个指向父节点的指针。(二叉树如下图所示) 中序遍历:{d,b,h,e,i,a,f,c,g}分析: 考虑中序遍历的特点以及下一个节点可能出现的情况1. 节点的左子树不可能有下一节点(中序遍历)2. 节点的右子树存在时,其右子树的最左子节点就是下一节...

2019-07-18 11:32:51 121

原创 面试题7: 重建二叉树---Android端实现方式

题目:题目:输入某二叉树的前序和中序遍历结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4, 7, 2,1,5,3,8,6},则重建如下图所示的二叉树并输出它的头结点。...

2019-07-16 14:58:04 222

原创 面试题 7 :二叉树遍历-前序遍历(DLR),中序遍历(LDR),后序遍历(LRD)-Android端非递归实现

二叉树实体定义:/** * Author: Heynchy * Date: 2019/6/24 * <p> * Introduce: 二叉树的定义 */public class TreeNode implements Serializable { private TreeNode left; // 左子树 private TreeNode r...

2019-07-09 19:08:28 589

原创 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现

二叉树定义:/** * Author: Heynchy * Date: 2019/6/24 * <p> * Introduce: 二叉树的定义 */public class TreeNode implements Serializable { private TreeNode left; // 左子树 private TreeNode ri...

2019-06-28 14:04:19 1043

原创 面试题6: 从尾到头打印链表---Android端实现

题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。链表的定义: /** * 链表的实体类型 */ public class ListNode { int value; // 节点的值 ListNode listNode; // 类似于指针 public int getV...

2019-03-25 17:01:54 111

原创 基于Eros框架下Android端——网络请求个数原因导致闪退问题分析

问题:错误类型:java.lang.OutOfMemoryErrorLOG 日志:java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory at java.lang.Thread.nativeCreate(Native Method) at java...

2019-03-25 10:29:02 408

原创 Eros 框架的问题分析—— Android端输入框无法清空字符的问题分析与解决

问题: JS端Input 框再输入一段字符后,进行删除操作,表面上输入框中数据已经被清空,但是输入框的value中仍然保留最后一个字符,无法移除解决方案:---- 亲测有效 可以修改nexus/sdk 中AbstractEditComponent.java文件,包名:"package com.taobao.weex.ui.component"在该文件的addEvent()方法中...

2019-03-21 16:54:29 413

原创 Eros 框架的问题分析——Android端下拉刷新的问题

问题描述: 当第一次进入界面并进行下拉刷新时,下拉或者上滑===》下拉刷新框会根据手指触屏的位置产生一段比较大的位移原因分析:Scroll 的 子项中(item中)的相关点击事件的ACTION_DOWN处于消费状态,即scrollView 中的触屏事件action_down不会被触发,造成y轴的初始化距离为0,导致计算过程中产生了距离误差源码部分: @Override...

2019-03-12 16:21:30 174

原创 链表初识(二):找到链表中第一个含有某值的节点并删除该节点

由于链表的内存不是一次性分配的,因而无法保证链表的内存和数组一样是连续的。如果想查找某一个节点,则只有从头节点开始遍历,其时间效率为O(n);在数组中可根据下标来找到目标的元素,其时间效率为O(1); 如果想要找到某一节点的值或者某个数组位置存储的值,则时间效率都为O(n);代码以及相关说明如下: /** * 删除链表中的某一节点 * * @param...

2019-02-28 15:30:42 1102

原创 链表初识(一): 在链表的末尾插入一个数据

链表是一种动态的数据结构,在创建链表时无须知道链表的长度。代码实现:/** * 链表的实体类型 */ public class ListNode{ int value; // 节点的值 ListNode listNode; // 类似于指针 public int getValue() { ...

2019-02-21 10:38:11 3476

原创 面试题 5: 替换空格

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”, 则输出“We%20are%20happy.”。整个字符串的替换在Java中有很多简便的方法,例如正则表达式。这里我们还是按照书上的方法来进行实现。将字符串看成是字符数组来进行相关处理。代码实现以及相关理解: /** * 替换空格 * * 方法...

2019-02-20 13:55:29 94

原创 面试题 4:二维数组中的查找

       题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。测试数组: 1      2       8       9                    2      4       9      12                    4     ...

2019-02-12 14:45:47 106

原创 面试题 3: 数组中重复的数字(三)

题目二:不修改数组找出重复的数字 在一个长度为n+1的数组里的所有数字都在 1~n 的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为 8 的数组{2,3,5,4,3,2,6,7},那么对应的输出是重复的数组 2或者 3。分析理解:    例如:{2,3,5,4,3,2,6,7}  ===&gt;  8 个数, 二...

2019-01-23 11:32:04 193

原创 Android 百度OCR文字识别功能的简单集成

Github 链接:https://github.com/heynchy/BaiduOCR简单的了解一下百度OCR文字识别SDK的集成,环境的配置和相关接口的使用百度OCR通用文字识别功能介绍: 1. 通用文字识别功能(调用百度自带的UI方案)-----通用识别 2. 高精度通用文字识别功能(调用百度自带的UI方案)-----高精度识别 3. 对本地的图片进行识别Usage...

2019-01-22 15:04:44 1825

原创 Android 微信支付功能的集成说明

  最近接触了一下微信的支付功能,同时参考了网上很多大佬的讲解和说明,做了一个简单的微信支付功能的集成。WechatPayAndroid 微信支付功能的简单集成和入坑说明,集成了微信支付的统一下单功能和支付功能微信支付功能介绍: 1. 统一下单功能-----这个实际应用中需放在服务端进行处理 2. 支付功能-----调起支付界面,接收支付的返回状态Usage1. Ad...

2019-01-14 14:48:45 389

原创 Eros配置过程中 npm install 命令的执行意义

1.  npm install : 安装Eros项目中所需的项目依赖包(与package.json文件相关)2.  package.json文件有两个重要的依赖部分dependencies 和 devDependencies     dependencies:  显示的是配置模块依赖的模块列表,key是模块名称,value是版本范围;                          ...

2019-01-11 14:27:12 428

原创 面试题 3: 数组中重复的数字(二)

题目一 :找出数组中重复的数字在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为 7 的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数组2或者3。 第二种解法: 重新排列数组的方法 ---- 时间复杂度O(n),  空间复杂度O(1)...

2018-12-12 16:36:53 210

原创 Android 中 ScrollView 与 侧滑功能产生的滑动冲突解决

问题场景: scrollView 嵌套了listView, 并且该listView配置了侧滑删除的功能,如果不做处理,可能会发生 侧滑动作不流畅,侧滑按钮不能完全滑出,侧滑后的功能键失效等问题原因分析: scrollView 的滑动 与 侧滑发生了冲突; 当我们在滑动过程中 x轴 和 y轴 或多或少都会发生变化; 也就是说在侧滑时可能触动了scrollView 的上下滑动(y轴...

2018-12-12 10:35:01 680

原创 面试题 3: 数组中重复的数字(一)

题目一 :找出数组中重复的数字     在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为 7 的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数组2或者3。 第一种解决方法:利用哈希表来解决这个问题 (时间复杂度O(n),  空间复杂度...

2018-12-03 18:40:57 207 1

原创 面试第2题:单例模式(Singleton)---Android端双重校验锁

面试场景: 写一个你认为最好的单例的实现方式应对: Android端双重校验锁的单例实现理解: 理解单例的基本原理,写起来就容易多了,可理解为全局只有这一个实例手写:已经在代码的注释中说明了面试时,可能会延申的几个小问题;理解不透彻的地方,还请多多指教。public class SingletonMode { /** * volatile关键字: 保持内存的可见...

2018-11-26 14:21:20 1097

原创 面试第1题:赋值运算符的理解(Android)

其实基本的运算符使用每个人都会,但是有时候细节的处理还欠缺火候,导致面试上出现失误。从自身小菜鸟的经历出发,比较难理解的就是 a++ 和 ++ a的使用顺序问题,虽然很明白,但是有时候会很蒙。具体的理解都在注释中: public static void main(String[] args) { int a, b, c; a = b = c = 5; ...

2018-11-26 14:12:58 193

原创 Android开发工具类:将数字转换为汉字的表现形式

应对个性需求,将数字转换为汉字的表现形式;例如:1089 ===&gt; 一千零八十九个人水平有限,仅支持最大四位整数的转化:public class NumberToChineseUtil { /** * 将数字转换为汉字 * * @param number * @return */ public static Stri...

2018-11-22 15:41:33 1550 4

app-release.apk

github地址: https://github.com/heynchy/douyinAndroidDownload 支持抖音视频无水印下载,一个简单的Android应用实现,借鉴了网上各位大佬的代码参考,仅仅以学习为基础,认真的学习技术和实践

2019-12-18

空空如也

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

TA关注的人

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