<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Small_Wave_Wave的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Small_Wave_Wave</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Small_Wave_Wave]]></copyright><item><title><![CDATA[使用 AI 帮我提高大乐透中奖概率]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/159653953</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/159653953</guid><author>Small_Wave_Wave</author><pubDate>Mon, 30 Mar 2026 19:28:49 +0800</pubDate><description><![CDATA[如题所示我使用了 AI 帮我大大提高了中奖概率，具体提高多少呢，大概为4.5794倍，提升百分比 :为357.94%，你看着数据好厉害吧，其实吧中奖概率还是低的可怜呢，只有0.0000002137%，是不是特别少啊，但是我还是要告诉你一个扎心的事实，因为大乐透摇奖机器是采用气动式摇奖机，前区球筒容纳35个前区号码（01-35），后区球筒容纳12个后区号码（01-12），通过气流搅拌球，比我们计算机的伪随机高明多了，实现了真正意义上的随机。等 优化后再删除历史开奖数据，就得到这个数据了，也不知道能不能中啊！]]></description><category></category></item><item><title><![CDATA[targetSdkVersion从22升级到26所遇到到问题和处理]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/100576951</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/100576951</guid><author>Small_Wave_Wave</author><pubDate>Mon, 30 Mar 2026 19:13:26 +0800</pubDate><description><![CDATA[问题

1.动态权限

2.You need to use a Theme.AppCompat theme (or descendant) with this activity

3.高德地图首次打开定位后没有获取位置



解决

1.动态权限 我自己写在了BaseActivity里面处理代码上来


  /**
     * 权限组
     */
    private List&lt;S...]]></description><category></category></item><item><title><![CDATA[Android WebView 长按弹出的文本选择器如何监听滑动和如何弹出完全自定义的菜单栏]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/130618786</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/130618786</guid><author>Small_Wave_Wave</author><pubDate>Thu, 11 May 2023 15:04:50 +0800</pubDate><description><![CDATA[研究了一天半终于实现这个功能了，确实不容易呀，然后就开始测试发现竟然有bug，就是位置竟然不对劲，比如我从第三行开始选择，我拉都第二行拉到第一行，看着对劲，然后再从第一行拉到第二行的时候竟然位置不对了，怎么回事！现在我要实现的是长按webview后弹出来的拉选框（就是两个可以滑动的图标、用来选择文字的）要用android系统自带的，然后弹出的菜单栏要我们android自己自定义的弹框（以前就是自定义，许多功能都是写好的，我们还有单击也会弹这个框）。找到问题该怎么解决啊，难道是系统bug？]]></description><category></category></item><item><title><![CDATA[自定义左边细右边粗进度条]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/125764133</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/125764133</guid><author>Small_Wave_Wave</author><pubDate>Wed, 13 Jul 2022 14:58:47 +0800</pubDate><description><![CDATA[左细右粗 进度条]]></description><category></category></item><item><title><![CDATA[Could not resolve com.huawei.agconnect:agcp:1.6.0.300最新解决方法，是因为gradle升级到7.1导致，因为7.1之后改变了maven依赖方式。]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/125683972</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/125683972</guid><author>Small_Wave_Wave</author><pubDate>Fri, 08 Jul 2022 18:39:36 +0800</pubDate><description><![CDATA[Could not resolve com.huawei.agconnect:agcp:xxx 最新解决方法]]></description><category></category></item><item><title><![CDATA[Android聊天气泡如何使用网络.png图片实现拉伸]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/122476978</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/122476978</guid><author>Small_Wave_Wave</author><pubDate>Thu, 13 Jan 2022 16:42:14 +0800</pubDate><description><![CDATA[Android TextView 背景气泡如何使用png拉伸]]></description><category></category></item><item><title><![CDATA[shell脚本语法基础]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/109512735</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/109512735</guid><author>Small_Wave_Wave</author><pubDate>Thu, 05 Nov 2020 15:49:16 +0800</pubDate><description><![CDATA[Linux系统操作

创建一个shell文件


vim 文件名称.sh

直接点 字母 o 可以直接编辑文件

退出文件操作

先按 esc

接着输入 :wq 保存退出

运行shell脚本命令


./文件名.sh

如果提示


Permission denied

那就


sh ./文件名.sh

或者赋予权限


chmod 777 文件名.sh

就可以直接执行了

下面说一说 shell基本编写

当我们 创建一个新文件后第一步一定要在第一行代码上写上这一句固定代码


#!/bin/ba]]></description><category></category></item><item><title><![CDATA[Android选中突出背景效果的底部导航栏]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/109328072</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/109328072</guid><author>Small_Wave_Wave</author><pubDate>Wed, 28 Oct 2020 11:12:45 +0800</pubDate><description><![CDATA[今天在群里看到一个底部导航选中突出效果像这样



就想着 这个应该怎么做呢，我记得类似咸鱼那种的是中间突出，不像这种 是选中哪个，哪个就突出

第一种方法简单快捷然UI搞几张图，带上面突出背景的图片，

选中切换图片简单粗暴

在群里找小伙伴要了UI的切图一看给的6张图片一样大小，也不带突出背景

于是想着有没有第二种方法实现

百度了许久也许是我找的方法不对，也许是大家都没遇到这样的UI。

怎么办，自己想想，静下心来看UI效果，发现突出的地方有点像贝塞尔曲线

再细细分析一下，如果突出的是贝塞尔曲线那]]></description><category></category></item><item><title><![CDATA[android path api 记录]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/109307488</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/109307488</guid><author>Small_Wave_Wave</author><pubDate>Tue, 27 Oct 2020 11:25:35 +0800</pubDate><description><![CDATA[Paint mPaint = new Paint();
mPaint.setColor(Color.RED);//设置颜色
mPaint.setARGB(255, 255, 255, 0);//设置 paint对象颜色 范围 0～255
mPaint.setAlpha(200);//设置 alpha不透明的，范围为0～255
mPaint.setAntiAlias(true);//抗锯齿
mPaint.setStyle(Paint.Style.FILL);//描边效果 FILL-&gt;全黑  STROK.]]></description><category></category></item><item><title><![CDATA[自定义可以自动计算的一行标题可左右滑动]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/109222778</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/109222778</guid><author>Small_Wave_Wave</author><pubDate>Tue, 27 Oct 2020 11:21:32 +0800</pubDate><description><![CDATA[分类标签，一行展示，如果超过一行要可以左右滑动，不超过一行要平分布局居中展示。

初步使用 tablayout 来实现，自定义布局继承容器，添加layout布局是tablayout。根据数量大概判断设置tablayout模式。


点击每个item 下拉弹框展示一堆数据。感觉这样不太好，于是想着看能不能自己写一套出来。

初步想法，定义一个LinearLayout布局，每添加一个item进行长度计算，看是否超过一屏，超过一屏改换HorizontalScrollView。

每个item长度包括textvie]]></description><category></category></item><item><title><![CDATA[INSTALL_FAILED_TEST_ONLY Retry Android Studio OPPO手机或VIVO手机直接运行失败]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/109178251</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/109178251</guid><author>Small_Wave_Wave</author><pubDate>Tue, 20 Oct 2020 11:49:10 +0800</pubDate><description><![CDATA[Session 'app': Installation did not succeed. The application could not be installed: INSTALL_FAILED_TEST_ONLY Retry

运行输入密码验证通过继续安装后 安装失败。

解决办法

在项目根目录寻找gradle.properties文件

在最后添加


android.injected.testOnly = false

截图

再次运行成功！
...]]></description><category></category></item><item><title><![CDATA[JAVA基础知识之反射分析]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/105485479</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/105485479</guid><author>Small_Wave_Wave</author><pubDate>Mon, 13 Apr 2020 14:09:59 +0800</pubDate><description><![CDATA[问题三连

反射是什么？反射可以用来干什么？反射是在哪些场景下使用的，如何用？

能够分析类能力的程序称为反射！

反射机制可以用来

1.在运行时分析类的能力。

2.在运行时查看对象，例如：编写一个toString()方法供所有的类使用（反射可以拿到所有的变量，私有也可以获取）。

3.实现通用的数组操作代码。

4.利用Method 对象，这个对象很像C++中的函数指针。

动态操作Java...]]></description><category></category></item><item><title><![CDATA[Java基础知识之泛型详细解析]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/105120629</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/105120629</guid><author>Small_Wave_Wave</author><pubDate>Tue, 31 Mar 2020 17:12:08 +0800</pubDate><description><![CDATA[在两天前我突然有种感觉，人不能这么混日子，安卓市场已经饱和的太多了，高级工程师更是一抓一大把，我也工作好几年但是从来没有系统的学习过。在过去的几年里总是为了工作而学习，现在漂泊的这几年，大大小小的公司也经历了不少。现在既然相对安稳，就更不能浪费这宝贵的时间，于是便整体出了一套属于自己的安卓进阶知识点。

xmind已经简单画出了，不过不是很完善先不放了。

首先，虽然各种新语言满天飞，但是我自己认...]]></description><category></category></item><item><title><![CDATA[RecyclerView 高级用法之 Span]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/105070897</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/105070897</guid><author>Small_Wave_Wave</author><pubDate>Tue, 24 Mar 2020 14:29:13 +0800</pubDate><description><![CDATA[今天要做一个筛选的列表，大概是一个标题下面有几个item 然后这样有好几组，一般来说 上手就是 listview嵌套gradview或者 recyclerview嵌套recyclerview，处理嵌套高度计算问题就OK了！

但是今天，我不想搞那些嵌套了，只用一个 RecyclerView搞定它，

上图！



不好意思放错了！！！

是这张



原理就是通过

GridLayoutMana...]]></description><category></category></item><item><title><![CDATA[ViewPager2+TabLayout体验之旅]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/104931288</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/104931288</guid><author>Small_Wave_Wave</author><pubDate>Tue, 17 Mar 2020 21:36:14 +0800</pubDate><description><![CDATA[昨天项目刚上线，今天产品又要改需求...........

利用一点空隙时间整理了一下ViewPager2的使用

效果图



由于当前项目中用的懒加载 LazyViewPager 是别人开源的，时间也很久了并且现在使用发现了一些bug，配合 TabLayout使用，在页面初始化后，你从第一页点到第三页或者第四页有时候会出现当前页面加载空白问题！由于前段时间项目紧急就一直没有修改，现在刚上线就赶...]]></description><category></category></item><item><title><![CDATA[java基础学习]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/104901208</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/104901208</guid><author>Small_Wave_Wave</author><pubDate>Mon, 16 Mar 2020 16:00:57 +0800</pubDate><description><![CDATA[Java idea

数据库配置

application.properties文件写入


#server.port=8011
##数据库配置
##数据库地址
spring.datasource.url=jdbc:mysql://localhost:3306/wavewave?characterEncoding=utf8&amp;useSSL=false
##数据库用户名
spring.data...]]></description><category></category></item><item><title><![CDATA[自定义启动页动画]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/96319637</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/96319637</guid><author>Small_Wave_Wave</author><pubDate>Wed, 17 Jul 2019 16:21:12 +0800</pubDate><description><![CDATA[今天学习了一下自定义 View 实现启动页面动画到效果，上一下效果图



简单说一下过程

1、首先画白色背景和六个不同颜色到小球

白色背景直接 canvas.drawColor(backgroundColor);

小球这里说一下，六个小球围成一个圆，那么我们就先要计算出来两个小球之间的角度是多少

获取圆的周长除以小球个数


//先获取圆球之间的角度 圆周长 2PI
float rot...]]></description><category></category></item><item><title><![CDATA[android canvas 使用操作]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/96113184</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/96113184</guid><author>Small_Wave_Wave</author><pubDate>Tue, 16 Jul 2019 12:01:47 +0800</pubDate><description><![CDATA[最近在学习自定 View 的内容，发现其实在 onDraw()的时候可以对 Canvas 进行各种各样的操作，比如平移、旋转、缩放、倾斜当然还有切割画布和反向切割画布。下面就来根据实际操作介绍一下。

1.平移 translate


        //先设置画笔
        mPaint.setStrokeWidth(5);
        mPaint.setStyle(Paint.S...]]></description><category></category></item><item><title><![CDATA[问道游戏脚本收集]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/94738358</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/94738358</guid><author>Small_Wave_Wave</author><pubDate>Fri, 05 Jul 2019 15:54:19 +0800</pubDate><description><![CDATA[http://www.sohu.com/a/293262252_663516



https://blog.csdn.net/qq_40925239/article/details/82383863
]]></description><category></category></item><item><title><![CDATA[android Paint 简单使用]]></title><link>https://blog.csdn.net/Small_Wave_Wave/article/details/93169026</link><guid>https://blog.csdn.net/Small_Wave_Wave/article/details/93169026</guid><author>Small_Wave_Wave</author><pubDate>Fri, 21 Jun 2019 10:53:22 +0800</pubDate><description><![CDATA[工作上不忙，于是在学习一下知识点 以作储备

今天学习了一下 paint的用法不多说上api

ARGB解释


//        mPaint.setColor(Color.RED);//设置画笔颜色
//        mPaint.setARGB(255, 138, 43, 226); // 设置 Paint对象颜色 0-255 参数1 透明度 255完全不透明
        mPain...]]></description><category></category></item></channel></rss>