Android
文章平均质量分 55
灵猫小西
慢慢变好,才是给自己最好的礼物!
展开
-
Android之实现两段颜色样式不同的文字拼接进行富文本方式的显示
前面文字显示红色,后面显示白色,显示在一个TextView中,可以自动换行。原创 2024-06-11 13:53:19 · 313 阅读 · 1 评论 -
Android之保存图片到相册之前兼容不同机型需要注意的配置
在这种模型下,每个应用只能访问自己创建的文件,以及一些特定的公共目录(如DCIM、Pictures、Videos等),并且需要用户的明确许可才能访问其他应用的文件。这个方法获得对整个外部存储的访问权限,这在Android 10(API 级别29)之前的版本中是可行的,因为那时候应用可以访问外部存储的任意文件夹。但是,从Android 10开始,由于引入了Scoped Storage,这种访问方式受到了限制,应用只能访问自己创建的文件,或者用户明确授予访问权限的文件。原创 2024-06-06 14:46:41 · 544 阅读 · 1 评论 -
Android之实现《用户隐私政策》《服务条款》等文字点击可查看协议内容的超链接功能
运行后可看到两个隐私协议文字是蓝色,是可以点击的链接样式,其余文字正常显示。在初始化时候调用如下initPrivacyTipLink方法就行。跳转隐私协议显示的Activity。原创 2024-05-10 11:29:57 · 428 阅读 · 1 评论 -
Android之使ImageView中图片保持比例显示,且不超过最大高度和最大宽度限制
将 android:scaleType 从 fitStart 改为 fitCenter: fitCenter 会将图片等比例缩放至图片的宽度或高度至少与 ImageView 的一个维度相匹配,然后将图片居中放置在 ImageView 内。通过这些更改,您的 ImageView 将会以保持原图比例的方式显示图片,同时确保图片的高度不超过 250dp,宽度不超过 200dp。图片会根据自身的长宽比自动调整,以适应这两个最大尺寸限制,并通过 fitCenter 居中显示在 ImageView 中。原创 2024-05-10 11:12:46 · 974 阅读 · 0 评论 -
Android之监控APP崩溃获取日志的方法,Bugly和其他方法
完整的集成步骤请参考光那个文档,原创 2024-05-10 11:06:38 · 421 阅读 · 1 评论 -
Android之给Button上添加按压效果
运行后点击按钮即可看到效果,可根据需要调整button_press_effect中的数值参数。原创 2024-05-10 10:53:16 · 390 阅读 · 1 评论 -
Android里面使用Java实现对字符串进行base64(sha256(“aa“))算法加密
【代码】Android里面使用Java实现对字符串进行base64(sha256(“aa“))算法加密。原创 2024-03-29 11:34:28 · 270 阅读 · 2 评论 -
Android之Apk相关操作,以32位或64位运行apk,区分apk支持CPU架构的办法
连接手机,准备好apk文件,打开cmd。原创 2023-12-14 17:12:14 · 1745 阅读 · 0 评论 -
Glide结合OkHttp保证短信验证接口携带图形验证码接口返回Cookie值去做网络请求
自定义Okhttp的cookie管理,在Okhttp初始化的时候设置进去。并在Glide中注册请求对象。因为发送短信的请求需要利用图形验证码请求的cookie,所以cookie管理的逻辑就是,保存上一次请求的cookie,下一次请求的时候利用上一次请求的cookie。大概业务流程原理如图所示://......@Override.build();@Override/*** Cookie管理类*///保存每个url的cookie。原创 2023-11-28 15:00:42 · 938 阅读 · 0 评论 -
Android之播放本地视频和Url视频方法
视频Url例子:https://recordcdn-qk.jfdaily.com/upload/vod/user1694515885005019/1697678251135382/preview/video.mp4。根据文件路径在浏览器中播放,可用于视频预览等场景。(3)相关生命周期中添加操作。用浏览器播放本地视频。原创 2023-10-19 11:48:23 · 4367 阅读 · 0 评论 -
Android之在RecyclerView列表中实现单选
包含一个TextView和一个右侧选中的图片ImageView√。单选、可取消选中、列表数据可更新(选择状态清空,可重新选择)activity内部自定义适配器TipListAdapter。selected_tip_list_item.xml文件。仅展示部分核心代码,请主要参考适配器的定义。RecyclerView列表单选。(mList为请求到的数据)原创 2023-11-23 16:12:33 · 749 阅读 · 0 评论 -
Android中使用ViewPager和Fragment实现底部导航栏
(1)新建三个blank fragment,我自己的是HomeFragment,RecommendFragment,MineFragment。(2)三个fragment的布局文件也都一样。附:中间部分可以左右滑动。原创 2021-04-16 19:57:43 · 763 阅读 · 3 评论 -
Android中使用Java计算指定日期、时间戳等方法的合集
*** 获取指定年月的第一天和最后一天的时间戳* @return*/// 不加下面2行,就是取当前时间前一个月的第一天及最后一天//月最后一天的时间戳//月第一天的时间戳。原创 2023-10-20 15:10:03 · 434 阅读 · 0 评论 -
Android自定义View之相册文件选择器
/自己的包名位置= null) {} else {pictureSelector.openGallery(mimeType)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo().maxSelectNum(maxChoose)// 最大图片选择数量 int.minSelectNum(1)// 最小选择数量 int.imageSpanCount(4)// 每行显示个数 int。原创 2023-10-20 12:00:48 · 1052 阅读 · 0 评论 -
Android之自定义View之底部选择弹窗
可自定义item数量的底部弹窗//自己的包位置/*** 一个自定义item数量的底部弹出窗*/refresh();refresh();/***/原创 2023-10-19 14:51:03 · 939 阅读 · 0 评论 -
Android音视频开发之基础知识
也就是说,可以压缩UV数据,而人眼难以发现。(4)信息熵冗余:也称编码冗余,人们用于表达某一信息的比特数总比理论上表示该信息所需要的最少比特数要大,他们之间的差距就是信息熵冗余,或称编码冗余。YUV主要应用于优化彩色视频信号的传输,与RGB相比,YUV只需要占用极少的频宽,RGB则需要三个独立频道的信号同时传输。负责以网络所需求的恰当的方式对数据进行打包和传送,是传输层,不管在本地播放还是网络播放,都是需要这一层来传输。负责高效的视频内容表示,VCL数据即编码处理的输出,表示被压缩编码后的视频数据序列。原创 2023-10-19 11:07:42 · 149 阅读 · 0 评论 -
Android之使用QBadgeView给TabLayout顶部栏设置数量角标,数值可更新
位置:drawable/audit_tab_button_background.xml/><solid<size<stroke</shape>/*** 右上小红点数量提示* @param context 当前activity* @param view 要显示在那个空间上的View* @param i 数量*/.setBadgeNumber(i) //角标数值。原创 2023-10-19 11:02:52 · 616 阅读 · 5 评论 -
Android之使用MqttAndroidClient测试连接tcp服务
mqttv3源码位置:https://github.com/eclipse/paho.mqtt.android.git。三、gradle.propertices。加入相关权限还有服务service。原创 2023-04-18 17:52:33 · 926 阅读 · 0 评论 -
Android之修改Jar包源码后再重新打Jar包
打包好的jar包就在这个mudule下的build-libs目录下(打好的jar包名会与module名一致,也可以修改jar包名字然后再使用)(3)将路径名填入新建Java or Kotlin Library下面的Package name框内。(2)找到要打包的org.eclipse.paho.client.mqttv3文件夹下的。一、找到jar包使用框架的github源码,并下载。(2)粘贴到新建mudule的java目录下。(1)服务jar包到自己项目中。四、修改源码后,打jar包。原创 2023-04-19 11:46:02 · 720 阅读 · 1 评论 -
Android之adb安装busybox使用wget、telnet等服务
Android中通过在ADB中安装busybox使用wget、telnet等服务原创 2023-04-11 13:25:34 · 6319 阅读 · 2 评论 -
自定义View练习题目整理
自定义View练习题目记录整理原创 2023-02-24 13:35:35 · 586 阅读 · 0 评论 -
Android中对图片的操作,移动、缩放,边界限制
Android中对图片的操作,移动、缩放和保存到本地原创 2023-02-02 15:57:23 · 1465 阅读 · 0 评论 -
Android中实现定时循环任务的方法
Android中实现定时循环任务的方法。原创 2023-02-01 16:46:45 · 3951 阅读 · 0 评论 -
Android之CompletableFuture一异步编程常用方法
CompletableFuture的使用原创 2022-09-21 10:21:44 · 1249 阅读 · 0 评论 -
Android事件分发机制
1、事件分发的“事件”答:点击事件(Touch事件)定义:当用户触摸屏幕时候,将产生点击事件。具体使用:Touch事件的相关细节会被封装成MotionEvent事件类型:MotionEvent.ACTION_DOWN 按下ViewMotionEvent.ACTION_UP 抬起ViewMotionEvent.ACTION_DOWN 滑动ViewMotionEvent.ACTION_CANCEL 结束事件附:事件列,即指从手指接触屏幕至手指离开屏幕这个过程产生的一系列事件。一般情况下原创 2022-03-01 10:28:29 · 234 阅读 · 1 评论 -
Android知识点
Android常用知识点总结原创 2022-03-01 10:25:39 · 2027 阅读 · 0 评论 -
Room数据库保存Date类型数据的问题
一、报错:报错原因就是我准备存进数据库实体里面有一个字段是Date类型数据,而Room数据库不知道如何保留 Date 对象,因此需要定义类型转换器:下图就是实体中定义的Date类型,就是此处的Date类型字段,Room不知道怎么存二、解决办法,步骤如下1、定义类型转换器2、将 @TypeConverters 注解添加到 AppDatabase 类,以便 Room 知道已定义的转换器类3、再次Build–Rebuild,就发现这个问题解决了4、完成,nice!...原创 2022-02-28 14:08:55 · 2945 阅读 · 0 评论 -
Android中进程间的通信
一、进程间的通信方式IPC(Inter-Process Communication)为进程间通信或跨进程通信,是指两个进程进行进程间通信的过程。在Android中,为每一个应用程序都分配了一个独立的虚拟机,不同虚拟机在内存分配上都有不同的地址空间,互相访问数据需要借助其他手段。下面介绍在Android中实现IPC的方式。1、Bundle在Android中三大组件(Activity,Service,Receiver)都支持在Intent中传递Bundle数据,由于Bundle实现了Parcelable原创 2021-10-28 09:35:30 · 287 阅读 · 0 评论 -
Android之MVC、MVP和MVVM
更新中。。。一、MVC1、是什么?特点(1)Model:针对业务模型建立的数据结构和类(与View无关,只与业务相关)(2)View:xml/JAVA或者JS+HTML的页面展示。(3)Controller:Android的控制层在activity、fragment中,本质就是Controller操作Model层的数据,返回给View层展示。2、缺点(1)Activity并不是MVC中标准的Controller,既有Controller的职责也有View的职责,Activity代码过于臃肿。原创 2021-10-21 11:08:05 · 193 阅读 · 0 评论 -
Android之学习Handler原理的理解与常见问题
有一段时间查资料看这个了,下面就简单记录一下我自己的理解一、Handler工作流程通常,我们使用Handler的时候会先new一个Handler,然后调用send或者post来处理,类似这种:那么handler发送消息之后实际是怎么工作呢?之前听了一节享学课堂关于Handler原理介绍的课程,里面老师给了这么一张图,我一直以来觉得这张图很好理解。先看右上角,handler发送消息后,消息队列就像有传送带一样一个一个接收并处理这些发来的消息,而让这传送带动起来的东西就是Looper。Looper原创 2021-10-17 19:48:42 · 1385 阅读 · 0 评论 -
Android,结合源码对OkHttp工作流程的理解
帮助我理解的OkHttp博客:OkHttp3.x解析(二)OkHttp源码以及工作流程解析.下面这个图搭配源码看真的很容易理解:OkHttp工作流程大概步骤:一、通过OkhttpClient创建一个Call,调用newCall(Request request)方法OkHttpClient.java源码中newCall()方法从上图可看出创建Call对象后实际调用的是RealCall.newRealCall(**)方法,接下来我们进去看RealCall里面可以干什么二、同步和异步请求1、原创 2021-10-17 10:52:29 · 579 阅读 · 0 评论 -
Android布局优化之include、ViewStub、merge标签
待编写原创 2021-10-16 11:07:37 · 443 阅读 · 0 评论 -
Android中Activity的启动模式
自己理解总结的内容,官方文档有更完整的解释一、任务栈任务是用户在执行某项工作时与之互动的一系列 Activity 的集合, 任务栈是一种用来放置这些Activity实例的容器。二、启动模式的定义方式1、清单文件中定义声明activity时候指定launchMode属性(下面四种启动模式)2、使用Intent标记启用activity调用startActivity()的时候,可以在intent中添加一个标记(例如:intent.addFlags(Intent,FLAG_ACTIVITY_NEW_T原创 2021-10-15 20:58:52 · 451 阅读 · 0 评论 -
Android混合H5开发步骤
一、布局相应地方加入WebView控件<WebView android:id="@+id/webview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layerType="software"></WebView>二、activity中获取控件实例,加载页面private WebView webView;Str原创 2021-07-16 11:17:19 · 664 阅读 · 0 评论 -
Android中SmartRefreshLayout+RecyclerView实现下拉刷新和上拉加载(分页)显示网络请求数据【2、后端有分页接口的情况】
注:本文网络请求数据(包括采用OkHttp请求服务器数据,用到的实体类都可根据实际项目进行替换)。若后端没有分页接口(数据量不大)的情况下,可参考另一篇文章: 后端无分页接口的情况.请主要关注下拉刷新和上拉加载(分页)部分监听功能的实现,网络请求部分方法,可根据自己爱好进行替换一、导入依赖build.gradle(:app)implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'compile 'com.原创 2021-07-16 10:48:55 · 2441 阅读 · 0 评论 -
Android混合H5开发中可以用到的获取有关日期的js方法
本文提供了几种方法,使用时候可以放入中,在其他地方按需调用1、获取当前日期的周围几天//参数为当前日期function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1; //获取当前月份的日期 var d = dd原创 2021-07-16 09:48:30 · 208 阅读 · 0 评论 -
Android 中ScrollView 嵌套 ViewPager 不能显示解决办法
一、ScrollView 标签下增加 android:fillViewport=“true”让ScrollView里的元素想填满ScrollView二、在activity或者fragment中加上重写ViewPager的自定义类//自定义ScrollView嵌套的ViewPager可显示public static class ViewPagerForScrollView extends ViewPager { public ViewPagerForScrollView(Context c原创 2021-05-29 11:41:21 · 1243 阅读 · 2 评论 -
Android中TabLayout+ViewPager+Fragment实现顶部导航栏
三个feagment布局都一样,都只有一个TextView,下面只给出一个例子。原创 2021-05-23 17:15:27 · 1229 阅读 · 2 评论 -
Android中实现在RecyclerView滑动停止时候显示‘回到顶部’按钮
注:本文记录实现在RecyclerView滑动时候显示回到顶部按钮,如果想了解下拉刷新和上拉加载(分页)等功能请看另一篇文章:Android中SmartRefreshLayout+RecyclerView实现下拉刷新和上拉加载(分页)显示网络请求数据一、效果展示展示滑动停止时候的回到顶部按钮二、布局<RelativeLayout android:layout_width="match_parent" android:layout_height="match_原创 2021-05-15 11:24:55 · 789 阅读 · 0 评论 -
Android中SmartRefreshLayout+RecyclerView实现下拉刷新和上拉加载(分页)显示网络请求数据【1,后端无分页接口的情况】
activity的全局变量//自定义适配器//存放请求到的所有数据集合//要展示的卡片上的适配器数据集合//网络请求String url="网络请求的url";原创 2021-05-14 21:22:15 · 2714 阅读 · 2 评论