自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CGG92的博客

IT----Android

  • 博客(62)
  • 资源 (26)
  • 收藏
  • 关注

原创 Android计算点击坐标是否在圆内和椭圆内

最近工作需要,顺带学了波数学。要判断点是否在圆内,可以使用圆的几何性质:如果点的坐标(x, y)满足(x - 圆心x)^2 + (y - 圆心y)^2 < 半径^2,则该点在圆内。

2024-06-10 12:00:00 252

原创 LeetCode 9 - 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

2024-06-09 10:00:00 396

原创 LeetCode 7- 整数反转

拿到整数x后,先拆分成数组,然后反向遍历,注意下负值,然后通过java自带的转换成int就行,超出范围的默认0。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [-2。假设环境不允许存储 64 位整数(有符号或无符号)。还是得走正规思路:通过官方解析得出对应的思路。- 1] ,就返回 0。

2024-06-08 09:00:00 298

原创 LeetCode 3038 - 相同分数的最大操作数目 I

删除前两个元素,分数为 3 + 2 = 5 ,nums = [1,4,5]。-删除前两个元素,分数为 3 + 2 = 5 ,nums = [6,1,4]。3、长度边距判断,长度不够直接返回次数,值的和不等于首次的和,也直接返回次数。-删除前两个元素,分数为 1 + 4 = 5 ,nums = [5]。由于下一次操作的分数与前一次不相等,我们无法继续进行任何操作。输入:nums = [3,2,1,4,5]输入:nums = [3,2,6,1,4]2、记录首次元素的和,并记录次数1。

2024-06-07 17:38:19 322

原创 LeetCode 4 - 寻找两个正序数组的中位数

解题思路:如果两个数组都是0,直接返回0,然后创建新数组,把nums1和nums2的元素都添加进去,然后通过sort重新排序(升序),然后判断奇偶,奇数取中间值,偶数取两个中间值和的平均数。给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。算法的时间复杂度应该为 O(log (m+n))。

2024-06-07 16:23:38 258

原创 LeetCode 2395 - 和相等的子数组

给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的 和 相等。注意,这两个子数组起始位置的下标必须 不相同。如果这样的子数组存在,请返回 true,否则返回 false。子数组 是一个数组中一段连续非空的元素组成的序列。

2023-03-27 19:30:00 663

原创 LeetCode 2 - 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2023-03-02 20:27:57 366

原创 记录有趣的小知识

int a = b * c ; 如果 b*c 超过 int 的范围,会变负

2022-03-24 15:42:10 158

原创 Android app本地切换logo和名称

首先呢,在app的AndroidManifest.xml文件里,配置需要替换的logo和app名称eg:下面配置了一套默认的,两套用于切换的icon和名称android:enabled: 设为“true”时,就会启用当前别名的Activity,和当前的icon和当前的应用名称: 设为“false”时,表示停止使用当前别名的Activityandroid:icon:当前别名的应用图标android:label:当前别名的应用名称android:name:别名,命名规则同Activelyandroi

2022-02-10 10:36:44 2466

原创 LeetCode 495 - 提莫攻击

在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。正式地讲,提莫在 t 发起发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。给你一个 非递减 的整数数组 timeSeri

2021-11-10 21:02:36 147

原创 LeetCode 367 - 有效的完全平方数

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false提示:1 <= num <= 2^31 - 1思路:硬怼,初步就1 4 9 16,分析可以得出,除了1比较特殊,其他都可以算出来。 public boolean isPerfectSquare(int num

2021-11-04 20:58:25 112

原创 LeetCode 496 - 下一个更大元素 I

给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:对于 num1 中的数字 4 ,你无法在第二个数组中找到下一个更

2021-10-26 20:26:40 93

原创 LeetCode 229 - 求众数 II

给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]提示:1 <= nums.length <= 5 * 104-109 <= nums[i] <= 109思路:首先还是得读懂题目的意思,给定一个长度为 n 的整数数组,找出里面出现次数超过 n/3 次的元素,意思就是元素个数

2021-10-25 21:11:04 155

原创 LeetCode 240 - 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,

2021-10-25 18:55:11 131

原创 LeetCode 66 - 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]提示:1 <= digits.

2021-10-21 21:16:45 115

原创 LeetCode 453 - 最小操作次数使数组元素相等

给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。示例 1:输入:nums = [1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]示例 2:输入:nums = [1,1,1]输出:0提示:n == nums.length1 <= nums.length <= 105-1

