在上一篇博客 【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 ) 中 , 实现了 使用 Room 框架访问 Android 中的 SQLite 数据库的操作 , 每当数据库中的数据发生变化时 , 就需要开启线程 , 重新获取数据库中的数据 ;
Afinal简介 Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用; 使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。 Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。 目前Afinal主要有四大模块: FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。 Fi
对于 Room 框架 来说 , 使用 Java 语言 开发和使用 Kotlin 语言 开发 , 需要在 build.gradle 构建脚本 中进行不同的配置 , 主要有以下两个配置不同 :
Room是AAC推荐的基于SQLite的ORM数据库框架。通过注解的方式来进行数据库的配置,以及SQL的查询,并且在编译的过程中,会检查SQL以及数据库配置等的正确性,同时也支持外键、事务等。虽然没有ObjectBox,GreenDao等效率高,不过用起来也比较方便。
网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的android-async-http库,再到使用google发布的volley库,一直不懈的
当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。
前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、SugarORM、Active Android、Realm 与 GreenDAO。而今天的主角便是 greenDAO,下面,我将详解地介绍如何在 Android Studio 上使用 greenDAO,并结合代码总结一些使用过程中的心得。 关于 gre
Retrofit: Retrofit是Square 公司开发的一款正对Android 网络请求的框架。底层基于OkHttp 实现,OkHttp 已经得到了google 官方的认可。
Android 开发中,经常有从服务器下载数据的需求出现,尤其是在线更新App的情形。其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本较新,再进行提示然后下载Apk最后进行安装。这种需求解决方案有很多,第三方的网络框架基本都有这个功能。 Android自带的DownloadManager是一个很好的下载文件的工具。该类在API level 9之后出现,它已经帮我们处理了下载失败、重新下载等功能,整个下载过程全部交给系统负责,不需要我们过多的处理,非常的nice。关键的是用起来也很简
UriMatcher类,new出来对象new UriMatcher(code) code是个int,表示未匹配到的返回值,一般使用常量UriMatcher.NO_MATCH是-1,把他定义成静态成员属性。
Room是Google官方推荐使用的数据库,相比较某些优秀数据库框架来说,不用过于担心某天库会停止维护,且访问数据库非常流畅,并且提供了与常规的ORM框架一样,通过添加编译期注解来进行表和字段的配置,譬如@Database、@Dao、@Entity、@Query、@Insert、@Update、@Detele等的注解,可以使用简单代码实现相比以前SQLite更复杂的代码的效果,这点儿有点儿类似于java世界里的mybatis。总而言之, Room功能强大,速度和稳定性不弱,还简单易用,算得上是一个优秀的数据库。
手机应用的快速增长,手机应用安全成为一个热门的话题,android的安全问题有一大部分的原因是因为android的组件暴露、权限使用不当导致的。
这篇教程介绍了如何使用 Mockito 框架来给软件写测试用例。 1、预备知识 如果需要往下学习,你需要先理解 Junit 框架中的单元测试。 如果你不熟悉 JUnit,请查看下面的教程: http://www.vogella.com/tutorials/JUnit/article.html 2、使用mock对象来进行测试 2.1 单元测试的目标和挑战 单元测试的思路是在不涉及依赖关系的情况下测试代码(隔离性),所以测试代码与其他类或者系统的关系应该尽量被消除。一个可行的消除方法是替换掉依赖类(测试替换),
在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件,
大家都会使用支付宝,在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件。
Android 系统中使用的数据库是 SQLite 关系型数据库 , 使用 Android 提供的 api 访问 SQLite 数据库非常繁琐 , 由此出现了很多 ORM 框架 ;
android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。只有需要在多个应用程序间共享数据是才需要内容提供者。
前言 Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请
如果我们要从零开始开发一个移动端的 App,支持 Android 和 iOS ,那么,本文应该恰恰是你应该去看一看的。
SeleniumLibrary是Robot Framework的Web测试库,内部使用Selenium工具。
该文介绍了如何在WindowsPhone和Android平台上使用SQLite数据库存储数据,并提供了具体的代码示例。
关于Retrofit的学习,我算是比较晚的了,而现在Retrofit已经是Android非常流行的网络请求框架了。之前,我没有学过Retrofit,但最近公司的新项目使用了Retrofit、Rxjava和OkHttp来进行封装,使用起来非常简便,增加代码的美观程度,也降低了耦合度,这是一个非常棒的框架,特别是这三者一起使用。
大家应该都熟悉FileProvider吧,但是其诞生的原因,内部怎么实现的,又是怎么转化为文件的,大家有了解多少呢?今天就通过它重新看看ContentProvider这个四大组件之一。
由于Airtest的Template类中包含了大量的自身框架的内容,所以需要将它拿出来与我们的框架进行整合。
VMOS(虚拟大师)是一款以Virtual Machine(简称VM,即虚拟机)技术为主的APP(安卓应用)软件。无需root权限,以普通应用安装的形式运行到任意版本的linux或安卓系统上。可定制操作系统版本、功能。定制的操作系统拥有root权限,权限不会涉及宿主系统的安全问题。具体应用可真机和虚拟机双开应用和游戏,支持同屏操作,悬浮窗切换,后台运行。虚拟机自带root,支持XP框架和谷歌套件,不必担心真机风险,可自定义分辨率,自带root权限,支持XP框架和谷歌套件,满足极客手机爱好者的各种需求。
前面的文章中《实现Android本地Sqlite数据库网络传输到PC端》中制作的将本地Sqlite数据库通过网络通讯传到PC端后进行数据的查看,为便运维时使用的,但是如果发现问题后需要对数据库的数据进行修改时,只能通过改了本地数据库再覆盖Android的数据库,这样操作起来非常麻烦,所以本章就是在当时的程序基础上实现了一个针对Android Sqlite数据库进行Sql操作的运维小工具。
根据我们曾经做的调查,开发者们希望 Android 官方可以维护一些实用的组件库和架构实践,以降低中大型应用的开发门槛,这样开发团队就可以集中更多精力在实际业务的优化和改进上。
此博文根据前面两篇文章 Android MVP 架构初试 Android MVP 架构封装 再结合主流框架Retrofit2+Rxjava来个实践(实现聚合网周公解梦)
感冒了,可太难受了,感觉像是行尸走肉。这两天应该全国都在变冷吧,大家一定要注意身体啊。少熬夜了,我感觉我就是熬夜导致免疫力下降了。
之前我们分别介绍了MVVM框架的悲剧,项目搭建以及网络请求,接下来在这篇文章当中,我们来聊一聊MVVM数据持久化的问题,也就是我们常说的缓存
最近公司中的相册组件被业务方反馈了新问题,在 targetSdk=30 的 Android 10 手机上运行相册,缩略图会加载不出来,于是就开启了这次的趟坑之路。
SQL数据库的主要原则是模式(schema): 一种数据库被如何组织的正式声明. 模式被反映在你用来创建你的数据库的SQL语句中. 你可能会发现创建一个同伴类很有用,它被称作(contract)协议类, 它用一种系统和自文档化的方式明确指定了你的模式的布局.
最近在项目中着手做Android10和Android11 适配时候,期间遇到了不少的坑。之前有专门写过qq、微信分享的适配。但是此次在针对偏业务侧适配工作的时候还是碰到了一些新的问题。记录下来,方便以后查阅,希望能帮到碰到此问题的相关同学。
虽然Android提供了数据库帮助器,但是开发者在进行数据库编程时仍有诸多不便,比如每次增加一张新表,开发者都得手工实现以下代码逻辑: 1、重写数据库帮助器的onCreate方法,添加该表的建表语句; 2、在插入记录之时,必须将数据实例的属性值逐一赋给该表的各字段; 3、在查询记录之时,必须遍历结果集游标,把各字段值逐一赋给数据实例; 4、每次读写操作之前,都要先开启数据库连接;读写操作之后,又要关闭数据库连接; 上述的处理操作无疑存在不少重复劳动,数年来引得开发者叫苦连连。为此各类数据库处理框架纷纷涌现,包括GreenDao、OrmLite、Realm等等,可谓百花齐放。眼见SQLite渐渐乏人问津,谷歌公司干脆整了个自己的数据库框架名叫Room,该框架同样基于SQLite,但通过注解技术极大简化了数据库操作,减少了原来相当一部分编码工作量。 由于Room并未集成到SDK中,而是作为第三方框架提供,因此首先要修改模块的build.gradle文件,往dependencies节点添加下面两行配置,表示导入指定版本的Room库:
Retrofit是当前应用非常广泛的网络请求框架,通常结合RxJava来进行网络请求,本文将展示一个采用RxJava+Retrofit的网络请求demo.
20 亿参数的 Octopus v2 可以在智能手机、汽车、个人电脑等端侧运行,在准确性和延迟方面超越了 GPT-4,并将上下文长度减少了 95%。此外,Octopus v2 比 Llama7B + RAG 方案快 36 倍。
面对越来越复杂的 App 需求,Google 官方发布了Android 框架组件库(Android Architecture Components )。为开发者更好的开发 App 提供了非常好的样本。这个框架里的组件是配合 Android 组件生命周期的,所以它能够很好的规避组件生命周期管理的问题。今天我们就来看看这个库的使用。
这是一个非常有用的Android app 信息Viewer 工具。其可以查看App 的API的调用,So库
在移动浏览器中实现拨打电话,调用sms发短信,发送email等功能,移动手机WEB页面(HTML5)协议提供的接口是一个好办法。采用url href链接的方式,实现在Safari ios,Android 浏览器,webos浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能。
介绍了那么多,那么到底RxJava在真实开发中会有哪些地方用到呢?今天和大家介绍一下它的经典使用场景。
这是一篇自己从Android开发文档中翻译来的关于Room 的文档。哪里不对,欢迎纠错 Room 持久化库 Room持久性库提供了SQLite的抽象层,以便在充分利用SQLite的同时允许流畅的数据库访问。 该库可帮助你在设备上创建应用程序的缓存数据,这样不管设备是否联网都能看到数据。 摘自 Room Persistence Library 使用 Room 在本地保存数据 原文地址 https://developer.android.com/training/data-storage/room/index.
在项目开发中,需要记录 操作日志 。起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题。
由于学校科技立项的项目需要实现Android App端与PHP Web端的简单数据交互的实现,当前场景是Web端使用的是MySql数据库,Apache服务器和PHP语言编写的。数据交互的简单理解就是Android能向服务端进行数据获取,同时也能进行数据提交。
通过ContentProvider初探相信你已经知道如何去使用系统提供的ContentProvider或者自定义ContentProvider了, 已经基本满足日常开发的需求了,有趣的是,我在官方文档上看到了另外这几个Provider:
本文主要面向单元测试新手,首先简单介绍了什么是单元测试,为什么要写单元测试,讨论了一下 Android 项目中哪些代码适合做单元测试,并以一个简单例子演示了如何编写属于你的第一个 Android 单元测试(kotlin 代码)。
微信的移动客户端全文搜索中的多音字问题一直是搜索体验的痛点之一。微信客户端全文搜索在上线以后,也经常收到用户关于多音字问题的反馈。所以,微信全文搜索中的多音字搜索成了一个迫切需要解决的问题。本文重点讲述微信安卓客户端在SQLite FTS5的基础上,多音字问题的解决方案。
Retrofit用法和介绍的文章实在是多的数不清,也有很多介绍其内部原理的,但是看过之后,还是让很多人云里雾里, 本篇文章旨在通过自我实现一个自定义的Retrofit,来熟悉了解其Retrofit的内部原理。也帮助针对那些项目很稳定,解决迁移API接口带来的难度问题。(本文实际上去年7月写的),再回过头来去了解retrofit源码想必是小菜一碟。
现在虽然是多端平台开发的天下,但做Iot开发主要在安卓系统下,当然不排除以后的什么鸿蒙系统(至于能不能成大器这另一回事)。做Iot开发主要就是解决设备孤岛的问题,就是怎么将设备的数据上传到服务器是。传统的就http(s)或MQ这两套板斧,不过其实MQ也是基于http(s),只是由于其已经大多封装好调用直连所以是俺等懒人的必选之一。不过用MQ又要部署太多的事情,为几个简单去部署一堆事情,俺乐意其时间也不乐意,好吧!那用回http(s),虽然安卓的http传输还是可以,不过刚接触到一套Retrofit2框架。感觉不错,于是向大伙推荐一下吧。
本篇文章主要介绍了详解Xamarin.Android 利用Fragment实现底部菜单,分享给大家,具体如下:
领取专属 10元无门槛券
手把手带您无忧上云