〇、前言应用版本更新作为Android应用的基础功能是每个应用都必须具有的,这个功能实现起来也有多种方式。前段时间我们项目改版,重新梳理了应用更新的逻辑,功能本身是比较简单的,但是各种可能的异常情况还是挺多的,特此进行记录。一、使用OkHttp实现应用版本更新主要有三个方法:首先检测是否有新的版本,然后进行APK文件下载,最后安装新的APK。检测新版本的方法如下:/** * 检测是否有新
前言RecyclerView 对大家来说,基本使用应该已经比较熟悉,这里就直接跳过,说说ItemDecoration,也算是温故而知新。【Android进阶】RecyclerView之ItemDecoration(一)【Android进阶】RecyclerView之缓存(二)【Android进阶】RecyclerView之绘制流程(三)【Android进阶】RecyclerView之分组列表加吸顶
转载 2023-08-07 23:01:26
142阅读
上周,爆料大神@evleaks曾给出消息强调,谷歌要在本月21日推送Android 8.0的正式版,而这天还正好是美国的全日食日,显然这是非常用心的日期选择。现在,谷歌已经正式给出了Android O正式版的推送时间,8月21日美国东部标准时间下午4点开始,为了让大家记得时间,他们还做了一个官方倒计时,提醒用户升级时间的同时,还方便大家对的日食跟踪。好了,外界之前一直猜测,Android O的代号
一、简述说到RecyclerView大家都很熟悉了,相比于ListView,它具有高度解耦、性能优化等优势,而且现在大多数安卓开发者都已经将RecyclerView用来完全替代ListView和GridView,因为它功能十分强大,但往往功能强大的东西,反而不太好控制,例如今天要说的这个ItemDecoration,ItemDecoration是条目装饰,下面来看看它的强大吧。二、使用ItemDe
转载 2024-01-07 13:54:52
195阅读
获取LayoutInflater对象三种方法:1、LayoutInflater inflater=getLayoutInflater(); 2、LayoutInflater inflater=(LayoutInflater)mContext.getSystemServic(LAYOUT_INFLATER_SERVICE); 3、LayoutInflater inflater=LayoutIn
转载 2023-08-22 22:36:32
100阅读
目录说明1.圆形图片2.网络图片1.加入依赖包到build.gradle2.在manifests中添加网络访问权限3.回到MessageFragment.java中加入网络图片3.下拉刷新,上拉加载1.导入依赖2.在message.xml中添加SmartRefreshLayout布局3.添加上拉加载下拉刷新代码 说明下面的几个案例都是基于如下的项目。模仿了QQ的界面,集成了Fragment和Re
转载 2023-07-03 16:15:36
83阅读
前言:检测是否需要更新,这个很简单,这里就不叙述了。本文主要介绍如何下载和安装更新。下载新的安装包,大致有三种方式:自己写一个下载器、使用安卓自带的下载管理器、使用浏览器下载。其中,利用安卓自带下载管理器较为方便而不失优雅,本人的项目中使用较多。下载器自己写下载器下载器的写法可以参照《第一行代码》中“服务的最佳实践”。郭神采用了前台服务,但是国内安卓手机使用前台服务容易出问题,需要稍微修改下,可以
转载 2023-07-27 22:16:34
89阅读
前言Android 13 开发者预览版从 2022 年 2 月正式启动,3 月份 Google 已经发布了第 2 个开发者预览版。目前更新的内容主要还是围绕隐私和安全这个主题,我们会持续跟进官方的 发布计划表,最终版本预计在今年年底发布。针对开发者在进行版本适配过程中遇到的问题,我们建立了 GitHub · AndroidPlatformWiki。我们希望站在开发者的视角,全面且深刻地解读每个 A
今天终于进行了一次在我来看真正的面试,终于能和工程师进行一次交流了,虽然聊了没几分钟,但让我足够让我知道自己是多无知的了。嘚嘚嘚说正事吧:这两天注意到了App更新的步骤,然后就打算做一下。一般版本更新都是通过一个远程的通知进行通知用户进行版本更新,然后就顺着这里开头进行了开始,因为自己没有服务器,也不会本地创建一个服务端进行测试,然后我就查了查推送,本来是想用腾讯的信鸽,当我看见那个网站的主页做的
现在一般的android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新。该小程序实现的就是这个功能。该小程序的特点是,当有更新时,会弹出一个提示框,点击确定,则在通知来创建一个进度条进行下载,点击取消,则取消更新。以下是详细代码:1.创建布局文件notification_item.xml,用于在通知栏生成一个进度条和下载图标。<?xml vers
转载 2023-09-04 19:58:38
48阅读
这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级
转载 2024-01-24 16:35:35
8阅读
什么是热更新?一般我们学习一门新技术,我们都会首先去了解,这门技术是做什么的,有什么用。在百度百科中,热更新的定义是这样的: 热更新是一种各大手游等众多App常用的更新方式。简单来说,就是在用户通过App Store下载App之后,打开App时遇到的即时更新更新的原理说到热更新的原理,不得不提一下android中类的加载流程我们知道Java在运行时加载对应的类是通过 ClassLoader 来
Android系统提供了一个Widget机制,可以让信息直接在主屏中显示,这样对于一些经常访问的信息不需要打开应用程序即可获取到,方便了用户。iOS5也抄袭了这种方式。Android系统的Widget可以在配置文件中通过updatePeriodMillis属性来控制该Widget数据的更新周期,时间到后系统会发送一个更新请求告诉该Widget需要更新数据了。 但是出于节约用户电量的考虑,Andro
Android开发中常遇见数据的实时刷新的场景:后台服务获取的信息,然后插入数据库中,数据自动加载到当前的UI上。或者当某个数据源发生改变时,及时在UI刷新显示。这种场景很适合观察者模式,当被观察者发生改变时候,及时通知观察者做出响应。SQLite+自定义的ContentProvider+CursorLoader可以实现,当数据库中某个数据源发生改变的时候,自动通知。数据库中数据源发生改变到自动
转载 2023-07-31 15:41:20
146阅读
一个好的应用软件都是需要好的维护,从初出版本到最后精品,这个过程需要版本不停的更新,那么如何让用户第一时间获取最新的应用安装包呢?那么就要求我们从第一个版本就要实现升级模块这一功能。 自 动更新功能的实现原理,就是我们事先和后台协商好一个接口,我们在应用的主Activity里,去访问这个接口,如果需要更新,后台会返回一些数据(比 如,提示语;最新版本的url等)。然后我们给出提示框,用户点击开始
今年5月,谷歌I/O开发者大会正式召开。在这次活动中,Android 13正式亮相与大家见面,并带来了全新功能升级。近日,谷歌向旗下的 Pixel 手机推送了 Android 13 正式版更新。随着正式版本的到来,更多新的功能升级特性也陆续被用户发现。与之对比,谷歌于2020 年 9 月推送了 Android 11,于去年 10 月带来Android 12。可以看到,今年的 Android 13
一个从服务器端下载apk 的小例子。下载过程中会实时的刷新进度条。这里使用了两种方法,一种是利用第三方的框架xutils中的HttpUtils来进行下载的,另一种是自己写的一个单线程下载的方法。注意:1、自己开子线程下载时不要在子线程中操作和UI有关的事情,否则会报错。这里利用发handler来对UI操作,保证在主线程(UI线程中)来操作刷新UI;2、获取下载apk包大小的时候也要注意HttpUR
【4月10日讯】由于2020年“黑天鹅”事件影响,也是让谷歌直接取消了2020年I/O开发者大会,虽然谷歌方面也是多次表态确认,作为年度重磅产品—Android 11系统依旧会持续更新发布,相信大家都知道,谷歌将会对全新的Android 11系统进行多项功能的重大改动,并且很多系统功能都是带有“强制”性质,例如:“预装Android11 系统的智能手机必须要从谷歌应用商店下载安装APP,强制统一导
android APP检测版本更新以及后台服务更新版本更新是获取本地版本号跟服务器版本号进行对比,当有更新的时候服务器会上传新的APK文件, 并且版本号是比没更新的版本号要大的,因此就是版本号的比较来确定是否需要更新。当需要更新 的时候就通过启动后台服务来更新。介绍一下各个知识点:1、获取本地版本号//获取本地的版本号 private int getVersionCode(){ Pac
转载 2023-07-10 13:04:54
457阅读
前言基本上什么App都会有的功能,在此列举一个之前项目使用的,请求是Rxjava+Retrofit,显示进度是通知栏进度条。大纲1.判断是否需要更新部分2.请求下载apk3.进度条更新4.下载后自动安装5.其他问题正文测试demo请参考QingFrame中的相关测试模块:https://github.com/UncleQing/QingFrame1.判断是否需要更新部分这部分很简单,基本就是请求自
转载 2023-09-11 20:56:38
179阅读
  • 1
  • 2
  • 3
  • 4
  • 5