2021-10-20 20:51:44 215

原创 LeetCode 171 - Excel 表列序号

Excel 表列序号 (LeetCode)题目 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: columnTitle = “A”输出: 1示例 2:输入: columnTitle = “AB”输出: 28示例 3:输入: columnTitle .

2021-10-19 20:58:26 218

原创 gif跟随ProgressBar一起动/pk进度条gif特效

最近做了个小功能,

2021-06-05 18:59:37 1442 1

原创 解决EditText和ScrollView的滑动冲突

不累赘,直接上方案这里还是说下我们主要用到的方法是ViewParent.requestDisallowInterceptTouchEvent /** * Called when a child does not want this parent and its ancestors to * intercept touch events with * {@link ViewGroup#onInterceptTouchEvent(MotionEvent)}. *

2020-07-17 12:19:35 441

原创 Android字体加粗的几种样式

起因:因为产品对字体加粗效果不满意,觉得没有别人家的粗,所以呢,作者在网上查找了些资料(ps:就几句代码),整理了一下,放出来,给需要的同道中人使用:效果,老规矩,先上图:由图可知,就三种加粗效果(第一行是默认的大小),然后慢慢变粗的,字体大小都一样哦。下面贴代码啦:java代码 //第二行效果 tv1.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); //第三行效果 tv2.getPaint().se

2020-07-02 20:02:09 6090 1

原创 RecyclerView的ItemDecoration简易使用(去除RecyclerView(任意一条)分割线)

项目中经常遇到给RecyclerView左右设置padding、layout_margin,有时候会导致item不能滑动到边缘,设置ItemDecoration呢,又容易第一个item和最后一个item的边缘和item之间的间距不一样所以就初步使用下面的方法,可以自己设置每个item的padding值,不需要再在RecyclerView里设置啦,代码没有封装,只有初步使用,经常使用的话,建议提取出来 RecyclerView.ItemDecoration itemDecoration = new R

2020-06-24 14:43:58 1135

原创 productFlavors 多渠道打包,一机多包

直接上链接:多渠道打包:首先,是选择哪种第三方平台的统计,下面以友盟+为例,这里就不描述怎么集成友盟+了,直接进入正题吧记得在清单文件配置下:基本就OK了,打包的时候全选就行了。一机多包:有时候,需要在手机上安装一个测试环境的包,然后一个正式环境的包,这时候,就需要手机上面安装两个App了。上图:每次选择对应的Build版本就行了:...

2020-06-06 11:52:43 254

原创 Activity的事件分发源码分析

Activity的事件分发流程图dispatchTouchEvent(MotionEvent event)onTouchEvent(MotionEvent event)首先我们在Activity中重写dispatchTouchEvent方法,然后点击super.dispatchTouchEvent(ev)进入系统源码,就是Activity的dispatchTouchEvent(Motion...

2020-03-27 23:44:25 1125

原创 事件分发的基础知识

什么是事件分发用户通过屏幕与手机交互的时候,每一次点击、长按、移动等都是一个事件。事件分发机制:某一个事件从屏幕传递到各个View,由View来使用这一事件(消费事件)或者忽略这一事件(不消费事件),这整个过程的控制。事件分发的对象是谁系统把事件封装为MotionEvent对象,事件分发的过程就是MotionEvent分发的过程。事件的类型按下(ACTION_DOWN)移动(ACT...

2020-03-27 23:19:20 213

原创 android 字符串特定字符变色

先上效果:代码实现:text 数据源keyword 要变颜色的字符串color_FA9A3A 要变的颜色style_color_FA9A3A 也可以改变字体的size和其他的熟悉,自己设置 public SpannableString matcherSearchText( String text, String keyword) { SpannableStrin...

2019-07-10 14:46:55 1987 3

原创 使用adb指令通过Studio往机顶盒上安装apk

1.电脑与机顶盒建立连接adb connect 172.16.14.2092.安装应用adb install E:\003.apk E:\003.apk 路径+名称 003.apk 安装apk的全称3.最后肯定是断开adb连接了adb disconnect 172.16.14.209...

2019-02-28 15:44:21 1929

原创 activity管理类

记录acticity的启动记录,用于退出程序时,关闭所有acticity单纯 mark 一下,下次直接用:import android.app.Activity;import java.util.ArrayList;import java.util.List;/** * @author CGG * activity管理类 * Created by USER on 2019/1/16...

2019-01-31 11:22:55 292

原创 WebView 的一些优化和使用

w

2018-09-15 16:26:09 294

原创 解决Android Webview 加载一些网页出现白板现象

在最近项目中,调用第三方网页加载在Webview中,一直打不开,显示白板,但是浏览器却可以打开,一脸懵逼,先上码: WebSettings settings = wvPingduoduo.getSettings(); // 支持javascript settings.setJavaScriptEnabled(true); // 设置可以支持...

2018-07-07 11:19:55 1056

原创 ant 一键自定义打包 打包转Gradle 一键自定义打包

java项目打包异常:java.lang.OutOfMemoryError: GC overhead limit exceeded android-sdk-windows\platforms\android-4(这个目录根据你的情况来定,我用的是android 1.6)\tools\dx.bat 加入: set javaOpts=-Xmx512M(可以设置更大点) Sdk\build-too

2018-05-19 15:33:58 721

原创 android studio混淆打包之transformClassesAndResourcesWithProguardForRelease 错误

在android打包发布的时候,往往需要对app进行压缩,混淆,去除无效文件等,以保证发布出去的app占用资源尽可能的小。因此需要我们对gradle进行必要的配置(以android studio打包为例)。1、build.gradle 配置 buildTypes{ debug { //多余的参数 minifyEnabled...

2018-05-08 19:25:32 9520 2

原创 Android apk 反编译

前段时间反编译了一次,没想到,最近又有着需求,所以整理一下:一、工具(百度一下都有:点击下载啦,良心价)apktool (资源文件获取) 资源文件获取,可以提取出图片文件和布局文件进行使用查看dex2jar(源码文件获取) 将apk反编译成java源码(classes.dex转化成jar文件)   jd-gui (源码查看) 查看APK中classes.dex转化成出...

2018-03-28 15:46:05 482

原创 浅谈Android MVC 设计模式

虽然有用过mvc都是一直没有好好分析,解读。下面意思意思…MVC(Model-View-Control Model:模型 View:视图 Control:控制器) 设计模式表明,应用的任何对象,归根结底都属于模型对象、视图对象以及控制对象中的一种。 M(Model:模型)模型对象存储着应用的数据和业务逻辑。模型对象通常用来映射与应用相关的一些事物,如用户、商店里的商品、服务器...

2018-03-26 14:33:18 406

原创 Android开发:清空缓存功能的实现

APP项目中,一般会自带计算缓存的大小,然后点击确定清空缓存。虽然Android提供了,查询的方法和清理的方法,但是封装一下还是好的。 获取缓存大小 //Context.getExternalFilesDir() –&gt; SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据 //Context.getExter...

2018-03-19 17:53:14 3097

原创 字符串(含中文)转16进制,16进制转字符串(含中文)

字符串(含中文)转16进制public static byte[] SendS(String str){ byte[] ok = new byte[0]; try { ok = str.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { ...

2018-03-15 17:45:55 4304

原创 递归之初体验

刚刚遇到一个需求,需要转义字符,比较有意思: 接收一段字符串 eg1:“中文,Chaina\,\,\,\,,哈哈” eg2:“aa,aa\\,bb,cc\\\\,dd,6,hh”根据“,”分隔字符串,但是含有转义字符“\”的,不用分隔,去掉转义字符“\”String[] array =new String[“中文”,”Chaina,,,, “,”哈哈” ];(像这样)...

2018-03-15 17:24:48 303

原创 Failed to allocate a 3112972 byte allocation with 2019776 free bytes and 1972KB until OOM

异常:java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Failed to allocate a 3112972 byte allocation with 2019776 free bytes and 1972KB until OOMOOM:Android 内存溢出(Java的这个异常是指,内存申请失败,前面那个

2018-01-22 09:38:28 3480 1

原创 在Github新建项目

登录github账号,点击New repository,创建项目 如图,添加项目名称和描述,然后创建项目 上传项目到github启动git客户端 git init //把这个目录变成Git可以管理的仓库  git add README.md //文件添加到仓库  git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部ad

2018-01-10 14:57:03 7762

原创 Python安装入门、PyCharm安装

安装Python1、下载安装包 https://www.python.org/downloads/ 2、安装 默认安装路径:C:\Python36-32 3、配置环境变量 【右键计算机】–》【属性】–》【高级系统设置】–》【高级】–》【环境变量】–》【在第二个内容框中找到 变量名为Path 的一行,双击】 –> 【Python安装目录追加到变值值中,用 ; 分割】

2018-01-09 11:19:56 484

原创 Android NDK开发 (入门)

NDK简介1.NDK是一系列工具的集合 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和J

2018-01-09 10:48:25 365

Android app本地切换logo和名称

Android app本地切换logo和名称 文章地址:https://blog.csdn.net/CGG92/article/details/122854932

2022-02-14

PkProgress.zip

现在直播平台,pk特效,对应文章地址 https://blog.csdn.net/CGG92/article/details/117563180

2021-06-05

ProductFlavors.zip

想一机多包的来,多渠道打包的来 https://blog.csdn.net/CGG92/article/details/106584977

2020-06-06

通过ant打包

想ant一键打包嘛,想自动化打包嘛,想Gradle一键自定义打包嘛

2018-05-19

com.android.ide.eclipse.ndk_23.0.4

com.android.ide.eclipse.ndk_23.0.4.1468518.jar 解决eclipse无NDK选项设置问题。复制到eclipse目录的“plugins”下面。如我的复制到"\eclipse\plugins\com.android.ide.eclipse.ndk_23.0.4.1468518.jar" 然后重启Eclipse

2018-04-25

解决Eclipse的ADT没有NDK选项的问题

将文件复制到Eclipse的plugins文件夹下面; 重启Eclipse。

2018-04-20

APK反编译工具

反编译工具打包集合啦,懒人必备

2018-03-28

解决AS3.0卡顿(搜狗输入法)

用 于 解 决 Android Studio 3.0 使用 搜狗输入法 时 卡顿的问题

2017-11-07

解决virtualbox不能为虚拟电脑打开一个新任务。

解决virtualbox 不能为虚拟电脑打开一个新任务、修复Genymotion打不开问题 解决virtualbox 不能为虚拟电脑打开一个新任务、修复Genymotion打不开问题

2016-10-18

用于virtualbox不能为虚拟电脑打开一个新任务

解决virtualbox 不能为虚拟电脑打开一个新任务、修复Genymotion打不开问题

2016-10-18

自动更新:Dialog和Notification

自动更新:Dialog和Notification 两种方式,

2016-09-20

Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件

Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件

2016-09-08

UniversalVideoView视频播放

UniversalVideoView视频播放

2016-05-26

RecyclerView滑动菜单

RecyclerView滑动菜单

2016-05-26

datetimepicker一个不错的日历android特效

datetimepicker一个不错的日历android特效

2016-05-26

ColorArcProgressBar实现圆形进度条

ColorArcProgressBar实现圆形进度条

2016-05-26

CatLoadingView 实现漂亮的加载效果

CatLoadingView 实现漂亮的加载效果

2016-05-26

BrokenView,Android特效玻璃破碎

BrokenView,Android特效玻璃破碎

2016-05-26

android通过ScratchTextView 实现刮奖功能

android通过ScratchTextView 实现刮奖功能

2016-05-25

StickyHeaderListView

StickyHeaderListView是基于实际需求做出的灵活可定制的UI功能,具体实现功能如下: 一、支持无限循环的广告位。 二、高度可动态配置的Header2和Header3(使用GridView实现)。 三、主要功能:分类、排序和筛选布局滑动到顶部后吸附、悬停。 四、自定义FilterView筛选控件,支持动画显示与动画隐藏。 五、支持标题栏背景颜色渐变、字体颜色渐变。 六、数据不足一屏动态添加空数据占位。 七、数据为空时,ListView加载暂无数据视图。 八、思路清晰、界面优美,添加ripple点击效果。 九、支持下拉刷新和上拉加载更多功能。

2016-05-05

三级联动省市县+时间滚轮选择合集(4种风格)

三级联动省市县+时间滚轮选择合集(4种风格)

2016-05-05

android 本地上传和拍照上传

android 本地上传和拍照上传

2016-05-05

滚轮实现有滑动效果选择时间和地址+小时分钟

滚轮实现有滑动效果选择时间和地址+小时分钟

2016-05-05

标题渐变、吸附悬停、筛选分类、动态头部

标题渐变、吸附悬停、筛选分类、动态头部

2016-04-27

Fragment框架(类似QQ、微信)主界面

Fragment框架(类似QQ、微信)主界面

2016-04-27

完整的音视频即时通讯源码_android

完整的音视频即时通讯源码_android

2016-04-27

空空如也

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

TA关注的人

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