Android开发学习
文章平均质量分 83
收录Android开发学习的各种知识,手把手教你学会Android App开发。
子林Android
You are more than what you have been now.
展开
-
一个Android下载网络图片显示并保存到系统相册的完整案例
在 Android开发 中,下载图片保存到本地是常见的需求,看似简单但其中包含了一些比较关键的知识点,比如网络请求、文件下载、动态权限申请、文件保存、移动到系统相册等本文我们介绍了一个下载网络图片显示并保存到系统相册的完整小案例,包含了一些关键实用的知识点:Retrofit 网络请求、RxJava 处理网络数据流、动态权限申请、文件保存IO操作、ContentResolver 移动文件到系统相册。原创 2024-08-08 15:37:45 · 1296 阅读 · 0 评论 -
Android中的沉浸式丝滑转场之共享元素转场动画
本文介绍了Android中共享元素转场动画的效果演示,尤其是比较常见的**列表页面共享元素转场动画**。2. 介绍了实现方法:通过Android中提供了 `ActivityOptionsCompat.makeSceneTransitionAnimation` 方法来实现场景转场动画3. 提供了两个完整的代码示例演示。原创 2024-08-06 21:02:51 · 1204 阅读 · 0 评论 -
Android限制参数传递之StringDef注解的使用
在参数传递时,如果你想限制传入的参数只能是特定的几个值,该怎么做呢?除了把参数类型定义为枚举值,还可以使用注解来限制参数只能是你规定的几个值。以下3个注解就是起到了这样的作用: @StringDef 限制参数只能是规定的几个String类型的值 @IntDef 限制参数只能是规定的几个Int类型的值 @LongDef 限制参数只能是规定的几个Long类型的值原创 2024-06-03 15:21:46 · 946 阅读 · 1 评论 -
Android反编译工具
本文介绍了Android反编译的基本过程,使用的工具,重新打包,重新签名。如何通过一个apk包得到它的源码,其中涉及到几个重要的工具软件,比如dex2jar、jd-gui、apktool,不仅介绍了它们的使用示例,还提供了下载地址。原创 2024-05-21 11:20:27 · 801 阅读 · 0 评论 -
Android中使用Palette让你的页面UI优雅起来
android中Palette的介绍,用法,举例,用Palette做一个优雅的卡片+文字列表。原创 2024-05-15 16:24:37 · 1561 阅读 · 0 评论 -
Android解放双手的利器之ViewBinding
ViewBinding的介绍,原理,优点,基本用法,在Activity、Fragment、ViewHolder中使用ViewHolder。与dataBinding的对比。原创 2024-05-10 19:25:40 · 3516 阅读 · 1 评论 -
Android性能优化利器:使用ViewStub优化你的布局
ViewStub的概念,作用,使用方法。android中动态显示隐藏View的两种方式比较。ViewStub的使用举例,注意事项。原创 2024-05-08 14:36:56 · 1010 阅读 · 0 评论 -
如何下载AndroidStudio旧版本
如何下载AndroidStudio旧版本,历史版本,Android官网下载Androidstudio所有版本原创 2024-04-28 00:55:55 · 4202 阅读 · 2 评论 -
Android四大组件之Service简介
Service 意为:服务,是一种运行时用户不可见的活动机制,是Android四大组件之一。本文介绍了service的基本概念,如何创建service,启动Service的两种方式。原创 2024-03-18 23:52:25 · 440 阅读 · 0 评论 -
【Android开发中如何设置屏幕常亮】
在一些场景比如**阅读应用**或**导航应用**上,屏幕常亮是常见的需求。要在Android设备上设置屏幕常亮,我们可以在Activity中通过以下代码实现屏幕常亮。原创 2024-03-04 19:12:54 · 957 阅读 · 0 评论 -
Android如何实现复制到剪贴板
在 Android 开发中,可以使用 `ClipboardManager` 来复制文本到剪贴板。本文是一个简单的示例代码,演示如何将文本复制到剪贴板。原创 2024-03-04 16:21:06 · 2287 阅读 · 0 评论 -
【一个上下拉且松手回弹的自定义ScrollView】
普通的scrollView下拉到顶部时就不动了,而如qq设置界面中的布局,下拉到顶端时还能下拉一段距离。本文介绍一个自定义scrollView就可以实现这样的效果。。原创 2024-02-29 19:23:23 · 418 阅读 · 0 评论 -
Androidstudio常用快捷键
本文总结了android sudio中常用的快捷键原创 2024-02-29 15:47:10 · 866 阅读 · 0 评论 -
Android中AGP与Gradle、AS、JDK的版本关系
在Android开发中由于AGP与gradle、JDK、AS等版本不匹配导致的编译失败问题屡见不鲜,尤其是对于新手而言更是叫苦不迭。新手经常遇到拿到别人的工程代码打开后却编译不过,各种飘红,让人抓狂,最终步上从入门到放弃的心酸之路。除了本身代码的原因,有很大概率是因为配置环境不合适,本文就列出了该问题所涉及的几个重要概念及其版本对应关系。对照排查,一定能大有裨益,令人醍醐灌顶,茅塞顿开!总之,希望本文能帮助你解决编译工程配置版本的问题!原创 2024-02-05 20:18:43 · 5293 阅读 · 1 评论 -
Android屏幕旋转后的变更--ConfigChange
在android开发中,有一个容易被忽视但其实很重要的问题:屏幕旋转后的页面重建。本文将介绍下当屏幕旋转后,页面生命周期的变化以及如何防止页面重建带来的问题。原创 2022-02-07 21:19:42 · 4520 阅读 · 0 评论 -
Fragment+ViewPager+BottomNavigationView实现页面导航
上篇文章我们学习了[Fragment+ViewPager+BottomTab实现页面导航](https://blog.csdn.net/fxjzzyo/article/details/122702033),实现了左右滑动切换页面。但我们底部导航按钮的实现还比较原始,使用了大量的控件拼凑而成,相对麻烦。本文将对上节案例做进一步的优化,使用BottomNavigationView这个控件快捷的实现导航按钮。原创 2022-01-27 16:25:57 · 758 阅读 · 0 评论 -
Fragment的介绍
Fragment介绍Fragment直观印象Fragment : 片段、碎片。是一部分内容构成的片段,体现在屏幕上是一块内容区域。上图是常见的页面结构:底部四个导航菜单,上面整块区域是对应的内容页面。点击每个菜单,上面的内容页面切换到对应的内容页。而每个内容页,通常就是一个Fragment。在四个内容页切换过程中,整体的Activity是不变的。为什么要有Fragment?在Fragment之前,我们通常把一个Activity作为一个页面。但随着页面元素的增加以及场景的复杂,单个页面已经不能满足原创 2021-08-15 00:37:52 · 812 阅读 · 0 评论 -
彻底解决gradle与gradle plugin匹配关系以及gradle下载缓慢的问题
我们刚接触安卓开发,在环境搭建阶段,安装Android studio的时候或者新建一个项目的时候,往往会卡到一个地方一直等待,一直等待。。。直到最后报红线,怎么搞都不行。最后崩溃,放弃了,毁灭吧,搞不了了。其实,就是一个gradle下载缓慢的小问题把好多新人挡在了Android开发的大门之外。唉唉,朋友,别放弃,看这里,都是小问题。这里给大家分享一下个人的解决方案。先说原因:之所以下载缓慢,是因为gradle服务器在国外,国内网络访问自然慢啊,Android Studio已经尽力了。再说方法:我原创 2021-02-27 21:29:23 · 30598 阅读 · 14 评论 -
Activity启动模式singleTask的理解
1. Activity启动模式singleTask的理解2. Task与Activity栈3. singleTask设置方式4. singleTask的意义(作用)4.1. 举例说明4.2. 例子14.3. 例子24.4. 小结5. taskAffinity属性5.1. 配置方式5.2. 意义(作用)5.3. 举例5.4. 回退顺序5.5. 总结1. Activity启动模式singleTask的理解2. Task与Activity栈Task是一些Acti..原创 2020-10-26 16:51:01 · 20731 阅读 · 6 评论 -
在Android中使用Kotlin
目录环境要求配置 KotlinJava文件转换为Kotlin一个JavaBean类的Kotlin版本data关键字for循环字符串内插Kotlin Android 扩展视图绑定使用 lambda 表达式Kotlin表达三元运算符使用Kotlin扩展函数排序使用Kotlin标准库扩展替换 for 循环环境要求使用 Android Studio 3.0 或更高版本已安装Kotlin插件配置 Kotlin在 Android Studio 中,选择 Tools > Kotlin > Con原创 2020-06-07 14:28:58 · 1376 阅读 · 0 评论 -
选择手机本地图片
通过intent来调用手机相册程序,从而选择图片。//调用手机相册,选择图片 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*原创 2016-03-03 18:29:37 · 629 阅读 · 0 评论 -
android 组件radioGroup实例
RadioGroup组件是由一组RadioButton构成,一组中只能选中一项。本例子很简单,通过获取勾选的项进行相应的逻辑判断。布局文件:radiogroup_layout.xml android:layout_width="match_parent" android:layout_height="match_parent" android:原创 2015-08-20 19:07:55 · 763 阅读 · 0 评论 -
android 组件DatePicker实例
本例子通过一个按钮点击弹出一个DatePickerDialog,用户可以改变日期,然后点击确定后将新日期以字符串形式设置到按钮上。主要是用了DatePickerDialog这个知识点。new DatePickerDialog(this, DatePickerDialog.THEME_DEVICE_DEFAULT_LIGHT, new OnDateSetListener() {@原创 2015-08-21 16:00:40 · 540 阅读 · 0 评论 -
android 组件TimePicker实例
本例子和上一篇datePicker相似。通过一个按钮点击,弹出一个TimePickerDialog。用户调整好新时间,确定后,会以字符串形式把新时间设置到Button上。主要知识点是 new TimePickerDialog().new TimePickerDialog(this, new OnTimeSetListener() {@Overridepublic void onTi原创 2015-08-21 16:16:42 · 402 阅读 · 0 评论 -
android 组件Spinner组件实例
本例子是对组件Spinner的一个练习。Spinner组件,类似下拉列表框。布局文件:spinner_layout.xml android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >原创 2015-08-21 18:18:53 · 535 阅读 · 0 评论 -
android 手机屏幕横屏竖屏切换
第一篇博客哦~本例子是实现简单的屏幕横竖切换的。主要知识点:getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT//判断横屏getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE//判断竖屏s原创 2015-08-17 21:33:37 · 1230 阅读 · 0 评论 -
android 组件Notification实例
本例是对Notification的练习,通过点击按钮弹出Notification系统通知。主要知识点://获取系统通知管理器private NotificationManager notificationManager;notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATIO原创 2015-08-23 17:18:12 · 480 阅读 · 0 评论 -
android 组件CheckBox实例
本例子是对checkbox组件的小练习。用4个checkbox供选择今天吃什么食物。通过button点击确定后弹出提示对话框,提示选中的食物。 主要应用了isChecked()方法。如果被勾选,则加入字符串中。布局文件:checkbox_layout.xml android:layout_width="match_parent" android:layou原创 2015-08-21 15:48:52 · 585 阅读 · 0 评论 -
Android studio3.0上运行opencv3.2.0自带人脸识别实例Demo
开发环境win10android studio 3.0opencv3.2.0下载地址Android studio下载地址 opencv各版本下载地址android studio 的安装过程网上有很多,不再赘述。原创 2018-09-10 18:05:15 · 5373 阅读 · 3 评论 -
Android本地存储路径
1. 手机应用内置存储路径getFilesDir().getAbsolutePath()getFilesDir().getPath()getCacheDir().getAbsolutePath()getCacheDir().getPath()实验代码:String savePath5 = getFilesDir().getAbsolutePath();String savePat...原创 2018-12-04 18:04:25 · 2763 阅读 · 0 评论 -
Android使用FFmpegMediaMetadataRetriever获取视频缩略图
文章目录1. 使用MediaMetadataRetriever获取视频元数据2. 使用FFmpegMediaMetadataRetriever获取视频元数据(缩略图)2.1 集成方法2.1.1 使用gradle配置依赖。2.1.2 使用aar包2.2 代码里使用FFmpegMediaMetadataRetriever3. 完整代码4. 运行效果1. 使用MediaMetadataRetrieve...原创 2018-12-13 15:59:27 · 9242 阅读 · 6 评论 -
Android6.0动态权限申请
直接上代码Android6.0以及以上获取权限要动态申请,只在manifest文件里写`是不够的。还要在代码里写: //获取拍照的权限 private void requestCameraPermission() {// 判断手机版本,如果低于6.0 则不用申请权限,直接拍照 if (Build.VERSION.SDK_INT >= Bui...原创 2018-12-13 18:37:15 · 527 阅读 · 0 评论 -
Android调用OpenCV配置方法
文章目录1. 环境2. 准备工作3. 开始构建示例项目4. 集成opencv库4.1 导入opencv库4.2 配置CMakeLists.txt4.3 代码声明及实现4.3 运行效果5. 可能遇到的其他错误及解决方法5.1 包冲突1. 环境Windows10Android studio 3.0Android NDK : android-ndk-r16bOpencv3.2.02. 准备工...原创 2019-01-25 18:00:59 · 2977 阅读 · 1 评论 -
android 组件AutoCompleteTextView和MultiAutoCompleteTextView实例
AutoCompleteTextView--自动补全编辑框。MultiAutoCompleteTextView多项自动补全编辑框。(可以根据特定的分隔符,如逗号“,”来多项提示内容。)根据输入的前若干字母编辑框会自动下拉展示待选的字符串,类似百度搜索的历史记录栏。 android:completionThreshold="1"设置这个属性可以定义从输入的第几个字母开始提示。此处是1原创 2015-08-21 18:27:31 · 372 阅读 · 0 评论 -
android 组件ProgressBar实例
本例子每隔1秒更新一下进度条,是对ProgressBar的练习。用到了Timer定时器类和TimerTask类。关键函数:/*timer.schedule(task, 1000, 1000); * 用Timer对象执行TimerTask任务,*第一个参数:task ,the task to schedule.任务*第二个参数:delay原创 2015-08-21 18:58:58 · 531 阅读 · 0 评论 -
android 组件SeekBar实例
本例子是对SeekBar的练习,通过拖动进度在TextView上来显示当前进度。布局文件:seekbar_layout.xml android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >原创 2015-08-21 19:07:55 · 593 阅读 · 0 评论 -
高手速成android开源项目【导航篇】
高手速成android开源项目【导航篇】 http://blog.csdn.net/zhixiang2010/article/details/18033357(转)Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式.转载 2017-07-02 19:24:08 · 323 阅读 · 0 评论 -
ExpandableListView长按确定父项与子项
在使用ExpandableListView时有时需要对父项设置长按监听,但自带的setOnItemLongClickListener中的flatPos位置是所有展开项,包括父项和子项在内的位置,而大多情况下需要得到父项再父项列表中的位置以及子项在子项列表中的位置。下面是解决方法://长按监听expandableListView.setOnItemLongClickListener(new Adap原创 2017-05-05 10:11:35 · 824 阅读 · 0 评论 -
转发:Android项目中,在一个数据库里建立多张表
转发:Android项目中,在一个数据库里建立多张表转载 2017-04-14 13:32:09 · 1139 阅读 · 0 评论 -
Android中assets目录和raw目录的区别和使用情况
本文转自百度知道,原文:百度知道问题共同点: 它们会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式。区别: 1 . 当然最直观的就是获取它们的InputStream的API不一样了。2 .raw下的资源文件会生成id,可以通过id方便访问, assets下的资源文件不会生成id,访问通过io流。3 .raw下不能再有文件夹,assets下仍可以再放文件夹。转载 2017-04-01 19:19:46 · 1673 阅读 · 0 评论