
技术分享
Danvie
与众多技术人共成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
方舟之应用编译篇
华为方舟编译器开源了介绍了方舟编译器的基本功能与编译方法,那么方舟编译器该怎么用,如何对我们的应用进行优化呢?查找华为方舟编译器的相关资料,发现其开源范围介绍说:目前开源的部分只是编译器IR+中端语言部分的源码,而编译器前端、后端(生成汇编)、编译优化的代码需要在后续逐步开源(但是从编译情况对比来看,目前除了运行时库生成so文件的部分未开源,其余文件均可生成,具体还需要等待全部代码开源后...原创 2019-09-08 18:44:51 · 5160 阅读 · 0 评论 -
Jetpack系列:应用内导航的正确使用方法
今天小编要分享的还是Android Jetpack库的基本使用方法,本篇介绍的内容是Jetpack Navigation组件,让我们一起学习,为完成年初制定的计划而努力吧!***组件介绍导航,是指提供用户在应用程序中的不同内容之间进行浏览、退出的交互功能。如我们在Android手机上常常用到的物理/虚拟返回按键、桌面(Home)键、历史记录(Recent)键、ActionBar 返回键等等。...原创 2019-10-07 16:54:18 · 2020 阅读 · 0 评论 -
Jetpack系列:LiveData入门级使用方法
Android APP开发中,开发者们都想有一个公共的组件,可以实现后台数据的监听,同时实时更新到UI进行显示,从而大大简化开发过程。Google针对这一开发需求,提供了Jetpack LiveData组件。下面我们来一起看下LiveData的基本使用方法吧!首先,先了解下使用LiveData的优点。确保UI与数据状态匹配不需要担心内存泄漏问题Activity停止后数据变化不会导致Cra...原创 2019-09-30 13:30:16 · 1858 阅读 · 0 评论 -
Jetpack系列:谈应用如何优雅的感知生命周期
每一个做Android APP的人都有一种痛苦,那就是对Activity和Fragment生命周期过程中数据处理的痛苦。时常出现的生命周期外的数据操作导致的内存泄漏甚至是应用程序崩溃更让人头大。Android针对开发者这一痛点,增加了LifeCycle生命周期感知组件,使用此组件可以将生命周期管理的模板代码抽离出来,让开发者只需要关注具体的业务功能实现,组织更好、更轻量的...原创 2019-09-28 23:55:55 · 285 阅读 · 0 评论 -
NDK~快速上手APP本地方法调用
最近有一个项目,因为新增一个需求,需要调用本地库方法,小编就将加入JNI调用的过程简单和各位分享下吧!NDK开发小编之前也接触的不多,遂开始查阅资料,添加native支持的方法有很多: AS新建Android项目,选择Native C++,则会创建包含所有Java层和Native支持; 更改模块build.gradle文件,加入externalNativeBui...原创 2019-09-28 20:30:45 · 328 阅读 · 0 评论 -
你需要一份更绝佳的文章排版与设计
本文仅针对网络上大多数的页面或者文章的排版和设计,旨在构建一个更棒的用户体验。本文仅作为个人观点进行推荐, 如果您有更好的观点可以通过关注公众号回复消息进行探讨。下面将从四个方面来进行文章排版的优化。· 正 · 文 · 来 · 啦 ·一. 引号英文引号:包括弯引号(curly quote)和直引号(straight quote);弯引号...原创 2019-09-28 20:29:10 · 1478 阅读 · 0 评论 -
Jetpack系列:数据安全是根本
随着个人信息安全意识的提高,APP的功能设计越来越需要对数据进行更安全的处理,经常会有新闻爆出某某应用又在后台偷偷获取用户联系人、短信、通话记录等等个人信息。科技发展在带来便利的同时,也会有很多安全问题,如何保证用户数据的安全存取呢?Google提供了Security组件来进行数据保护,一起来看看吧!Android Jetpack库提供了Security组件,用于信息保存和读取时的保...原创 2019-09-26 16:54:24 · 910 阅读 · 0 评论 -
Jetpack系列:编译失败怎么办~多Dex文件支持介绍
APP功能复杂,方法引用较多时,常常会出现一个编译错误,指明应用已经达到Android编译架构规定的引用限制,此限制到达的条件是APP及其引用库超过65536个方法。一般出现的编译错误为:trouble writing output:Too many field references: 131000; max is 65536.You may try using --mult...原创 2019-09-26 09:42:06 · 346 阅读 · 0 评论 -
Jetpack系列:Benchmark 性能PK专用
上一篇介绍了Jetpack KTX组件的基本使用,本篇介绍Jetpack的另一个库:Benchmark。Benchmark,翻译成中文就是基准、用基准问题测试的意思,Jetpack基准库可以从AS中快速对基于Kotlin或Java的代码进行基准化分析,该库会处理CPU预热,衡量代码性能,并输出基准化分析结果到AS控制台,可以完成功能的测试与代码性能分析。目前很多项目都引入了Be...原创 2019-09-24 23:32:15 · 2524 阅读 · 1 评论 -
Jetpack系列:喜新厌旧的程序员~KTX篇
Kotlin,是一种OSS静态类型的编程语言,主要针对JVM,Android,JavaScript和Native,由JetBrains开发,属于开源项目,第一个官方1.0版本于2016年2月发布。当前最新发布的版本是1.3.50, 于2019年8月22日发布。关于Kotlin语言的使用说明,大家可以在Kotlin官方说明文档中学习:https://kotlinlang.org/d...原创 2019-09-23 22:31:59 · 1728 阅读 · 0 评论 -
Jetpack系列:数据绑定~双向绑定
上一篇介绍了数据绑定使用ViewModel的例子,本篇将简单说一个使用双向绑定实现界面刷新的例子。如上是使用双向绑定实现的一个简单的界面显示功能,此界面中实现的功能有: 显示Work进程处理进度,设置Work进程处理时长; 显示Rest进程处理进度,设置Reset进程处理时长; 设置进程循环次数; 启动、暂停、停止进程运行,界面恢复...原创 2019-09-22 23:47:36 · 760 阅读 · 0 评论 -
Jetpack系列:数据绑定~使用ViewModel
Hello,大家好,上一篇我们介绍了使用DataBinding库使用ObservableInt类实现简单数据绑定的功能,本篇将使用ViewModel元素,通过ViewModel来进行数据持有和用户事件的处理。今天的Demo实现效果与入门篇效果一致,只是代码实现方式有差异:使用ViewModel进行数据绑定,我们使用如下两种实现方式: 使用LiveD...原创 2019-09-19 23:24:51 · 1106 阅读 · 0 评论 -
Jetpack系列:数据绑定~入门篇
Hello,大家好,上一篇我们介绍了Google标准应用架构设计指南,从今天开始,我们开始介绍Jetpack每个库的具体使用方法,加入我们一起学习吧!今天要介绍的是Jetpack中DataBinding(数据绑定库)的实现,APP集成DataBinding库,将会使用声明性格式而不是编程方式将布局中的UI组件绑定到应用程序的数据源。如下是一个简单demo的实现效果:...原创 2019-09-18 23:47:45 · 453 阅读 · 0 评论 -
你应该了解的Android APP架构指南
一款好的APP,能够给使用者带来优质的用户体验效果。但是通常情况下,大部分的APP运行时总会出现Crash,UI加载不流畅等问题,从而APP整体评价很低。上篇文章Android Jetpack 简介介绍了Google提供的简化开发者设计应用的库,从本篇开始,将会分析APP设计与Jetpack库使用方法。下面先来介绍下Google官方针对APP程序架构设计的标准建议,一起来看看吧!...原创 2019-09-17 20:59:06 · 221 阅读 · 0 评论 -
Android Jetpack介绍
作为一名Android开发者,在APP开发过程中,对于生命周期管理、数据管理、多线程处理、后台任务、导航、页面等功能开发存在各种各样的问题。Google针对这一开发痛点,创建了一个组件库,这就是Jetpack。自2018 Google I/O发布Jetpack以来,已经补充了针对Android UI、行为、架构、基础四个领域涉及共30个库,框架图如下:Jetpack组件...原创 2019-09-15 19:55:23 · 758 阅读 · 0 评论 -
Jetpack系列:Paging组件帮你解决分页加载实现的痛苦
相信很多小伙伴们在项目实战中,经常会用到界面的分页显示、加载更多等功能。需要针对具体功能做针对性开发和调试,耗时耗力。Paging组件的使用将这部分的工作简化,从而让开发者更专注于业务的具体实现。下面我们一起来学习下Paging组件的使用方法。首先来看下使用Paging组件实现的分页加载和刷新效果:数据库读取分页加载网络端分页请求数据下面我们针对这两个使用Paging组...原创 2019-10-10 10:34:22 · 1542 阅读 · 0 评论