iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >在android中使用缓存和脱机存储
  • 210
分享到

在android中使用缓存和脱机存储

2024-04-02 19:04:59 210人浏览 泡泡鱼
摘要

目录1、在Android中使用缓存和脱机存储2、Offline storage离线存储1、在android中使用缓存和脱机存储   缓存可以加速你的应用程序,即使在网络不可用时,用户

1、在android中使用缓存和脱机存储

  缓存可以加速你的应用程序,即使在网络不可用时,用户能够更加流畅地使用你的应用程序使用缓存是相当简单的,需要一个单一的代码行。

导入 import com.shephertz.app42.paas.sdk.android.App42CacheManager即可,同时需要设置缓存策略。

  •  Policy.CACHE_FIRSTSetting 将激活所有数据的读操作首先从缓存中获取,如果缓存中数据可用且没有失效,就直接从缓存返回,否则进行网络请求这个数据,同时将这个数据更新或加入缓存中,你可以通过api设置缓存失效期,缺省是1一个小时。
  • Policy.netWORK_FIRST 首先从网络获取数据,然后更新缓存。如果网络不可用,数据就从缓存中取出
  • cache.Policy.NOCACHEBy 这是App42 SDK默认,不使用任何缓存,总是仅从网络读数据。

设置缓存策略如下:


App42CacheManager.setPolicy(Policy.CACHE_FIRST);   

缓存失效期:


App42CacheManager.setExpiryInMinutes(<EXPIRY_TIME_IN_MINUTES>);   

案例代码如下:


             
              UserService userService = App42API.buildUserService(); 
              String userName = "Nick";
              userService.getUser(userName,new App42CallBack() { 
              public void onSuccess(Object response)          
              {
                     User user = (User)response;
                     if(user.isFromCache()){
                            //Response coming from Cache               
                            System.out.println("userName is " + user.getUserName()); 
                            System.out.println("emailId is " + user.getEmail());
                            System.out.println("is from cache is " + user.isFromCache());                          
                     }
                     else{
                            //Response From Server
                            System.out.println("userName is " + user.getUserName()); 
                            System.out.println("emailId is " + user.getEmail());
                     }
                      
              }
              public void onException(Exception ex)
              {
                     System.out.println("Exception Message"+ex.getMessage());
              }
              });

If Response is from cache you will get isFromCache flag to true in the response so you can identify that data is real time or data is coming from cache.

如果响应来自缓存,你在响应中通过isFromCache标识为true,这样你能分辨数据是实时的还是来自缓存的。

下面是需要在manifest.xml加入的:


      
        <receiver android:name="com.shephertz.app42.paas.sdk.android.App42BroadcastReceiver">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
      </intent-filter>
    </receiver>
    <receiver android:name="com.shephertz.app42.paas.sdk.android.AlarmReceiver"/>      
    <service android:name="com.shephertz.app42.paas.sdk.android.App42DataSyncService"/>

2、Offline storage离线存储

  离线存储允许你在本地网络的情况下不可用提交数据,当网络可用时,服务器会同步。这在许多情况下是非常有用的,例如如果你的用户玩游戏,并取得了一些特定级别的完成。然而,在发送成绩时,网络断了,那么他的得分可能会丢失,使用脱机缓存会在本地网络无法获得情况下,保存他的得分,并将于稍后网络恢复可用时与同步服务器的。

使用脱机:


App42API.setofflineStorage(true); 

案例代码:


//Set Offline Storage to True
App42API.setofflineStorage(true);
String gameName = "<Enter_your_game/level_name>";
String userName = "Nick";
BigDecimal gameScore = new BigDecimal(3500);
scoreBoardService.saveUserScore(gameName, userName, gameScore,new App42CallBack() {
public void onSuccess(Object response)
{
       Game game = (Game)response;
       if(game.isOfflineSync()) 
       {     //Request is saved in cache
              System.out.println("InfORMation is Stored in cache, will send to App42 when network is available");
       }
       else {
              //Response Received From Server and is Succeseful
              System.out.println("Server Response : " + game);
       }
}
public void onException(Exception ex)
{
       System.out.println("Exception Message"+ex.getMessage());
}
});

到此这篇关于在android中使用缓存和脱机存储的文章就介绍到这了,更多相关android使用缓存和脱机存储内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 在android中使用缓存和脱机存储

