自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Journey的博客

采采卷耳,不盈顷筐。

  • 博客(31)
  • 收藏
  • 关注

原创 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 3034

原创 设计模式-策略模式在潮玩族安卓开发中的技术实践

什么是策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。

2021-01-29 22:46:18 226

原创 Android Jetpack Paging3分页库的使用二(本地数据源和数据流变换)

来自网络和数据库的页面分页库提供了RemoteMediator组件用于此场景。RemoteMediator会管理数据从网络加载到本地数据库的过程。本指南假定您熟悉Room Persistence库和Paging库的基本用法。基本用法假设您希望您的应用将User信息从网络数据源,加载到存储在Room数据库中的本地缓存中。下图说明了如何RemoteMediator和 PagingSource一起工作来满足此场景。一个RemoteMediator将来自网络的分页数据加载到数据库中,但不直接将数据加载

2020-11-27 01:40:38 1867

原创 Android Jetpack Paging3分页库的使用一(概述以及网络加载)

概述使用分页库的好处分页库包含以下功能:分页数据的内存中缓存。这可确保您的应用在处理页面数据时有效地使用系统资源。内置请求重复数据删除功能,确保您的应用有效地使用网络带宽和系统资源。可配置 RecyclerView 适配器,当用户滚动到已加载数据的末尾时会自动请求数据。对Kotlin协程和Flow以及LiveData的支持 。内置的错误处理支持,包括刷新和重试功能。架构设计分页库隶属于安卓推荐架构设计的一部分。该库的组件在应用程序的使用中,涉及到三层结构。The repositor

2020-11-26 17:13:02 1165 1

翻译 关于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 229

原创 《Kotlin实战》读书笔记第二章

Kotlin基础1.基本要素:函数和变量函数语句和表达式:在Kotlin中,if是表达式而不是语句。表达式:有值,能作为另一个表达式的一部分使用语句:无值,总是包围着它的代码块中的顶层元素在Java中,所有控制结构都是语句。在Kotlin中,除了循环以外的大多数控制结构都是表达式。在Java中,赋值是表达式,在Kotlin中则是语句。这有助于避免比较和赋值之间的混淆。表达...

2019-09-23 17:06:19 128

原创 《Kotlin实战》读书笔记第一章

《Kotlin实战》读书笔记第一章静态类型的编程语言kotlin和java一样是一种静态类型的编程语言。静态类型:所有表达式的类型在编译期已经确定,编译器能验证对象是否包好你想访问的方法或者字段。动态类型:可以定义能存储任何数据类型的变量,或者返回任何类型的函数,并在运行时才解析方法和字段引用。静态类型带来的好处:性能:方法调用更快,不需要运行时再判断调用哪个方法可靠性:编译器验证...

2019-09-12 18:00:18 158

原创 Android Jetpack Navigation 导航组件的使用

Android Jetpack:Navigation 导航组件的使用官方介绍导航组件是一套用于应用内导航的库,工具和指南。该组件将应用程序的所有导航信息集中在导航图中,为实现从简单按钮点击到复杂导航UI模式的所有操作提供了强大的框架。Android Studio 3.3包含导航编辑器,可以显示导航图。其他功能和优点包括:自动处理片段交互正确处理上方和后方动画和过渡的默认行为深度链接...

2019-06-26 12:47:42 3971

原创 解决NestedScrollView中,在子View上滑动不触发滚动事件,却触发点击事件

问题描述1. 整体布局为了实现上滑悬停的TabView,使用了CoordinatorLayout,每一个Tab里都是一个NestedScrollView。2. 问题布局在如图所选的区域滑动(RelativeLayout),只会触发图片的点击事件,不会触发CoordinatorLayout的滑动事件使Tab上方的布局展开或者收起。而在其

2016-12-07 23:39:32 16619 1

原创 使用NotificationCompat获得好看的通知 (Android Development Patterns S1 Ep 2)

前言Android Development Patterns 第一季第二期,Using NotificationCompat for Beautiful Notifications。 使用NotificationCompat可以在任意API的设备上获得统一的通知体验,并且支持Android Wear 和 Android Auto。Build a notification使用Notification

2016-09-28 19:52:49 755

原创 给隐式Intent加载运行检查(Android Development Patterns S1 Ep 1)

前言2015年9月开始,谷歌在YouTube上上传了一系列开发指导视频,这是Android Development Patterns系列视频的第一期,标题为“Protecting Implicit Intents with Runtime Checks”Intent 类型Intent 类型 Intent 分为两种类型:显式 Intent :按名称(完全限定类名)指定要启动的组件。通常,您会在自己

2016-09-26 01:14:28 527

原创 解决"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 3564

原创 解决“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 20642

原创 解决使用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 4238

转载 图解 Android 事件分发机制

图解 Android 事件分发机制在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。And

2016-06-28 14:15:19 2082 1

转载 深入理解共享元素变换(Shared Element Transition)-上

本文将深入分析共享元素变换(shared element transition)以及它在Activity 和Fragment Transitions API中所扮演的角色。这是这Transition系列文章的第三部分:第一章: Activity和Fragment Transition介绍第二章: 深入理解内容变换(Content Transition)第三章

