
Android
文章平均质量分 63
主要分享android核心使用及系统层
_昨日重现
专注于移动端系统开发
展开
-
Jetpack系列之Room 数据库
Room:准确的说,Room是Jetpack 基于Sqlite开发的数据库组件,好处就是基于简单的注释来实现Sqlite中的许多繁琐的定义和操作,同时也可结合LiveData消息订阅数据变更。原创 2023-03-21 22:57:36 · 275 阅读 · 0 评论 -
Jetpack系列之CameraX 相机
CameraX 是Jetpack的相机组件,具有强大的参数支持和兼容性,可以实现视频拍摄、预览等操作,且API简单易用。// cameraX。原创 2023-03-24 02:19:09 · 1298 阅读 · 0 评论 -
Jetpack系列之DataBinding数据双向绑定
DataBinding是Jetpack中实现数据双向绑定的组件。android {...// 开启 dataBinding。原创 2023-03-21 23:31:35 · 559 阅读 · 0 评论 -
Jetpack系列之LiveData详解
LiveData is a data holder class that can be observed within a given lifecycle. This means that an Observer can be added in a pair with a LifecycleOwner, and this observer will be notified about modifications of the wrapped data only if the paired Lifecycle原创 2022-12-08 01:50:24 · 566 阅读 · 0 评论 -
Jetpack系列之ViewModel详解
jetpack系列原创 2022-12-05 18:45:21 · 575 阅读 · 0 评论 -
Jetpack系列之Paging2.0 分页加载
Paging是Jetpack中的一个数据分页加载组件,核心成员有 DataSource, PagedList, PagedListAdapter。// 下拉刷新// paging分页(可选 2.1.1)原创 2023-03-22 22:36:27 · 799 阅读 · 0 评论 -
Jetpack系列之WorkManager 任务管理
WorkManager 概述:WorkManager 可以自动维护后台链式任务的执行时机、执行状态。WorkManager 一般用于多文件上传,复杂计算,多流程控制等。Data的优势: 1)一组持久的键(字符串)/ 值(字符串、基本元素或其数组变量)对,用作ListenableWorkers的输入和输出;2)有效负载的串行化(字节数组)大小限制10KB;3)支持序列化和反序列化持久操作,更轻量级(轻量级HashMap)。// 同时执行A(先)->B(后)、C(先)->D(后), 最后执行E。原创 2023-03-22 22:47:39 · 361 阅读 · 0 评论 -
Jetpack系列之Navigation页面路由
Navigation 一般用做APP页面路由,通过它可以管理各 fragment 间的跳转.....原创 2023-03-21 19:38:54 · 702 阅读 · 1 评论 -
SQLite应用详解
SQLite是D.Richard Hipp用C语言编写的开源嵌入式引擎,它可以在所有主要的操作系统上运行。值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。在事务处理方面,SQLite通过数据库级上的独立性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库中读取数据,但只有一个可以写入数据,而在某个进程或线程想数据库执行写操作之前,必须获得独占锁; 在数据类型方面,SQLite采原创 2015-05-18 18:56:04 · 3406 阅读 · 0 评论 -
AS Gradle 8.0 配置 + Realm 使用
Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建开源工具。它使用一种基于 Groovy 的特定领域语言 (DSL) 来声明项目设置,也增加了基于 Kotlin 语言的 kotlin-based DSL。查看版本路径:Gradle版本。原创 2023-05-02 17:50:15 · 3692 阅读 · 0 评论 -
Android ANR 处理
首先sharedPreferences的commit方法是同步的,apply方法一般是异步执行的,所以主线程不要用其commit,用apply替换。首先这会比较耗时,另外这个操作provider那一方的进程如果挂了或者正在启动,我们应用的query就会很长时间不会返回,我们应该在其他线程中执行query、provider的query等获取数据的操作;,在一些同步的操作主线程有可能被锁,需要等待其他线程释放对应锁才能继续执行,这样会有一定的anr风险,对于这种情况有时也可用异步线程来执行对应的业务逻辑。原创 2022-12-09 17:17:51 · 1316 阅读 · 0 评论 -
Android学习系列(四)AS gradle3.0+ so库的生成及使用
前言NDK(Native Developerment Kit)提供了一系列的工具,咱们可以用它来将c/c++代码打包成so(c/c++函数库)文件。这样做的好处是保护代码(反编译难度大),提供程序的执行效率(c代码),并且能够移植到其它平台上。JNI(Java Native Interface)提供了一些API实现了Java与其它语言(如: c/c++)的通信,咱们可以通过这些API使java方法原创 2018-01-15 16:32:07 · 1853 阅读 · 0 评论 -
Android学习系列(三)四大组件之Service详解
Service概述Service作为Android四大组件中的一员,有着非常重要的地位。它没有交互界面,一般用于长期运行在后台来处理一些比较耗时的操作和为其他应用提供服务接口,如消息推送、音乐播放、定位服务、后台数据同步、长连接(如:蓝牙、IM)的数据收发及连接状态变化等。Service分为本地服务和远程服务,本地服务运行在主进程的主线程中,而远程服务则运行在独立进程的主线程中。当然如果在服务原创 2016-04-04 20:08:52 · 1558 阅读 · 0 评论 -
Android学习系列(二)布局管理器之线性布局的3种实现方式
转载请注明出处:http://blog.youkuaiyun.com/lhy_ycu/article/details/39643669 LinearLayout是Android控件中的线性布局控件,它包含的子控件将以横向(HORIZONTAL)或竖向(VERTICAL)的方式排列,按照相对位置来排列所有的子控件及引用的布局容器。超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个控件或者是引用的布局容器。原创 2014-09-28 22:44:02 · 8445 阅读 · 0 评论 -
Android学习系列(一)初识安卓
Android的优势:源代码完全开放,便于开发人员更清楚的把握实现细节,有利于开发出更具差异性的应用;Android 它是基于Linux内核(内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动与安全等);它采用了对有限内存、电池和CPU 优化过的虚拟机Dalvik,而且它具有强大的Linux 社区的支持。Android是Google于2007年宣布的基于Linux平台的开源手机操原创 2014-03-16 20:13:03 · 1823 阅读 · 0 评论