- 博客(157)
- 资源 (5)
- 收藏
- 关注
原创 一个Android下载网络图片显示并保存到系统相册的完整案例
在 Android开发 中,下载图片保存到本地是常见的需求,看似简单但其中包含了一些比较关键的知识点,比如网络请求、文件下载、动态权限申请、文件保存、移动到系统相册等本文我们介绍了一个下载网络图片显示并保存到系统相册的完整小案例,包含了一些关键实用的知识点:Retrofit 网络请求、RxJava 处理网络数据流、动态权限申请、文件保存IO操作、ContentResolver 移动文件到系统相册。
2024-08-08 15:37:45
1280
原创 Android中的沉浸式丝滑转场之共享元素转场动画
本文介绍了Android中共享元素转场动画的效果演示,尤其是比较常见的**列表页面共享元素转场动画**。2. 介绍了实现方法:通过Android中提供了 `ActivityOptionsCompat.makeSceneTransitionAnimation` 方法来实现场景转场动画3. 提供了两个完整的代码示例演示。
2024-08-06 21:02:51
1201
原创 Android限制参数传递之StringDef注解的使用
在参数传递时,如果你想限制传入的参数只能是特定的几个值,该怎么做呢?除了把参数类型定义为枚举值,还可以使用注解来限制参数只能是你规定的几个值。以下3个注解就是起到了这样的作用: @StringDef 限制参数只能是规定的几个String类型的值 @IntDef 限制参数只能是规定的几个Int类型的值 @LongDef 限制参数只能是规定的几个Long类型的值
2024-06-03 15:21:46
944
1
原创 Android反编译工具
本文介绍了Android反编译的基本过程,使用的工具,重新打包,重新签名。如何通过一个apk包得到它的源码,其中涉及到几个重要的工具软件,比如dex2jar、jd-gui、apktool,不仅介绍了它们的使用示例,还提供了下载地址。
2024-05-21 11:20:27
790
原创 Android中使用Palette让你的页面UI优雅起来
android中Palette的介绍,用法,举例,用Palette做一个优雅的卡片+文字列表。
2024-05-15 16:24:37
1550
原创 你不知道的ConstraintLayout高级用法
ConstraintLayout的高级用法,Chain,Guideline,Barrier,Group,Layer等。
2024-05-11 14:53:45
701
原创 Android解放双手的利器之ViewBinding
ViewBinding的介绍,原理,优点,基本用法,在Activity、Fragment、ViewHolder中使用ViewHolder。与dataBinding的对比。
2024-05-10 19:25:40
3471
1
原创 Android性能优化利器:使用ViewStub优化你的布局
ViewStub的概念,作用,使用方法。android中动态显示隐藏View的两种方式比较。ViewStub的使用举例,注意事项。
2024-05-08 14:36:56
1006
原创 如何下载AndroidStudio旧版本
如何下载AndroidStudio旧版本,历史版本,Android官网下载Androidstudio所有版本
2024-04-28 00:55:55
4110
2
原创 Android中的本地广播与全局广播
本文我们按照广播的传播范围,将广播分为本地广播和全局广播。本地广播,仅在本App内部传播,其他App收不到,保证了数据的安全性。全局广播,可以在整个手机所有App之间传播,会有安全性问题。普通广播默认就是全局广播。
2024-03-27 23:36:13
995
原创 Android中的有序广播与无序广播
本文我们介绍Android中无序广播和有序广播。无序广播,又叫普通广播。所有的接收器几乎同时收到广播,无先后顺序。有序广播,发送的广播会按优先级顺序被接收。同一时刻只会有一个接收器收到广播,且可以对广播截断,修改。
2024-03-27 23:21:40
2171
原创 Android中的静态广播与动态广播
本文我们按照注册方式,介绍Android中的静态广播和动态广播。介绍它们的概念,特点,广播接收器的注册,广播的发送。
2024-03-22 00:21:57
1403
原创 Android中广播的基本介绍
本文就是对Android中的广播进行了基本的介绍,旨在让大家对广播有初步的认识。包括广播的基本概念,基本组成,注册方式。
2024-03-22 00:06:25
646
1
原创 Android中的前台Service
前台服务可以说是除了绑定式Service和非绑定式Service之外,又一种Service类型。它是运行在前台可以和用户打交道的Service。本文介绍了前台Service的概念,应用场景,启动以及结束方式。
2024-03-21 23:26:22
839
原创 Service的生命周期
Service作为四大组件之一,与Activity类似,也有生命周期。Service有创建,开始,绑定,解绑,销毁等阶段,对应的有相应的生命周期方法。本文介绍了不同启动模式下Service的生命周期
2024-03-19 11:45:00
624
原创 Android四大组件之Service简介
Service 意为:服务,是一种运行时用户不可见的活动机制,是Android四大组件之一。本文介绍了service的基本概念,如何创建service,启动Service的两种方式。
2024-03-18 23:52:25
440
原创 【Android开发中如何设置屏幕常亮】
在一些场景比如**阅读应用**或**导航应用**上,屏幕常亮是常见的需求。要在Android设备上设置屏幕常亮,我们可以在Activity中通过以下代码实现屏幕常亮。
2024-03-04 19:12:54
943
原创 Android如何实现复制到剪贴板
在 Android 开发中,可以使用 `ClipboardManager` 来复制文本到剪贴板。本文是一个简单的示例代码,演示如何将文本复制到剪贴板。
2024-03-04 16:21:06
2263
原创 【一个上下拉且松手回弹的自定义ScrollView】
普通的scrollView下拉到顶部时就不动了,而如qq设置界面中的布局,下拉到顶端时还能下拉一段距离。本文介绍一个自定义scrollView就可以实现这样的效果。。
2024-02-29 19:23:23
418
原创 Android中AGP与Gradle、AS、JDK的版本关系
在Android开发中由于AGP与gradle、JDK、AS等版本不匹配导致的编译失败问题屡见不鲜,尤其是对于新手而言更是叫苦不迭。新手经常遇到拿到别人的工程代码打开后却编译不过,各种飘红,让人抓狂,最终步上从入门到放弃的心酸之路。除了本身代码的原因,有很大概率是因为配置环境不合适,本文就列出了该问题所涉及的几个重要概念及其版本对应关系。对照排查,一定能大有裨益,令人醍醐灌顶,茅塞顿开!总之,希望本文能帮助你解决编译工程配置版本的问题!
2024-02-05 20:18:43
5228
1
原创 MySql错误:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggr
更新MySql表中的一行数据时遇到这样一个报错:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; 本文章记录了该问题的解决过程。
2023-07-09 11:16:05
2976
1
原创 Android屏幕旋转后的变更--ConfigChange
在android开发中,有一个容易被忽视但其实很重要的问题:屏幕旋转后的页面重建。本文将介绍下当屏幕旋转后,页面生命周期的变化以及如何防止页面重建带来的问题。
2022-02-07 21:19:42
4507
原创 Android Fragment的基础与应用系列文章
Fragment作为Android中重要且使用频繁的组件之一,是Android学习者必须掌握的一个知识点。本系列文章将围绕Fragment的基本概念、基础知识,实际应用进行介绍,希望能给Android初学者带来一些指引和帮助。本系列课程面向零基础、初学者,中级开发者或者有经验的小伙伴可以略过本系列课程,笔者也是Android业余选手,难免疏漏,不足之处,也欢迎各位提出,指正。
2022-01-29 18:17:57
2261
原创 Fragment+DrawerLayout+NavigationView实现侧滑菜单页面结构
前面几篇文章我们学习了Fragment+ViewPager+Bottom导航按钮实现的典型页面结构([Fragment+ViewPager+BottomNavigationView实现页面导航](https://blog.csdn.net/fxjzzyo/article/details/122718166)),从实践中对Fragment的应用有了更深的认识。本文我们再补充一种典型的,常见的又实用的页面结构:侧滑菜单式页面布局。同样是对Fragment的一种应用,结合控件DrawerLayout、Naviga
2022-01-29 17:49:34
2175
原创 Fragment+ViewPager+BottomNavigationView实现页面导航3
上节我们介绍了引入BottomNavigationView实现页面导航的方法,大大简化了底部导航按钮的实现,详见:[Fragment+ViewPager+BottomNavigationView实现页面导航](https://blog.csdn.net/fxjzzyo/article/details/122718166)本节我们将对Fragment+ViewPager+BottomNavigationView这种页面结构进一步丰富,引入**子Fragment**,实现外层页面导航的前提下,首页内部又有**多
2022-01-28 21:00:55
1905
原创 Fragment+ViewPager+BottomNavigationView实现页面导航
上篇文章我们学习了[Fragment+ViewPager+BottomTab实现页面导航](https://blog.csdn.net/fxjzzyo/article/details/122702033),实现了左右滑动切换页面。但我们底部导航按钮的实现还比较原始,使用了大量的控件拼凑而成,相对麻烦。本文将对上节案例做进一步的优化,使用BottomNavigationView这个控件快捷的实现导航按钮。
2022-01-27 16:25:57
758
原创 Fragment+ViewPager+BottomTab实现页面导航
前文我们介绍了Fragment的应用之一,最简单的页面导航方式:[Fragment+BottomTab实现页面导航](https://blog.csdn.net/fxjzzyo/article/details/122665029)。这种方式虽然能实现点击底部导航按钮切换页面,但不够友好。我们更期望的是左右滑动页面也能实现页面切换,同时底部按钮的选中状态也跟着切换。本文就将介绍如何通过Fragment+ViewPager+BottomTab实现左右页面滑动切换这一效果。
2022-01-26 17:23:48
588
原创 Fragment+BottomTab实现页面导航
前文我们说过,Fragment的作用之一就是拓展页面,使得在一块有限的屏幕上展示更多的内容,也就是多个Fragment页面。那么如何在多个页面之间快速切换呢?本文将介绍最简单、常见的底Tab+Fragment多页面结构的实现案例,也是对前文Fragment知识的实践应用。
2022-01-24 20:48:15
826
4
原创 Fragment的后台任务栈--BackStack
我们知道Activity的页面组织形式有“任务栈”的概念,它管理着Activity页面的进出规则。类似的,Fragment作为一种轻量级的页面,也有Fragment后台栈的概念。本文将介绍Fragment后台任务栈(BackStack)的相关知识。
2022-01-21 15:55:30
983
原创 使用adb命令行查看当前Fragment情况
为了更好的了解Fragment在app中的存在状态(比如说,当前添加了几个Fragment、他们的层级关系如何、BackStack里有没有Fragment等),我们需要能够查看当前Fragment的情况。本文将介绍**如何通过adb命令行查看当前Fragment**
2022-01-21 15:30:41
4041
原创 Fragment的编辑-增删查替显示隐藏
Fragment作为Android页面中的一种“片段”提高了页面View操控的灵活性和统一性。本文将介绍如何操控Fragment,使之满足我们对页面的不同变化需求。主要包括:添加Fragment、移除Fragment、替换Fragment、查找Fragment、隐藏Fragment、显示Fragment、Attach/Detach Fragment等内容。
2022-01-18 20:43:36
966
原创 Fragment传递数据
Fragment与Activity之间setArgument接口回调Fragment之间通过Activity中转接口回调其他,ViewModel、FragmentResultListener
2021-12-28 12:04:38
5806
3
原创 FragmentManager与FragmentTransaction
本章节介绍了FragmentManager与FragmentTransaction的概念和用法,以及如何获取某个已添加的Fragment,还涉及了对Fragment后台栈的理解。
2021-08-22 01:13:39
1975
原创 Fragment的创建
引言上节我们介绍了Fragment的相关概念,对Fragment是什么,为什么需要Fragment,Fragment与Activity的关系有了初步的认识。本小节,我们就来学习一下如何创建Fragment。首先需要明确的是,Fragment是依附于Activity而存在的,它是Activity页面上的一部分,我们可以在Activity上对Fragment做添加、移除、替换、隐藏、显示等操作。添加依赖Fragment有好几种版本,最古老的是存在于android.app.Fragment包里的Fragm
2021-08-18 00:08:08
660
原创 Fragment的介绍
Fragment介绍Fragment直观印象Fragment : 片段、碎片。是一部分内容构成的片段,体现在屏幕上是一块内容区域。上图是常见的页面结构:底部四个导航菜单,上面整块区域是对应的内容页面。点击每个菜单,上面的内容页面切换到对应的内容页。而每个内容页,通常就是一个Fragment。在四个内容页切换过程中,整体的Activity是不变的。为什么要有Fragment?在Fragment之前,我们通常把一个Activity作为一个页面。但随着页面元素的增加以及场景的复杂,单个页面已经不能满足
2021-08-15 00:37:52
812
原创 彻底解决gradle与gradle plugin匹配关系以及gradle下载缓慢的问题
我们刚接触安卓开发,在环境搭建阶段,安装Android studio的时候或者新建一个项目的时候,往往会卡到一个地方一直等待,一直等待。。。直到最后报红线,怎么搞都不行。最后崩溃,放弃了,毁灭吧,搞不了了。其实,就是一个gradle下载缓慢的小问题把好多新人挡在了Android开发的大门之外。唉唉,朋友,别放弃,看这里,都是小问题。这里给大家分享一下个人的解决方案。先说原因:之所以下载缓慢,是因为gradle服务器在国外,国内网络访问自然慢啊,Android Studio已经尽力了。再说方法:我
2021-02-27 21:29:23
30453
14
soundRecorderDemo
2016-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人