- 博客(224)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 (三十三)Android开发中自定义接口事件的使用详解
在Android开发中,自定义接口事件是实现组件间通信和解耦的重要机制。它通过定义接口、设置监听器并在适当时候调用接口方法,实现了灵活的通信方式。常见使用场景包括Activity与Fragment的通信、异步操作的回调以及自定义View的事件通知。通过代码示例,展示了如何在Fragment中定义接口并在Activity中实现,以及如何在网络请求和自定义View中应用这一机制。这种方式不仅降低了组件间的耦合度,还提升了代码的可维护性和扩展性,是Android开发中不可或缺的工具。
2025-05-17 09:14:11
280
原创 (三十二)Android开发中AppCompatActivity和Activity之间的详细区别
AppCompatActivity是Activity的子类,借助 Android 兼容性库(AndroidX)提供了更丰富的功能,如 Material Design 主题、跨版本的ActionBar和Toolbar支持,以及现代的 Fragment 管理。它是现代 Android 开发的首选,特别适合需要兼容多个 Android 版本的项目。Activity是 Android 的原生基类,功能较为基础,适合简单项目或仅支持较新版本 Android 的场景。
2025-04-29 22:31:45
883
原创 (三十一)安卓开发中的自定义视图使用场景详解
继承自现有的视图类这种方式适合对现有视图进行小幅修改或扩展。例如,你可能需要一个带有圆角的ImageView,只需继承ImageView并添加自定义逻辑即可。继承自ViewGroup当需要创建一个包含多个子视图的复合组件时,可以继承ViewGroup或其子类(如这种方式常用于布局复杂的UI结构。继承自View这是最灵活的方式,适用于从零开始创建全新的视图。开发者需要手动处理绘制和事件逻辑,适合高度定制化的需求。定义自定义属性(可选)如果希望视图支持XML布局中的属性配置,需要在中定义自定义属性。
2025-04-24 07:53:57
1092
原创 (二十八)安卓开发中的ViewPager使用详解
ViewPager是安卓开发中功能强大的组件,适用于多种滑动界面需求。通过与Fragment和TabLayout结合,可以创建用户友好的界面。此外,借助切换动画、预加载控制和事件监听,可以实现更丰富的交互效果。
2025-04-24 07:45:32
755
原创 (三十)安卓开发中的MVP模式详解
MVP模式通过将用户界面(View)、数据处理(Model)和逻辑控制(Presenter)分离,显著提高了安卓应用程序的可维护性、可测试性和模块化程度。通过上述代码示例和使用场景,你可以看到MVP如何在实际开发中发挥作用。无论是简单的登录功能还是复杂的业务逻辑,MVP都是一种值得掌握的架构模式。
2025-04-21 22:45:44
740
原创 (二十九)安卓开发中DataBinding 和 ViewBinding详解
是 Android Jetpack 提供的一项功能,旨在替代传统的方法。它通过为每个 XML 布局文件生成一个绑定类,使得开发者可以直接通过这个类访问布局中的视图,而无需手动查找视图 ID。这不仅提高了代码的可读性,还提供了类型安全和空安全的好处。是一个更强大的工具,不仅提供 ViewBinding 的视图访问功能,还允许在 XML 布局中直接绑定数据源。它可以让 UI 组件与数据对象建立绑定关系,当数据发生变化时,UI 会自动更新,反之亦然(双向绑定)。
2025-04-21 22:42:15
1238
原创 (二十七)Android开发中广播(Broadcast)技术详解
在 Android 开发中,广播(Broadcast) 是一种广泛使用的组件通信机制,它允许应用程序在不直接交互的情况下传递消息。本文将详细讲解 Android 广播的基本概念、类型、发送与接收流程、使用场景及注意事项,并结合具体的代码示例,帮助你全面掌握这一技术。有序广播(Ordered Broadcast):同步发送,接收者按优先级顺序处理,可中断。在代码中注册,通常在 Activity 或 Service 中,应用运行时有效。粘性广播(Sticky Broadcast):已废弃,不推荐使用。
2025-04-20 22:08:34
1182
原创 Java中订阅消费模式(发布-订阅模式)和观察者模式的区别
维度观察者模式订阅消费模式耦合性被观察者和观察者有直接依赖,被观察者需要知道观察者的接口和方法。发布者和订阅者通过中间层(事件总线/消息代理)解耦,互不感知对方的存在。通知方式被观察者直接调用观察者的方法(同步调用)。事件通过中间层分发,可以是同步或异步,支持更复杂的事件路由。事件粒度通常针对被观察者的状态变化,观察者接收所有通知。订阅者可以选择订阅特定的事件类型,事件粒度更细。中间层没有中间层,被观察者直接管理观察者列表。有中间层(如事件总线、消息队列),负责事件的分发和路由。适用场景。
2025-04-20 10:00:32
916
原创 Java中“this”关键字梳理详解
Java中的this区分同名变量:解决实例变量与局部变量或参数的命名冲突。构造器调用:在构造器中调用同一类的其他构造器。传递当前对象:将当前对象作为参数传递给其他方法。方法链调用:通过返回this实现流畅的链式调用。限制:不能在静态方法中使用。通过上述代码示例和场景分析,this的作用和用法应该已经非常清晰。它不仅是Java面向对象编程的核心概念之一,也是编写清晰、可维护代码的重要工具。
2025-04-19 17:25:29
931
原创 Java中的函数式编程详解
Java的函数式编程通过Lambda表达式、函数式接口和Stream API实现,广泛应用于数据处理、事件处理和并发编程等场景。这些特性不仅提高了代码的简洁性和可读性,还为开发者提供了强大的工具来应对复杂的编程需求。
2025-04-18 22:50:12
512
原创 (二十六)Java观察者模式在Android开发中的应用详解
除了使用Android提供的组件和库,开发者也可以根据需求自定义观察者模式。以下是一个简单的自定义实现。观察者模式在Android开发中应用广泛,从UI事件监听(如)、广播接收()、数据绑定(LiveData),到异步处理(RxJava),都体现了其灵活性和解耦性。通过理解观察者模式的核心思想,开发者可以更好地设计Android应用的功能模块,提升代码的可维护性和扩展性。无论是使用系统提供的工具还是自定义实现,观察者模式都是Android开发中不可或缺的设计模式之一。
2025-04-18 19:17:12
1430
原创 适配器模式在Java开发中的应用
适配器模式是一种非常实用的设计模式,特别适用于处理接口不兼容的问题。在Java开发中,对象适配器因其灵活性和对组合的偏好而更受欢迎。通过上述代码示例,我们可以看到,适配器模式能够有效地将旧的日志系统适配到新接口,既保留了原有功能的复用,又满足了新的需求。在实际开发中,当你遇到需要整合不同接口或复用现有代码的场景时,不妨考虑使用适配器模式。它不仅能提高代码的灵活性和可维护性,还能为系统的平滑演进提供支持。
2025-04-16 23:03:58
1092
原创 Java开发中的设计模式之观察者模式详细讲解
/ 观察者收到通知时执行的更新方法// 注册观察者// 移除观察者// 通知所有观察者观察者模式是一种强大而灵活的设计模式,通过定义一对多的依赖关系,实现了对象之间的松耦合通信。它在Java开发中有着广泛的应用,尤其是在事件驱动的场景下。通过上述代码示例和分析,我们可以看到观察者模式如何在状态变化时通知相关对象,并保持系统的可扩展性和可维护性。在实际开发中,合理使用观察者模式可以显著提高代码的模块化程度。
2025-04-16 23:01:27
1168
原创 java开发中的设计模式之工厂模式
工厂模式(Factory Pattern)是Java中最常用的设计模式之一,它提供了一种创建对象的最佳方式。在工厂模式中,对象的创建逻辑对客户端是隐藏的,客户端通过一个共同的接口来使用新创建的对象,从而实现解耦和灵活性。本文将详细讲解工厂模式的类型、使用场景,并结合代码示例进行说明。
2025-04-15 07:11:43
1075
原创 java开发中的设计模式之单例模式
单例模式是一种设计模式,它限制一个类只能创建一个实例,并提供一个全局访问点来获取这个实例。这意味着无论在程序的哪个部分请求该类的实例,始终返回的是同一个对象。单例模式的核心思想是通过私有化构造方法和静态方法(或枚举)来控制实例的创建和访问。单例模式是Java开发中常用的设计模式,通过限制类的实例数量并提供全局访问点,能够有效管理共享资源和状态。根据具体需求,可以选择饿汉式、懒汉式、双重检查锁、静态内部类或枚举等方式实现。在实际开发中,如数据库连接池、日志管理等场景,单例模式都能显著提升代码复用性和系统性能。
2025-04-15 07:06:18
1368
原创 (二十五)安卓开发一个完整的登录页面-支持密码登录和手机验证码登录
实现了一个完整的登录页面,支持密码登录和手机验证码登录。布局设计:使用 XML 创建用户界面。逻辑处理:通过 Kotlin 实现切换登录方式和网络请求。网络请求:使用 Retrofit 与服务器交互。用户体验:添加倒计时和输入验证。安全性:密码加密传输、验证码防刷。界面美化:使用 Material Design 组件。错误处理:更细致的网络错误和服务器响应处理。
2025-04-14 22:23:26
1254
原创 (二十四)安卓开发中的AppCompatActivity详解
AppCompatActivity是 Android Support Library 中的一个类,最初用来替代早期的(在 Android 5.0 之前使用)。它不仅支持传统的ActionBar,还集成了更现代的ToolBar,并提供了 Material Design 相关的主题和样式支持。它的最大优势是向后兼容性,可以在 Android 2.1(API 7)及以上版本运行,因此非常适合需要支持旧设备的应用开发。当应用需要一个高度可定制的标题栏时,可以使用ToolBar配合。
2025-04-14 22:13:28
992
原创 (二十三)安卓开发中数据存储之Room详解
在安卓开发中,**Room** 是一个强大的本地数据库解决方案,它是 Android Jetpack 的一部分,基于 SQLite 构建,提供了更高层次的抽象。Room 简化了数据库操作,减少了样板代码,同时支持与 LiveData 和 ViewModel 的集成,使得数据管理更加高效和响应式。
2025-04-13 18:29:39
733
原创 (二十二)安卓开发中的数据存储之SQLite简单使用
SQLite是一个开源的、嵌入式的关系型数据库。它不需要像MySQL那样运行一个独立的服务器,而是直接将数据存储在一个文件中。这个文件可以随着你的应用一起打包,方便管理。简单来说,SQLite就像一个“便携式笔记本”,你可以在里面记录和管理数据。SQLite是Android开发中强大又简单的数据库工具。通过和,我们可以轻松实现数据的增删改查。结合通讯录这个例子,你应该已经掌握了SQLite的基本用法。在实际开发中,还可以根据需要使用更复杂的查询语句或事务管理,进一步提升应用的性能和功能。
2025-04-13 17:41:03
992
原创 (二十一)安卓开发中数据存储之SharedPreferences详细讲解
SharedPreferences 是安卓开发中一种简单高效的存储方式,适合保存少量、结构简单的数据,如用户偏好、应用状态和少量配置信息。通过键值对的形式,开发者可以轻松实现数据的读写操作。结合上述代码示例和使用场景,SharedPreferences 在实际开发中非常实用,但需注意其性能和安全性限制,避免滥用。
2025-04-13 17:34:03
1232
原创 (二十)安卓开发中的事件监听(Listener)的使用方法梳理
安卓开发中的事件监听是实现用户交互的核心机制。通过灵活运用等监听器,并结合不同的设置方式(如匿名内部类、Lambda表达式),开发者可以轻松响应用户的各种操作。掌握事件监听的使用方法,是开发高质量安卓应用的关键。
2025-04-12 18:32:36
934
原创 (十九)安卓开发中的Application类的使用详解
在 Android 开发中,`Application` 类是一个全局的单例类,代表应用进程本身。它常用于初始化全局资源、维护应用级别的状态和注册全局生命周期回调
2025-04-12 13:36:08
627
原创 (十八)安卓开发中的后端接口调用详讲解
在移动应用开发中,后端接口通常是指服务器端提供的API(应用程序编程接口),用于实现客户端(如安卓应用)与服务器之间的数据交换。常见的后端接口类型包括和,其中RESTful API因其简单性和广泛支持而最为常用。网络请求:通过HTTP客户端库向服务器发送请求。数据解析:接收并解析服务器返回的数据。错误处理:处理网络或服务器端的异常情况。UI更新:将数据更新到用户界面。下面,我们将逐一讲解这些步骤,并提供代码示例。创建一个Java接口,用于描述后端API的端点。
2025-04-12 13:30:35
1160
原创 (十七)安卓开发中的 CoordinatorLayout 使用详解
CoordinatorLayout 的强大之处在于可以通过自定义Behavior实现特定的交互效果。以下是一个示例:当用户滚动时隐藏或显示。// 判断是否响应垂直滚动@Overrideint axes,// 根据滚动方向隐藏或显示 FAB@Override// 向下滚动时隐藏 FAB// 向上滚动时显示 FAB将自定义Behavior应用到是安卓开发中一个强大且灵活的布局组件,通过其Behavior机制,开发者可以实现复杂的 UI 交互和动画效果。它特别适合与和等组件结合使用,创建流畅的用户体验。
2025-04-12 12:59:54
732
原创 (十六)Java中的适配器(Adapter)设计模式在安卓开发中的应用场景
以下是各类ViewView: UI 组件的基类,提供绘制和事件处理基础。ViewGroup: 容器类,管理子View的布局。TextView: 显示文本。EditText: 文本输入。Button: 可点击按钮。ImageView: 显示图片。ListView: 简单列表展示。: 高性能、灵活的列表。: 复杂布局管理。通过这些继承关系,安卓开发中的View体系能够满足从简单文本到复杂布局的各种需求,开发者可根据具体场景选择合适的组件或自定义扩展。
2025-04-12 03:30:00
1032
原创 (十五)安卓开发中不同类型的view之间继承关系详解
以下是各类ViewView: UI 组件的基类,提供绘制和事件处理基础。ViewGroup: 容器类,管理子View的布局。TextView: 显示文本。EditText: 文本输入。Button: 可点击按钮。ImageView: 显示图片。ListView: 简单列表展示。: 高性能、灵活的列表。: 复杂布局管理。通过这些继承关系,安卓开发中的View体系能够满足从简单文本到复杂布局的各种需求,开发者可根据具体场景选择合适的组件或自定义扩展。
2025-04-11 23:10:28
1018
原创 (十四)安卓开发中的RecyclerView详解
RecyclerView 是安卓开发中不可或缺的组件,适用于从简单列表到复杂动态布局的各种需求。通过掌握其基本使用(如 Adapter、ViewHolder、LayoutManager)和高级功能(如 ItemDecoration、滚动监听),开发者可以构建高效且美观的 UI 界面。
2025-04-11 23:07:22
1268
原创 Java中的注解技术讲解
Java允许开发者定义自己的注解,可以通过元注解(Meta-Annotation)来指定注解的行为。自定义注解通常使用@interface@Retention:指定注解的生命周期(SOURCE、CLASS或RUNTIME)。RUNTIME的注解能在运行时通过反射读取。@Target:定义注解可以应用到哪些元素(例如METHOD、FIELD、TYPE等)。@Inherited:允许子类继承父类的注解(只对类有效)。:将注解包含在Javadoc中。
2025-04-10 22:43:49
955
原创 (十三)安卓开发中的输入框、复选框、单选框和开关等表单控件详解
输入框(EditText):适用于各种文本数据输入;复选框(CheckBox):允许多项选择,适合兴趣爱好、偏好选择等场景;单选框(RadioButton + RadioGroup):保证互斥选择,适用于性别、支付方式等单选需求;开关(Switch/ SwitchCompat):直观地展现开关状态,用于快速设置启用或停用某个功能。通过结合 XML 布局和 Java(或 Kotlin)代码,可以实现高度灵活且用户友好的表单界面,使应用在交互性和易用性上得到提升。
2025-04-10 18:08:14
1063
原创 (十二)安卓开发中FrameLayout的使用方法详解
FrameLayout 是安卓开发中一种简单而强大的布局方式,特别适合需要层叠显示视图的场景。通过其基本特性(如视图堆叠、对齐调整)和常用属性(如foreground),开发者可以轻松实现重叠效果、按钮交互或 Fragment 容器等功能。结合上述代码示例和场景,FrameLayout 的灵活性在实际开发中得到了充分体现。
2025-04-10 18:04:05
1130
原创 fatal: unable to access ‘https://github.com/xxx/‘: Failed to connect to github.com问题解决
通常,这个错误是由网络连接问题引起的。建议从检查网络连接开始,逐步尝试上述方法。
2025-04-10 14:53:16
2403
原创 (十一)安卓开发中的Activity及其生命周期详解
在安卓开发中,Activity是应用的一个核心组件,它代表了用户界面中的一个屏幕。用户通过Activity与应用交互,例如点击按钮、输入文本等。每个Activity都有自己的生命周期,Android系统会根据用户操作或系统需求调用相应的生命周期方法。Activity是安卓应用的基础组件,掌握其生命周期对于开发健壮的应用至关重要。通过合理利用生命周期方法,你可以确保应用在创建、运行、暂停、停止和销毁等不同状态下都能正确响应用户操作和系统事件。
2025-04-10 10:27:26
648
原创 (十)安卓开发中的Activity之间的通信使用详解
下面将结合代码和具体在 Android 开发中,Activity 之间的通信是非常常见且核心的功能之一使用场景,详细讲解这几种方式。
2025-04-08 23:02:15
751
原创 (九)安卓开发中的约束布局(ConstraintLayout)使用详解
ConstraintLayout是安卓开发中一种强大而灵活的布局方式,通过约束关系定义视图位置和尺寸,能够有效减少嵌套、提升性能,并支持复杂界面的快速构建。
2025-04-08 08:11:19
932
原创 (八)安卓开发中的Fragment使用详解
Fragment是 Android 中的一种 UI 组件,代表 Activity 中的一个行为或一个 UI 部分。你可以将其看作是 Activity 的一个模块,具有自己的生命周期,并且可以独立于 Activity 存在。Fragment 的设计初衷是为了支持更大屏幕的设备(例如平板电脑),通过在同一个 Activity 中显示多个 Fragment,可以更高效地利用屏幕空间。
2025-04-07 15:52:05
710
原创 (七)安卓开发中的状态列表图形(StateListDrawable)详解
状态列表图形是一个定义在 XML 文件中的资源,它包含一组Drawable对象,每个Drawable对应视图的一个或多个状态。当视图的状态发生变化时(例如用户按下按钮或选中列表项),系统会自动选择并应用与当前状态匹配的Drawable。这种方式无需手动编写状态切换逻辑,极大简化了开发。状态列表图形(StateListDrawable)是安卓开发中实现视图状态响应的强大工具。通过 XML 或代码定义,它可以轻松为按钮、列表项等控件添加丰富的视觉效果,提升用户体验。
2025-04-07 12:30:13
808
原创 Java中的匿名内部类使用方法详细讲解
匿名内部类是Java中一种强大而灵活的工具,特别适用于需要快速定义一次性类实例的场景,如事件处理、线程创建、集合排序和回调函数等。尽管Lambda表达式在某些情况下可以替代匿名内部类,但匿名内部类在复杂逻辑或多方法实现的场景中仍然不可或缺。匿名内部类是Java中的一种特殊类,它没有名称,通常用于创建一次性使用的类实例。内部类是定义在另一个类内部的类,可以访问外部类的成员。Java 8引入的Lambda表达式可以看作是匿名内部类的简洁替代,尤其是在函数式接口(只有一个抽象方法的接口)场景中。
2025-04-07 06:28:12
1002
原创 (六)安卓开发中的Activity的启动、关闭和生命周期详解
Activity是安卓应用的核心组件,掌握其启动、关闭和生命周期管理对于构建优秀的应用至关重要。通过Intent启动Activity,使用finish()关闭Activity,并合理利用生命周期回调方法,可以确保应用在各种场景下稳定运行。结合本文的代码示例和使用场景,可以更深入地理解Activity的管理机制,提升开发效率和应用质量。
2025-04-06 21:03:44
1175
原创 (五)安卓开发中的滚动布局(ScrollView / HorizontalScrollView)使用详解
滚动布局(ScrollView 和 HorizontalScrollView)是安卓开发中处理超屏内容的利器。通过灵活运用scrollbars等属性,开发者可以轻松实现垂直或水平滚动效果。无论是长文本显示、表单输入、图片画廊还是复杂嵌套布局,滚动布局都能胜任。结合本文提供的代码示例和使用场景,可以快速构建用户友好的界面,同时注意性能优化和滚动冲突的处理,以提升应用体验。
2025-04-06 20:56:20
1014
原创 (四)安卓开发中的相对布局(RelativeLayout)使用详解
相对布局通过其丰富的定位属性,开发者可以轻松实现视图的精确排列和对齐。无论是简单的居中显示,还是复杂的相对定位,相对布局都能胜任。同时,注意性能优化和布局设计的合理性,能让相对布局在实际开发中发挥最大价值。安卓开发中的相对布局(RelativeLayout)是一种非常灵活的布局方式,它允许开发者根据父容器或其他视图的位置来定位子视图。以下是对相对布局的详细讲解,包括其基本概念、主要属性、代码示例以及具体的使用场景。相对布局是一种视图容器(ViewGroup),可以包含其他视图(View)或视图组。
2025-04-06 07:47:09
1078
1
mybatis生成代码工具generator(带有mysql、oracle等jar包,无需再去下载,一次搞定)
2017-11-28
2D TO 3D 的数据不能用
2015-05-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人