移动开发
文章平均质量分 71
提玛欧斯
菜鸟程序猿
展开
-
Android Studio升级Gradle7.4之后Hilt报错的解决
每次升级gradle大概率会遇到hilt的版本问题,需要注意hilt版本和gradle版本的对应更新。但是这次反而是因为其他组件没更新导致的问题。关于 CreationExtras ,lifecycle 2.5.0-alpha01 开始引入了 CreationExtras 的概念,它替代了 Factory 的任务为 VM 初始化所需的参数,Factory 无需再持有状态。详情可自行参考官方文档。原创 2022-09-19 17:00:27 · 3170 阅读 · 0 评论 -
设计模式-策略模式在潮玩族安卓开发中的技术实践
什么是策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。原创 2021-01-29 22:46:18 · 249 阅读 · 0 评论 -
Android Jetpack Paging3分页库的使用二(本地数据源和数据流变换)
来自网络和数据库的页面分页库提供了RemoteMediator组件用于此场景。RemoteMediator会管理数据从网络加载到本地数据库的过程。本指南假定您熟悉Room Persistence库和Paging库的基本用法。基本用法假设您希望您的应用将User信息从网络数据源,加载到存储在Room数据库中的本地缓存中。下图说明了如何RemoteMediator和 PagingSource一起工作来满足此场景。一个RemoteMediator将来自网络的分页数据加载到数据库中,但不直接将数据加载原创 2020-11-27 01:40:38 · 1964 阅读 · 0 评论 -
Android Jetpack Paging3分页库的使用一(概述以及网络加载)
概述使用分页库的好处分页库包含以下功能:分页数据的内存中缓存。这可确保您的应用在处理页面数据时有效地使用系统资源。内置请求重复数据删除功能,确保您的应用有效地使用网络带宽和系统资源。可配置 RecyclerView 适配器,当用户滚动到已加载数据的末尾时会自动请求数据。对Kotlin协程和Flow以及LiveData的支持 。内置的错误处理支持,包括刷新和重试功能。架构设计分页库隶属于安卓推荐架构设计的一部分。该库的组件在应用程序的使用中,涉及到三层结构。The repositor原创 2020-11-26 17:13:02 · 1205 阅读 · 1 评论 -
解决"com.android.builder.packaging.DuplicateFileException"
问题描述build的时候报错: com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.xml原创 2016-09-12 15:25:59 · 3586 阅读 · 0 评论 -
解决使用gradle打包报错“The first result from the daemon was empty. ”
起因将项目中使用的gradle版本从2.4升级到了2.10,在本地打包没有问题,但是在打包机中会抛异常: The first result from the daemon was empty.经过在statckover上只找到这个回答: http://stackoverflow.com/questions/36953380/android-studio-gradle-build-error-原创 2016-08-11 16:42:15 · 4263 阅读 · 0 评论 -
解决NestedScrollView中,在子View上滑动不触发滚动事件,却触发点击事件
问题描述1. 整体布局为了实现上滑悬停的TabView,使用了CoordinatorLayout,每一个Tab里都是一个NestedScrollView。2. 问题布局在如图所选的区域滑动(RelativeLayout),只会触发图片的点击事件,不会触发CoordinatorLayout的滑动事件使Tab上方的布局展开或者收起。而在其原创 2016-12-07 23:39:32 · 16671 阅读 · 1 评论 -
Android Jetpack Navigation 导航组件的使用
Android Jetpack:Navigation 导航组件的使用官方介绍导航组件是一套用于应用内导航的库,工具和指南。该组件将应用程序的所有导航信息集中在导航图中,为实现从简单按钮点击到复杂导航UI模式的所有操作提供了强大的框架。Android Studio 3.3包含导航编辑器,可以显示导航图。其他功能和优点包括:自动处理片段交互正确处理上方和后方动画和过渡的默认行为深度链接...原创 2019-06-26 12:47:42 · 4003 阅读 · 0 评论 -
关于Android应用程序内存泄漏 你需要知道的一切
关于Android应用程序内存泄漏 你需要知道的一切原文:https://blog.aritraroy.in/everything-you-need-to-know-about-memory-leaks-in-android-apps-655f191ca859作者:Aritra Roy垃圾收集器是你的朋友,但并非总是如此Java内置了专用的内存管理系统,可以在适当的时候自动释放内存,那为什...翻译 2019-09-23 17:08:02 · 247 阅读 · 0 评论 -
解决“VM has multidex support, MultiDex support library is disabled.”
问题描述在项目中引用了带so库的jar包之后,项目可以编译通过,但是在安装的时候报错:I/MultiDex: VM with version 2.1.0 has multidex supportI/MultiDex: installI/MultiDex: VM has multidex support, MultiDex support library is disabled.A/libc:原创 2016-09-12 15:08:33 · 20871 阅读 · 0 评论 -
图解 Android 事件分发机制
图解 Android 事件分发机制在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。And转载 2016-06-28 14:15:19 · 2143 阅读 · 1 评论 -
深入理解共享元素变换(Shared Element Transition)-上
本文将深入分析共享元素变换(shared element transition)以及它在Activity 和Fragment Transitions API中所扮演的角色。这是这Transition系列文章的第三部分:第一章: Activity和Fragment Transition介绍第二章: 深入理解内容变换(Content Transition)第三章转载 2016-01-19 10:50:33 · 1913 阅读 · 0 评论 -
用百度地图sdk返回详细地址描述
入职新公司之后,需要对现有的手机项目进行改版第一个改版就是在应用中添加定位的功能,可以用百度地图和高德地图sdk实现。要求:gps或者网络定位到当前位置,取精度高的位置并返回详细地址描述先来看看使用百度地图sdk的实现方法申请密钥:Android SDK安全码组成:数字签名+;+包名。数字签名是这个包名在manifest文件中查看之后我们就能拿到原创 2014-12-18 16:40:08 · 7310 阅读 · 1 评论 -
用高德地图sdk返回详细地址描述
上一次写了百度地图取得详细位置的方法,今天继续看看用高德地图怎么实现。首先同样要申请api_key步骤与百度地图一样,需要的东西也一样。然后下载高德地图的定位sdk和服务sdk。接下来步骤都和百度地图操作步骤类似:导入jar包,配置api_key。开始代码:在活动中实现AMapLocationListener以取得高德返回的经纬度在活动中实现OnGeocodeSearchL原创 2014-12-19 10:36:32 · 5831 阅读 · 3 评论 -
android + javascript 相互通信
参考博客:android + javascript 相互通信实例分析http://www.cnblogs.com/yaozhongxiao/p/3408948.html这次要做的事情是:在应用中载入网页,通过javascript与应用程序相互通信。准备工作:先弄个网页,效果如下网页代码: function wav原创 2014-12-19 15:15:44 · 878 阅读 · 0 评论 -
Fragment的应用,之前两个demo的地址
参考文章 Fragment详解: http://blog.csdn.net/t12x3456/article/details/8101030Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面,并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模原创 2014-12-26 14:32:57 · 726 阅读 · 0 评论 -
安卓可移动的悬浮窗口的使用
需求描述:在使用手机客户端浏览内嵌网页的时候,界面出现一个悬浮的刷新按钮,点击网页重新加载。定义窗口布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig原创 2015-02-03 15:13:30 · 1691 阅读 · 0 评论 -
数据可视化工作,安卓图表库的应用
公司的日报系统中,有个查看报表功能。但是现在只能查看表格形式的数据,不直观。这次的工作就是将数据画成图表,数据可视化工作。开源图表库项目简介之前做web开发时,有一个项目是vo,visual office,给客户网上办公用的。里面也涉及到数据可视化的工作,那时候了解到了有d3.js这样一个图表库。那么安卓上有没有类似的图表库呢?我上github上找了下,找到了如下:1.MP原创 2015-01-21 15:06:50 · 7567 阅读 · 0 评论 -
使用微信api将内容分享给好友,或者发送到朋友圈
现在我们给应用添加一个功能,能在应用内将消息分享给微信好友,或者分享到朋友圈中。我们首先来到微信开放平台官网,跟着组织走,官网指南:https://open.weixin.qq.com/cgi-bin/frame?t=resource/res_main_tmpl&verify=1&lang=zh_CN点击这里,查看步骤1.申请你的AppID开发者账号注册完了之后,来到管理中原创 2014-12-30 10:43:27 · 15969 阅读 · 0 评论 -
微信分享的完善,以及剪贴板的应用
之前做的微信分享活动,链接和内容是写死在客户端的,现在要改成能够从后台获取动态数据的版本。活动页面如下:点击立即邀请按钮,跳转到客户端的登录界面。1.剪贴板的使用点击复制按钮,讲文本框中的链接复制到系统的剪贴板中。方法很简单,在此贴出:webview声明接口:web.addJavascriptInterface(new JavaScriptToMobileInt原创 2015-02-16 17:16:52 · 3806 阅读 · 0 评论 -
条码扫描二维码扫描——ZXing android 源码导入及使用
前言 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,百度一下找到了Google的开源 ZXing项目。Zxing项目该怎么用呢?我找到了一些博客如下: http://blog.csdn.net/ryantang03/article/details/7831826 http://www.cnblogs.com/keyindex/archive/2011/06/08/20原创 2015-03-26 14:24:53 · 3776 阅读 · 1 评论 -
安卓手机摇一摇功能的实现
春节期间,摇一摇抢红包很好的推广了微信摇一摇功能。 现在我们来实现一个摇一摇抢优惠券的功能。需求概述用户登录之后才能参加活动。 进入活动之后,每人每天有三次摇一摇机会。 根据服务器返回的中奖结果显示不同的对话框。 大概如图: 界面实现我们根据设计给出的资源,先把活动涉及到的几个界面给画出来。 主界面: tips: dialog: 功能实现核心功能其实很简单,就原创 2015-03-24 15:39:08 · 3158 阅读 · 0 评论 -
安卓透明状态栏Translucent bar
http://www.zhihu.com/question/27365732https://github.com/Millais/Translucent-BaseApplication原创 2015-01-04 15:38:03 · 9995 阅读 · 2 评论