本文链接: https://www.lsjlt.com/news/156424.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在android中使用缓存和脱机存储
    目录1、在android中使用缓存和脱机存储2、Offline storage离线存储1、在android中使用缓存和脱机存储   缓存可以加速你的应用程序,即使在网络不可用时,用户...
    99+
    2024-04-02
  • 在android中如何使用缓存和脱机存储
    这篇文章将为大家详细讲解有关在android中如何使用缓存和脱机存储,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、在android中使用缓存和脱机存储  缓存可以加速你的应用程序,即使在...
    99+
    2023-06-25
  • 如何在 Django 中使用 Go 存储缓存?
    Django 是一个流行的 Python Web 框架,而 Go 是一门高效的编程语言。在 Web 开发中,缓存是一个非常重要的概念,它可以大大提高 Web 应用程序的性能。本文将介绍如何在 Django 中使用 Go 存储缓存。 一、什么...
    99+
    2023-11-08
    存储 django 缓存
  • 如何在Android中使用SQLite存储数据
    这篇文章给大家介绍如何在Android中使用SQLite存储数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 安装一个SQLiteDeveloper,这个用来打开android生成的数据库。软件随便搜索就能找到,后面...
    99+
    2023-05-30
    android sqlite
  • 详解Android ViewPager2中的缓存和复用机制
    目录1. 前言 2. 回顾RecyclerView缓存机制 3. offscreenPageLimit原理 4. FragmentStateAdapter原理以及缓存机制 4.1 简...
    99+
    2024-04-02
  • 使用 Symfony 缓存组件在 PHP 中设置缓存
    今天,我将向各位展示 Symfony 缓存组件,这是一种向 PHP 应用程序添加缓存的简单方法。 这有助于通过减少页面加载时间来提高应用程序的整体性能。 Symfony 缓存组件 Symfon...
    99+
    2024-02-27
  • Django 缓存问题?试试使用 Go 存储!
    Django 是一个流行的 Python Web 框架,因其简单易用和强大的功能被广泛使用。然而,随着网站的流量增加,缓存问题也随之出现。Django 内置的缓存机制能够很好地解决这个问题,但是在高并发环境下,仍然会存在一些性能瓶颈。为了...
    99+
    2023-11-08
    存储 django 缓存
  • 如何在分布式缓存中存储和管理 Java 数组?
    Java 数组是一种非常常见的数据结构,但在分布式缓存中存储和管理数组需要注意一些细节。本文将介绍如何在分布式缓存中存储和管理 Java 数组。 一、分布式缓存简介 分布式缓存是指将数据分散存储在多个节点上,以减轻单个节点的负担,提高系统的...
    99+
    2023-06-14
    数组 分布式 缓存
  • 如何使用SharedPreferences在Android存储对象
    这篇文章给大家介绍如何使用SharedPreferences在Android存储对象,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为什么不用SQLite 原因多种:除了面向对象和关系数据库之间的阻抗不匹配时,SQLit...
    99+
    2023-06-25
  • Android ViewPager2中缓存和复用机制的示例分析
    这篇文章主要为大家展示了“Android ViewPager2中缓存和复用机制的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android ViewPager2中缓存和复用机制的示例分...
    99+
    2023-06-25
  • 如何使用 Python 实现同步缓存存储?
    在现代软件开发中,缓存是一个非常重要的概念。它可以显著提高应用程序的性能,因为它允许我们将一些经常使用的数据存储在内存中,从而减少对磁盘或数据库等存储介质的访问。但是,缓存的使用也会带来一些问题,其中最重要的问题之一是数据一致性。 在这篇文...
    99+
    2023-10-18
    存储 同步 缓存
  • 在Redis中使用Template存储缓存数据出现乱码如何解决
    这篇文章给大家介绍在Redis中使用Template存储缓存数据出现乱码如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言RedisTemplate是Spring对于Redis的封装。如上图所示,RedisTe...
    99+
    2023-06-06
  • 如何在 Laravel 中使用 Go 和 JavaScript 存储?
    Laravel 是一个非常流行的 PHP 框架,它提供了许多强大的功能和工具来帮助开发人员快速构建高质量的 Web 应用程序。但是,在某些情况下,您可能需要使用其他编程语言来进行开发,例如 Go 和 JavaScript。在本文中,我们将探...
    99+
    2023-08-20
    javascript 存储 laravel
  • ASP 和 numpy 都有哪些存储缓存技术可以使用?
    ASP 和 numpy 都是常用的编程语言,它们都有存储缓存技术来提高程序的运行效率。本文将介绍 ASP 和 numpy 分别采用的存储缓存技术,并给出相应的代码演示。 一、ASP 的存储缓存技术 ASP 的存储缓存技术主要是基于 ASP ...
    99+
    2023-10-10
    存储 缓存 numpy
  • 如何在JavaScript中使用缓存?
    当我们在开发JavaScript应用程序时,我们经常需要处理大量数据和复杂的计算。在这种情况下,我们需要考虑性能问题,以确保应用程序在运行时能够快速响应并保持流畅。在这方面,缓存是一个非常重要的工具,它可以帮助我们提高应用程序的性能并减少网...
    99+
    2023-11-13
    数据类型 缓存 javascript
  • 如何在PHP中使用Memcache缓存技术进行二进制数据存储
    随着互联网应用的不断发展,数据的访问速度越来越成为人们关注的焦点。为了提高数据的访问速度,缓存技术成为了解决方案之一。而在PHP中,Memcache缓存技术被广泛应用于实现数据的缓存,特别是二进制数据的缓存。本文将介绍如何在PHP中使用Me...
    99+
    2023-05-15
    PHP Memcache缓存技术 二进制数据存储
  • JavaScript中本地存储(LocalStorage)和会话存储(SessionStorage)的使用
    目录前提知识范例示例1:将键值对提供给本地存储示例2: 本地存储中设置键值对示例3: 获取空值示例 4:将数组存储在本地存储中示例 5:从本地存储中获取数组示例 6:从本地存储中获取...
    99+
    2024-04-02
  • 怎么在Android中利用SharedPreferences实现存储
    怎么在Android中利用SharedPreferences实现存储?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SharedPreferences 特点即便是...
    99+
    2023-05-31
    android sharedpreferences roi
  • PHP开发中如何使用Memcache进行高效的数据缓存和存储?
    随着互联网技术的发展,数据量的增加和用户需求的提升,如何提高系统性能成为一个亟待解决的问题。数据缓存是提高系统性能的重要手段之一,而Memcache则是PHP开发中非常常用的缓存工具。在本篇文章中,我们将介绍如何使用Memcache进行高效...
    99+
    2023-11-07
    缓存 PHP Memcache
  • 存储技巧分享:如何使用 PHP 缓存打包技术优化存储?
    在 Web 开发中,缓存是一项非常重要的技术,可以有效地提高网站的性能和响应速度。PHP 缓存打包技术是一种常用的优化存储的方法,可以将多个文件打包成一个文件,从而减少文件数量,降低文件系统的负担,提高网站的响应速度。本文将介绍如何使用 ...
    99+
    2023-06-19
    缓存 打包 存储
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作