gradle

新零售时代,我们如何提升线下业务的终端可用性?

一世执手 提交于 2020-10-29 00:33:24
作者|陈聪(有马) 出品|阿里巴巴新零售淘系技术部 导读:在新零售时代,如何提升线下业务的可用性是一个极其重要的命题,本文从阿里巴巴未来酒店:Flyzoo Hotel 项目出发,介绍了在过程中对这个命题的通用思考,与具体落地的解决方案。 在阿里未来酒店项目中,笔者首次接触了不少线下业务,因为业务的需要,其中大部分是由线下( Android )设备来达成的,如 CheckIn 与 CheckIn 设备,电梯与梯控设备,客房门与门控设备,早餐与早餐核销设备等。 在提高业务可用性的问题上,经历手淘多年的发展,虽然积累了大量可供选择的高可用中间件,但对于酒店这类线下为主的业务,由于线下相比线上,在业务形态与设备环境上有着较大的不同,自然会影响到解题的思路,以及解法的 trade-off ,进而会推演出不同的思路与方案。 本文主要介绍对于线下设备可用性方向上的思考,以及基于此而落地的框架与解法,希望能达到一定的抛砖引玉的效果。 01 当我们谈论线下可用性的时,在讨论什么 线下业务中,对于那部分以线下设备为核心的业务而言,提高业务可用性的核心是提高设备可用性,更确切而言,是减少设备对用户可感知的,业务功能不可用的时长。 而如何提升的方向,可从线下业务与技术相比线上的不同来着手分析。 1.1 业务上的不同思考 在业务上,线下相比线上主要有如下3个不同点: 1. 设备专一业务、业务专一功能 即

干货 | 携程Android 10适配踩坑指南

强颜欢笑 提交于 2020-10-28 11:47:39
作者简介 曙光,携程资深软件工程师,负责市场营销相关研发及管理工作。 2019 年 9 月 3 日,Google 发布了 Android 10 正式版。Android 10 聚焦移动创新、安全隐私和数字健康三大主题,全面打造最佳用户体验。 背景 目前携程旅行线上最新版本已适配到Android 10(API =29),由于从API=26升级到API=29,跨度较大,我们提前对相关适配进行了调研,希望其中一些经验能对其他开发者有一定的帮助。 在Android 10 版本中,官方的改动较大,相应的开发者适配成本还是很高的。基于前期调研,我们主要基于以下几方面进行Android 10的适配: Android X 分区存储 设备ID 明文HTTP限制 一、AndroidX AndroidX 对原始 Android Support库进行了重大改进,后者现在已不再维护。AndroidX 软件包完全取代了支持库,不仅提供同等的功能,而且提供了新的库。 1.1 什么是AndroidX Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功。随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。 于是Android团队推出了一个鼎鼎大名的Android Support Library

【Android】数据存储-SQLite

那年仲夏 提交于 2020-10-27 15:04:25
SQLite特点: 轻量级 独立 隔离 跨平台 多语言接口 安全性(多进程可以同时读取,但同一时间只能有一个进程在写入数据) 创建数据库和表,以及数据库的增删改查操作 DatabaseHelper.java package com . jsc4 . aboutactivity . database ; import android . content . Context ; import android . database . sqlite . SQLiteDatabase ; import android . database . sqlite . SQLiteOpenHelper ; import androidx . annotation . Nullable ; public class DatabaseHelper extends SQLiteOpenHelper { public static final String USER_TABLE_NAME = "user" ; public static final String USERNAME = "username" ; public static final String AGE = "age" ; public static final String DATABASE_NAME = "test.db" ;

Android Retrofit2.0+RxJava3.0 基本使用

ぐ巨炮叔叔 提交于 2020-10-27 12:48:58
一,ReactiveX 要学习RxJava,那么不得不提他的由来ReactiveX,ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发; 二,Rx的发展 Rx这几年非常流行,以至于开发出多种语言版本,例如RxJava 、 RxGo 、RxJS、RxKotlin、 RxPY 、 Rx.NET 等等;Rx的大部分语言库由ReactiveX这个组织负责维护,社区网站是 reactivex.io 。 三,RxJava RxJava是响应式编程(Reactive Extensions)的java实现,它基于观察者模式的实现了异步编程接口。 Rxjava 3.x 的 github官网 ; Rxjava 3.0的一些改变: 官方Wiki ; Rxjava 3.x 文档可以在 官方javadoc 中找到 1,Retrofit + RxJava3组合使用 首先要引入依赖 implementation "io.reactivex.rxjava3:rxjava:3.0.0" implementation 'io.reactivex:rxandroid:1.2.1'

安卓 gradle-6.5下载失败,解决方案

徘徊边缘 提交于 2020-10-27 09:59:25
android studio gradle-6.5下载失败, 方案1,换个下载地址: 打开gradle-wrapper.properties,编辑distributionUrl: distributionUrl=https://downloads.gradle-dn.com/distributions/gradle-6.5-bin.zip 修改后保存,按同步。 方案2,离线方式: (1)把上面的下载地址复制,用迅雷下载。 (2)进入C:\Users\Administrator\.gradle\wrapper\dists\gradle-6.5-bin\5a59v65v3d3is8vozuci38s95\,删除此目录下所有的内容, (3)把gradle-6.5-bin.zip粘贴到此目录下,解到当前文件夹。 (4)启动android studio。 Good Luck. 来源: oschina 链接: https://my.oschina.net/u/4259850/blog/4690494