2016-01-19 10:50:33 1894

原创 Android Studio一直处于building *** gradle project info的解决办法

最近更新了Android Studio preview 5,然后我build项目的时候报了这个错: 这时候把项目的gradle版本换下就好了: 把2.8换成2.10之后,如果还是提示 ‘Error:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try edit

2016-01-18 17:37:45 12897 7

原创 winter开源项目『狗日的知乎』简略分析

首先我们来到『狗日的知乎』项目主页,这简简单单的几个文件为何隐藏如此巨♂大的功能?此中一定有蛤意,就让我简单的带大家来看一看。删除所有答案由于个人喜好我们从菊花部位的文件开始看。这个文件取名update.js,我想一定有日久弥新之意。可以看到只有73行,他就实现了删除答案的功能,简直excited!不愧为win千万。我觉得你们码农啊,还是要学习一

2015-09-17 11:05:21 3489

原创 条码扫描二维码扫描——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 3762 1

原创 安卓手机摇一摇功能的实现

春节期间,摇一摇抢红包很好的推广了微信摇一摇功能。 现在我们来实现一个摇一摇抢优惠券的功能。需求概述用户登录之后才能参加活动。 进入活动之后,每人每天有三次摇一摇机会。 根据服务器返回的中奖结果显示不同的对话框。 大概如图: 界面实现我们根据设计给出的资源,先把活动涉及到的几个界面给画出来。 主界面: tips: dialog: 功能实现核心功能其实很简单,就

2015-03-24 15:39:08 3113

转载 怎样才能做一个大白?

怎样才能做一个大白?原问题来自知乎: 怎样才能做一个大白?我们来看看排名第一的答主做了什么:<!doctype html><html><head><meta charset="utf-8"><title>大白</title><style>*{ margin:0; padding:0;}body{ background:#999;}.Baymax{width:300px; heigh

2015-03-23 13:20:09 1201

原创 微信分享的完善,以及剪贴板的应用

之前做的微信分享活动,链接和内容是写死在客户端的,现在要改成能够从后台获取动态数据的版本。活动页面如下:点击立即邀请按钮,跳转到客户端的登录界面。1.剪贴板的使用点击复制按钮,讲文本框中的链接复制到系统的剪贴板中。方法很简单,在此贴出:webview声明接口:web.addJavascriptInterface(new JavaScriptToMobileInt

2015-02-16 17:16:52 3769

原创 安卓可移动的悬浮窗口的使用

需求描述:在使用手机客户端浏览内嵌网页的时候,界面出现一个悬浮的刷新按钮,点击网页重新加载。定义窗口布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig

2015-02-03 15:13:30 1664

原创 数据可视化工作,安卓图表库的应用

公司的日报系统中,有个查看报表功能。但是现在只能查看表格形式的数据,不直观。这次的工作就是将数据画成图表,数据可视化工作。开源图表库项目简介之前做web开发时,有一个项目是vo,visual office,给客户网上办公用的。里面也涉及到数据可视化的工作,那时候了解到了有d3.js这样一个图表库。那么安卓上有没有类似的图表库呢?我上github上找了下,找到了如下:1.MP

2015-01-21 15:06:50 7494

原创 安卓透明状态栏Translucent bar

http://www.zhihu.com/question/27365732https://github.com/Millais/Translucent-BaseApplication

2015-01-04 15:38:03 9957 2

原创 使用微信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 15810

原创 Fragment的应用,之前两个demo的地址

参考文章 Fragment详解:  http://blog.csdn.net/t12x3456/article/details/8101030Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面,并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模

2014-12-26 14:32:57 715

原创 android + javascript 相互通信

参考博客:android + javascript 相互通信实例分析http://www.cnblogs.com/yaozhongxiao/p/3408948.html这次要做的事情是:在应用中载入网页,通过javascript与应用程序相互通信。准备工作:先弄个网页,效果如下网页代码: function wav

2014-12-19 15:15:44 861

原创 用高德地图sdk返回详细地址描述

上一次写了百度地图取得详细位置的方法,今天继续看看用高德地图怎么实现。首先同样要申请api_key步骤与百度地图一样,需要的东西也一样。然后下载高德地图的定位sdk和服务sdk。接下来步骤都和百度地图操作步骤类似:导入jar包,配置api_key。开始代码:在活动中实现AMapLocationListener以取得高德返回的经纬度在活动中实现OnGeocodeSearchL

2014-12-19 10:36:32 5784 3

原创 用百度地图sdk返回详细地址描述

入职新公司之后,需要对现有的手机项目进行改版第一个改版就是在应用中添加定位的功能,可以用百度地图和高德地图sdk实现。要求:gps或者网络定位到当前位置,取精度高的位置并返回详细地址描述先来看看使用百度地图sdk的实现方法申请密钥:Android SDK安全码组成:数字签名+;+包名。数字签名是这个包名在manifest文件中查看之后我们就能拿到

2014-12-18 16:40:08 7277 1

转载 Eclipse相关设置

Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中 Test Editors,右边出现Test

2014-07-10 16:06:40 549

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除