
Android
Heynchy
这个作者很懒,什么都没留下…
展开
-
TabLayout 控件在app:tabMode=“scrollable“下,tabItem控件没有充满屏幕,却出现了点击滑动的现象
今天在设置TabLayout相关属性的时候,设置 app:tabMode="scrollable", 三个tabItem排列至屏幕的左半部,但是点击切换的时候,却出现了滑动的现象。经过仔细的测试,发现是因为在TabLayout中设置了android:padding="10dp";导致出现点击item会滑动的现象。处理方式: 移除padding设置,可以使用margin代替...原创 2021-09-01 20:53:57 · 924 阅读 · 0 评论 -
Parcelable进行序列化时为什么有集合定义的时候一定要初始化?
使用Parcelable 时 遇到有集合定义的时候,为什么一定要进行初始化呢?如图所示:解析: 因为如果不进行初始化,直接定义private List<Score> scores; 会出现如下错误信息:应该是反序列化过程中集合部分的读取出现了异常导致;导致使用intent进行数据传递时,数据传递失败;所以对于集合定义时一定要进行初始化;...原创 2021-01-28 15:28:05 · 225 阅读 · 0 评论 -
算法学习-给定数字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 · 730 阅读 · 0 评论 -
基础算法-归并排序的理解与实现-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 · 204 阅读 · 0 评论 -
基础算法-希尔排序的理解与实现-Android版
希尔排序:直接插入排序的进化版,又称为“缩小增量排序”; 根据key值,将待排序数列分成若干个子序列,针对每一个子序列进行直接插入排序;然后逐步缩小key值,直到key=1,此时即为直接插入排序;例如: a[] = {5, 3, 9, 6, 2, 1, 4, 0, 8, 7};假如key=5, 可知{5, 1}===>...原创 2020-05-08 15:02:18 · 271 阅读 · 0 评论 -
基础算法-冒泡排序的理解与实现-Android版
背景:冒泡算法是一个十分基础的算法,奈何自己脑子不好使,总也记不住,故做此文章,以便记忆。理解:冒泡算法的官方说明就不写了,通俗的理解就是每一轮进行--相邻两两比较--并把---最大的那个数----找出来放在最后;因为每一轮循环都会得到一个最大的数冒出来,所以称之为冒泡算法;写代码前有两点要理解: 1. 整个数组完成排序需要进行n-1轮比较:例如 int a[] = {...原创 2020-04-28 09:46:45 · 307 阅读 · 0 评论 -
某音短视频无水印下载APP的Android端实现
近日对于某音的短视频下载有个需求,借鉴网上大神的相关经验,写了个简单的无水印下载视频的APP。抖音视频无水印下载的Android端APP实现操作步骤1. 点击抖音视频的分享按钮,在下面的菜单栏中选择“复制链接”2. 打开该APP,将链接赋值到文本框中,然后点击下载即可,有简单的进度提示页面截图GitHub: https://github.com/heynchy/...原创 2019-12-18 11:08:31 · 2240 阅读 · 0 评论 -
面试题 9.1 用两个队列实现一个栈(Android版)
相关题目: 用两个队列实现一个栈思路分析: 整体的思想跟用两个栈实现一个队列,大同小异直接源码:/** * Author: Heynchy * Date: 2019/11/21 * <p> * Introduce: 用两个队列实现栈的操作 */public class StackUtil { private static LinkedLis...原创 2019-11-21 18:10:49 · 229 阅读 · 0 评论 -
面试题 9: 用两个栈实现队列(Android版)
题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, 分别完成在队列尾部插入节点和在队列头部删除节点的功能。分析思路:1. 用栈完成队列形式的“先进先出”的逻辑。栈本身是“先进后出”的, 类似于将3包垃圾,放入垃圾桶,最先放入的就被压在最底下了,这就是栈。2. 而队列是先放入的要能先拿出来,类似于要将放入垃圾...原创 2019-11-18 16:36:16 · 215 阅读 · 0 评论 -
面试题7: 重建二叉树---Android端实现方式
题目:题目:输入某二叉树的前序和中序遍历结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4, 7, 2,1,5,3,8,6},则重建如下图所示的二叉树并输出它的头结点。...原创 2019-07-16 14:58:04 · 263 阅读 · 0 评论 -
面试题 8:二叉树的下一个节点----Android端的实现方式
题目:给定一颗二叉树和其中的一个节点,如何找出中序遍历的下一个节点?树中的节点除了有两个分别指向左,右子节点的指针,还有一个指向父节点的指针。(二叉树如下图所示) 中序遍历:{d,b,h,e,i,a,f,c,g}分析: 考虑中序遍历的特点以及下一个节点可能出现的情况1. 节点的左子树不可能有下一节点(中序遍历)2. 节点的右子树存在时,其右子树的最左子节点就是下一节...原创 2019-07-18 11:32:51 · 148 阅读 · 0 评论 -
面试题 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 · 635 阅读 · 0 评论