安卓
文章平均质量分 77
android知识构建
榴月~
自强,弘毅,求是,拓新
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AIDL 和Messenger相同点与区别
AIDL和Messenger各有优劣,选择使用哪种机制应根据具体的应用需求、数据的复杂性和通信的频率来决定。如果需要高效的消息传递且数据结构较简单,Messenger是一个很好的选择;而当需要处理复杂的数据对象和多种方法调用时,AIDL则更为合适。AIDL(Android Interface Definition Language)和Messenger都是Android中用于跨进程通信(IPC)的机制,但它们在设计、使用场景和实现细节上有一些相似之处和明显的区别。原创 2024-10-24 11:59:29 · 565 阅读 · 0 评论 -
6种跨进程通信方式的示例代码
下面是几种常见的跨进程通信方式的简单示例代码,包括Binder、Messenger、AIDL、ContentProvider、BroadcastReceiver和SharedPreferences + File。这些代码片段提供了各个方法的基本实现框架。Binder是最基本的跨进程通信机制。ContentProvider用于跨进程数据共享,可以通过URI访问数据。AIDL适合传递复杂数据结构,通过定义接口在不同进程之间传递数据。每种方式都有其使用场景,选择合适的方式可以提高效率和性能。原创 2024-10-24 10:38:50 · 439 阅读 · 0 评论 -
Android跨进程通信
在 Android 中,跨进程通信 (IPC, Inter-Process Communication) 方式有多种,主要用于在不同的应用或进程之间传递数据。• 描述:AIDL 是 Android 提供的一种机制,用于定义进程间的接口。• 描述:Binder 是 Android 跨进程通信的底层机制,几乎所有的 IPC 方式(如 AIDL、Messenger)都依赖于它。其底层也是基于 Binder。• 描述:SharedPreferences 可以用于在同一应用的不同进程间共享简单的键值对数据。原创 2024-10-23 18:46:09 · 625 阅读 · 0 评论 -
View类中中measure方法的简化java源码
在Android中,measure函数用于测量视图的尺寸。它是View类中的一个重要方法,负责确定视图的宽度和高度。measure方法通常由系统在视图的布局过程期间调用,视图的父容器根据子视图的测量结果来确定最终布局。下面是View类中的measure。原创 2024-10-21 13:34:03 · 309 阅读 · 0 评论 -
安卓-广播
广播机制允许一个应用向多个其他应用或系统组件发送消息,而接收方不需要事先知道谁发送了这些消息。系统广播:由系统发出的广播,用于通知设备状态的变化(如电量低、网络状态变化等)。自定义广播:应用程序可以定义自己的广播,用于应用内不同组件间的通信。广播接收器是一个专门用于接收广播消息的组件。当广播发送到时,系统会调用广播接收器的方法。广播机制在 Android 中为不同组件之间的通信提供了灵活的方式,尤其是系统广播可以帮助应用了解设备状态的变化。原创 2024-10-12 11:06:21 · 987 阅读 · 0 评论 -
安卓数据共享
在 Android 中,数据共享是应用间通信的重要手段。通过内容提供者、共享偏好和文件存储等机制,开发者可以实现不同应用或同一应用内不同组件之间的数据共享。在实施数据共享时,确保遵循最佳实践和安全性措施,以保护用户的数据隐私。原创 2024-10-10 15:58:15 · 1784 阅读 · 0 评论 -
SQLite在安卓中的应用
SQLite 是一个轻量、可靠、简单易用的数据库解决方案,特别适合嵌入式系统和移动应用中的数据存储需求。通过 Android 提供的 API,开发者可以轻松地实现数据持久化功能。在实际开发中。原创 2024-10-10 15:40:58 · 3646 阅读 · 0 评论 -
SQLite数据库
SQLite 是一种轻量级、嵌入式的关系型数据库管理系统,它无需独立的服务器进程,数据存储在一个单一的文件中。触发器是一种机制,它允许在特定的事件(如插入、更新或删除记录时)自动执行预定义的 SQL 语句。通过为表的某些列创建索引,可以提高查询性能,尤其是当数据量较大时。视图是一个虚拟表,它不存储数据,只存储 SQL 查询。SQLite 的类型系统相对宽松,它允许列中的数据类型与定义的类型不同。事务可以确保一组数据库操作的完整性,所有操作要么全部成功,要么全部失败。行是表中的一条记录,表示实际存储的数据。原创 2024-10-10 15:31:47 · 1928 阅读 · 0 评论 -
android studio调试---断点调试
转自:https://www.cnblogs.com/wust221/p/5427094.html先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。...转载 2019-01-17 10:24:27 · 588 阅读 · 0 评论 -
gradlew build --- command not found 和 caused by:java.net.SocketTimeoutException:Read time out
问题:I am working on a Java project with gradlew. I use Ubuntu Linux as my OS. When I run “gradle” it runs, and gives me info. But when I run “gradlew”, it outputs as “No command ‘gradlew’ found, did you mean: Command ‘gradle’ from package ‘gradle’ (univers原创 2020-07-08 11:26:25 · 808 阅读 · 0 评论 -
安卓数据库逐步升级
数据库逐步升级知识点:java8匿名函数的使用LinkHashMap的使用,按顺序添加;TreeMap的使用,自动排序,可使用subMap(from, true, to, true);public class DataBaseUpgradeFunction { private static final int MONTH_5 = 5; private static final int MONTH_6 = 6; private static final int MONTH_7原创 2021-12-20 23:46:54 · 946 阅读 · 0 评论 -
MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)
是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。原创 2024-09-08 08:54:25 · 1712 阅读 · 0 评论 -
Android源码中的部分设计模式
Android源码中广泛使用了多种设计模式,以解决不同场景下的架构设计需求。以下是几个常见的设计模式及其在Android中的应用:1. 单例模式 (Singleton Pattern)应用: 单例模式确保一个类只有一个实例,并提供一个全局访问点。示例:Context: Context 类的实现(尤其是 ApplicationContext)经常以单例的方式使用,以确保全局唯一的应用上下文实例。ActivityManager: ActivityManager 是 Android 中管理应用进程和活原创 2024-09-03 17:26:31 · 1281 阅读 · 0 评论 -
View和ViewGroup
ViewGroup@Override// 布局子视图i++) {// 简单布局:将所有子视图叠放在一起@Overridei++) {View: 是 UI 组件的基类,负责绘制和事件处理。ViewGroup: 是一个容器,继承自View,用于管理和布局其子视图。关系ViewGroup继承自View,具有View的所有特性,并增加了对子视图的管理功能。它们通过继承和组合的方式密切相关。通过理解View和ViewGroup。原创 2024-08-31 11:31:12 · 810 阅读 · 0 评论 -
如何处理多点触控、滑动手势,以及如何通过 `MotionEvent` 获取触摸的详细信息(如坐标、压力、手指的数量等)
多点触控: 通过的和等方法处理多个触摸点的信息。滑动手势: 计算触摸点的移动距离(dx和dy),并实现滑动手势。触摸详细信息: 通过获取触摸点的坐标、压力、大小等信息,并在中处理这些信息。通过这些方法,你可以实现复杂的触摸交互,并根据需要处理各种手势和触摸事件。原创 2024-08-30 10:00:37 · 914 阅读 · 0 评论 -
如何使用 Canvas 和 Paint 进行绘制,以及如何处理自定义属性和解析 XML 属性
Canvas: 提供了绘制各种形状、图像、文本的方法。Paint: 定义了绘制内容的颜色、线条样式、文本样式等。自定义属性: 可以通过定义,使用TypedArray解析,并在 XML 布局文件中配置。通过这两个类和自定义属性的结合,你可以创建功能丰富且可配置的自定义视图,并且可以在项目中复用这些视图。原创 2024-08-29 21:27:52 · 891 阅读 · 0 评论 -
Android实现自定义方向盘-8自定义view的相关问题
这些问题帮助面试官评估你在开发复杂自定义控件时的能力,包括如何处理事件、动画、性能、适配、状态管理和组件间的协作。通过展现你在这些方面的理解和解决方案,你将能够证明自己在 Android 开发中的高水平和丰富经验。原创 2024-08-29 19:15:27 · 1504 阅读 · 0 评论 -
Android实现自定义方向盘-7livedata,viewmodel相关问题
关于ViewModelLiveDataSingleton模式和跨Activity数据共享的相关面试题通常会涉及 Android 架构组件、状态管理和数据持久化等方面的知识。原创 2024-08-29 18:28:16 · 1391 阅读 · 0 评论 -
Android实现自定义方向盘-6mvvm传递数据
通过Singleton模式的类,你可以确保在整个应用程序的生命周期内共享数据,并且这些数据在任何Activity中都可以访问和更新。这种方法可以避免转换为的问题,同时实现了跨Activity的数据共享。原创 2024-08-29 18:06:29 · 876 阅读 · 0 评论 -
Android实现自定义方向盘-5livedata实现
在。原创 2024-08-29 15:19:58 · 1583 阅读 · 0 评论 -
Android实现自定义方向盘-4解决触摸时指针跳跃的问题
为了解决点击指针时,指针跳转至反方向的问题,我们可以采取的方式,即只有当用户执行明显的拖拽动作时才更新方向盘的角度。这样可以避免单击或短距离移动时,指针突然跳转到反方向的问题。原创 2024-08-29 15:02:09 · 870 阅读 · 0 评论 -
Android实现自定义方向盘-3添加平滑处理
为了使陀螺仪数据更加平滑和稳定,可以通过应用低通滤波器或使用滑动平均法来减少噪声。以下是如何在现有的代码基础上添加平滑处理的详细步骤。原创 2024-08-29 14:51:36 · 772 阅读 · 0 评论 -
Android实现自定义方向盘-2添加陀螺仪
为。原创 2024-08-29 14:41:06 · 793 阅读 · 0 评论 -
导入AppCompatActivity和Activity的区别
和Activity都是 Android 中的核心组件,用于定义一个屏幕(Activity),但它们有一些重要的区别,特别是在兼容性和功能扩展方面。原创 2024-08-29 13:11:20 · 1029 阅读 · 0 评论 -
Android实现自定义方向盘
创建一个继承自。原创 2024-08-29 10:40:24 · 804 阅读 · 0 评论 -
IntentService和JobIntentService已弃用,替代方案用WorkManager
已经在 Android API 30 (Android 11) 中被标记为过时(deprecated)。这意味着虽然你仍然可以在现有代码中使用它,但在未来的 Android 版本中它可能会被完全移除或不再被推荐使用。原创 2024-08-27 12:11:22 · 2376 阅读 · 0 评论 -
Activity启动过程
Activity是Android应用程序的四大组件之一,负责应用程序的用户界面。Activity的启动可以通过应用内部或外部(如Launcher)触发。启动过程包括Intent的创建、传递、处理以及Activity的创建和显示等多个步骤。Activity的启动过程是一个复杂而有序的过程,涉及Intent的创建与传递、Instrumentation的介入、AMS的接收与处理、进程管理以及Activity的创建与显示等多个环节。这些环节共同协作,确保了Activity能够顺利启动并展示给用户。原创 2024-08-05 11:28:30 · 723 阅读 · 0 评论 -
Binder机制的原理
Binder机制是Android系统中一种高效、安全、可靠的进程间通信机制。它通过Binder驱动、Binder服务和Binder代理等组件实现了不同进程间的数据交换和通信。Binder机制采用内存映射和一次拷贝技术提高了通信效率,并通过在内核中添加可靠的进程身份标识提高了安全性。这使得Android系统能够高效地处理各种跨进程通信场景,如Activity与Service之间的通信、跨应用程序的数据交换等。原创 2024-08-05 10:43:49 · 678 阅读 · 0 评论 -
认识Android Handler
Android Handler” 通常指的是 Android 开发中的Handler类,它是 Android SDK 的一部分,用于管理消息队列和线程之间的通信。它在 Android 开发中非常有用,特别是在计划消息和可运行对象(Runnables)在未来某个时间点执行时。原创 2024-08-04 21:58:21 · 789 阅读 · 0 评论 -
聊聊Android的Binder
Binder 是 Android 平台中的一个关键组件,负责实现进程间通信(IPC)。它提供了一种高效的方式让不同进程中的应用程序进行交互,是 Android 系统的核心之一。原创 2024-08-04 19:46:43 · 2711 阅读 · 0 评论 -
AIDL简介
AIDL(Android Interface Definition Language) 是 Android 提供的一种工具,用于定义进程间通信(IPC)接口。AIDL 允许你在不同的应用或不同的进程之间通信,尤其是在服务和客户端应用之间。它用于跨进程调用,支持复杂的数据类型(如对象和集合)的传递。AIDL 的主要作用是帮助开发者定义一个接口,使得不同的 Android 进程能够进行方法调用,就像调用本地方法一样。Android 进程间的通信通过 Binder 机制实现,AIDL 是对这种机制的高层封装。通常原创 2024-08-04 18:33:40 · 1481 阅读 · 0 评论 -
ListView与recycleView对比
ListView依赖于机制和手动的 ViewHolder 模式来实现视图复用,开发者需要手动管理视图的回收和复用过程。强制使用 ViewHolder 模式,并通过内部的Recycler类来高效管理视图的缓存和复用。RecyclerView 的缓存机制更为灵活和高效,支持多种视图类型的高效复用和管理。总的来说,RecyclerView 的设计更加现代化,能够更好地处理复杂的列表需求,并提供了更好的性能和扩展性。原创 2024-08-04 16:50:10 · 1768 阅读 · 0 评论 -
ListView的使用、原理、优化
/@Override// 添加数据到 items 列表ListView 是一个简洁有效的控件,适用于简单列表展示场景。通过理解其工作原理和应用最佳实践,可以有效地优化其性能并提升用户体验。在需要更复杂的布局和高效性能时,推荐使用 RecyclerView。原创 2024-08-04 16:35:53 · 1333 阅读 · 0 评论 -
recycleview的使用、原理、优化
RecyclerView 是一个强大的控件,适合处理大数据集和复杂的布局需求。通过理解 RecyclerView 的原理并实施相应的优化策略,可以显著提高应用的性能和用户体验。原创 2024-08-04 16:19:25 · 894 阅读 · 0 评论 -
自定义动画
Android 提供了一些预定义的动画,可以在 XML 中定义,并通过加载。: 控制透明度的变化。: 控制缩放的变化。: 控制位置的变化。: 控制旋转的变化。在res/anim目录中创建一个 XML 文件如果内置的动画类型不能满足需求,可以自定义。通过实现接口,开发者可以定义如何计算动画的中间值。@Override// 使用自定义的 ArgbEvaluator 进行颜色渐变动画});自定义动画可以极大地增强应用的用户体验,使界面更加生动和富有交互性。原创 2024-08-04 16:02:37 · 531 阅读 · 0 评论 -
自定义ViewGroup
继承 ViewGroup 类自定义 ViewGroup 需要继承ViewGroup类。通过继承 ViewGroup,可以创建自定义的视图容器,并控制其中子视图的布局方式。重写构造方法与自定义 View 类似,自定义 ViewGroup 需要提供多个构造方法来支持从代码和 XML 文件中实例化。重写 onMeasure 方法方法用于测量 ViewGroup 及其子视图的。原创 2024-08-04 16:01:17 · 266 阅读 · 0 评论 -
自定义view
继承 View 类:自定义 View 通常是通过继承View类或其子类来创建的。可以选择继承最基础的View类,也可以继承更复杂的控件,如TextView或。重写构造方法:自定义 View 需要重写至少一个构造方法,通常重写三个构造方法:一个接受Context对象,一个接受Context和对象,还有一个接受Context和。这些构造方法主要用于初始化 View。重写 onDraw 方法方法是绘制自定义 View 的核心方法。在这里,可以使用Canvas对象绘制图形、文本等内容。注意,onDraw。原创 2024-08-04 15:48:38 · 362 阅读 · 0 评论 -
JNI开发
JNI开发原创 2024-07-20 13:34:12 · 607 阅读 · 0 评论 -
图片多级缓存加载流程
android图片三级缓存原理原创 2024-06-24 17:11:19 · 578 阅读 · 0 评论 -
Android中事件传递机制的总结
Android中事件传递机制总结转载 2022-08-08 08:40:37 · 1529 阅读 · 0 评论
分享