Android
文章平均质量分 93
Android
Onlooker﹒
世上唯一不能复制的是时间,唯一不能重演的是人生。该怎么走,过什么样的生活,全凭自己的选择和努力。
展开
-
学习Android的第二十九天
对于在 Android 应用中执行定时任务,特别是需要长期在后台运行的定时任务,使用 Alarm 机制是更为可靠和适合的选择。综上所述,Binder 机制作为 Android 系统中进程间通信的基础,通过其高效、抽象、安全、灵活的特性,极大地简化了开发者进行进程间通信的复杂度,提高了系统的性能和稳定性。总的来说,针对需要长期在后台执行的定时任务,推荐使用 Alarm 机制,它可以可靠地唤醒 CPU 执行任务,且能够有效管理定时任务的触发和执行。2、在操作远程对象时,可能需要确保它们是有效的。原创 2024-03-14 15:09:55 · 1389 阅读 · 0 评论 -
学习Android的第二十八天
当一个服务已经通过 startService() 方法启动后,即使有其他客户端通过 bindService() 方法绑定到该服务,服务仍然会保持运行状态,直到所有客户端都调用了 unbindService() 方法来解除绑定,并且没有其他客户端通过 startService() 方法启动了该服务,才会触发服务的销毁。这种 Service 与其调用者之间没有必然的联系,即使调用者的生命周期结束了,只要没有调用 stopService() 方法,Service 仍然会继续运行。原创 2024-03-14 13:09:58 · 1439 阅读 · 0 评论 -
学习Android的第二十七天
Activity 是 Android 开发中的一个重要组件。它负责管理用户界面的展示和交互,并且可以执行各种操作。每个应用程序都会包含一个或多个 Activity,每个 Activity 都会对应一个用户界面。当应用程序启动时,系统会创建一个默认的 Activity,并在屏幕上显示出来。用户可以通过触摸屏幕、按下按钮等方式与 Activity 进行交互。Activity 可以响应用户的操作,例如点击按钮、滑动屏幕等。原创 2024-03-13 15:03:11 · 1017 阅读 · 0 评论 -
学习Android的第二十六天
Android Gesture 手势手势操作在现代移动应用中扮演了非常重要的角色,它不仅提高了用户体验,还增加了应用的互动性和直观性。在Android开发中,实现手势识别是一项基本而重要的技能。Android系统为开发者提供了强大的手势识别功能,让开发者可以轻松地在自己的应用中实现各种手势操作。Android 中手势交互的执行顺序1、触摸屏幕事件发生:当用户用手指触摸屏幕时,系统生成一个MotionEvent事件。原创 2024-03-09 10:23:13 · 1503 阅读 · 0 评论 -
学习Android的第二十五天
多线程是现代编程中一个非常重要的概念,它允许程序同时执行多个任务。为了更好地理解多线程,我们需要先明白应用程序、进程和线程这几个基本概念。应用程序(Application):应用程序是为了完成特定任务,用某种编程语言编写的一组指令集合。这些指令以静态代码的形式存在,当它们被执行时,会变成一个或多个进程。进程(Process):进程是运行中的程序。它是系统进行资源分配和调度的基本单位。操作系统为每个进程分配独立的内存空间,确保它可以顺序地执行代码。原创 2024-03-07 21:15:27 · 968 阅读 · 0 评论 -
学习Android的第二十四天
当我们需要创建一个自定义的用户界面组件时,可以通过实现特定的回调接口来处理与该组件相关的事件。例如,我们可以创建一个自定义的按钮控件,并在其中定义一个回调接口用于处理按钮点击事件。当用户点击该按钮时,我们可以触发回调接口中的方法来执行相应的操作。在 Android 中,很多 UI 控件都提供了一些常见的回调方法,用于处理与用户交互相关的事件。原创 2024-03-07 16:16:39 · 1260 阅读 · 0 评论 -
学习Android的第二十三天
Android ViewPager (页面切换组件)Android 中的 ViewPager 组件是一个可以在多个页面之间进行滑动切换的视图容器。它通常用于创建包含多个页面(Fragment 或 View)的用户界面,用户可以通过手势(左右滑动)或者程序控制来切换不同的页面。使用 ViewPager 可以实现一些常见的功能,比如创建引导页、图片轮播、选项卡式布局等。原创 2024-03-05 18:13:31 · 1309 阅读 · 0 评论 -
学习Android的第二十二天
在Android开发中,SubMenu(子菜单)是一种常用的UI组件,允许在一个主菜单项下创建一个二级菜单。Android提供了一种非常简单的方式来创建和处理上下文菜单(ContextMenu),主要通过在Activity中重写几个关键方法来实现。3、在res/menu目录下创建一个名为context_menu.xml的文件(如果没有menu目录,则需要创建它)。首先,需要在res/menu目录下创建一个XML文件来定义菜单项,比如main_menu.xml。2、修改 activity_main.xml。原创 2024-03-03 20:56:07 · 1365 阅读 · 0 评论 -
学习Android的第二十一天
与 AlertDialog 不同,PopupWindow 的位置可以自由设置,可以根据需要显示在屏幕的任何位置。在Android中,OptionMenu(选项菜单)的创建和管理不是通过XML直接实例化或某个类的实例化方法实现的,而是通过Activity提供的几个生命周期方法进行动态创建和控制。Android TimePickerDialog ( 时间选择对话框 ) 会弹出一个对话框形式的时间选择器。当用户点击一个按钮,弹出日期选择对话框是一个常见的需求。Android PopupWindow 悬浮框。原创 2024-03-02 11:02:01 · 1513 阅读 · 0 评论 -
学习Android的第二十天
Android Toast 吐司Android 中的 Toast 是一种轻量级的消息提示框,用于在屏幕上显示简短的通知消息,通常用于向用户提供一些临时性的信息反馈。Toast 不包含任何按钮,也不需要用户交互,它会在屏幕上显示一段时间后自动消失。而且Toast 是为数不多的没有 XML 创建代码的 UI 控件。常量在 Android 中,Toast 类定义了两个常量 LENGTH_LONG 和 LENGTH_SHORT,用于表示 Toast 消息显示的持续时间。原创 2024-03-01 22:04:45 · 1783 阅读 · 0 评论 -
学习Android的第十九天
Android ExpandableListView 分组列表Android 的 ExpandableListView(分组列表)是一个可以展开和收起的列表控件,通常用于显示具有层次结构的数据,类似于微信通讯录中的分组列表。在 ExpandableListView 中,第一层是分组(Group),第二层是每个分组下的子项(Child)。用户可以点击分组来展开或收起相应的子项。这种设计能够更好地组织和展示有层次结构的数据,提供更好的用户体验。ExpandableListView 属性。原创 2024-02-29 12:57:32 · 1456 阅读 · 0 评论 -
学习Android的第十八天
Android 可复用 BaseAdapterListView是Android开发中常用的控件之一,用于在界面上显示可滚动的列表数据。它的灵活性和易用性使得我们可以轻松地展示各种类型的数据列表,而不必关心列表项的复杂布局和滚动效果。为什么使用BaseAdapter?虽然BaseAdapter需要我们自己去实现一些抽象方法,但是正是因为这种灵活性和自由度,使得BaseAdapter成为一个通用且强大的适配器,可以应对各种不同的列表展示需求。如何使用BaseAdapter?先介绍四个抽象函数。原创 2024-02-28 22:34:34 · 1327 阅读 · 0 评论 -
学习Android的第十七天
要在指定位置插入数据,可以添加一个编辑框让用户输入要插入的位置,然后添加一个按钮来触发插入操作。我们在顶部添加一个按钮,每次点击添加一条记录,并且数据为空时提示用户没数据。Android ListView 添加插入数据。从 ListView 中删除某项数据有两种方法。Android ListView 删除数据。Android ListView 更改数据。更新 ListView 中的数据有两种办法。Android ListView 查询数据。原创 2024-02-21 10:01:03 · 1554 阅读 · 0 评论 -
学习Android的第十六天
Android 自定义 Adapter在中我们知道了啥是 Adapter,也知道了 Adapter 的家族体系,也用过了几个Adapter。本篇文章,我们就来自己实现一个 Adapter。要实现自定义的 Adapter,通常继承自 BaseAdapter 类,并重写其中的方法来适配你的数据源。首先,我们要做的就是要了解我们到底要重写哪些方法,因为 BaseAdapter 实现了 ListAdapter 和 SpinnerAdapter 接口,而这两个接口又继承自 Adapter。原创 2024-02-18 15:25:48 · 928 阅读 · 0 评论 -
学习Android的第十五天
Android Adapter 适配器Android 中的 Adapter(适配器)是用于在 UI 组件(如 ListView、RecyclerView)和数据之间建立连接的桥梁。它负责将数据源中的数据转换成视图(View),然后将这些视图展示在 UI 组件上供用户查看和操作。如微信页面中,Adapter 负责将微信中的消息数据转换成合适的视图,并将这些视图显示在列表中。这样用户就可以通过滚动列表查看消息,点击消息进行相应操作等。原创 2024-02-18 10:27:05 · 860 阅读 · 0 评论 -
Android安卓架构MVC、MVP、MVVM模式的概念与区别
MVC(Model-View-Controller)、MVP(Model-View-Presenter)、MVVM(Model-View-ViewModel)是三种常见的软件架构模式,它们的目的都是将应用程序的不同部分分离开来,以提高代码的可维护性、可扩展性和可测试性。在 Android 开发中,MVP(Model-View-Presenter)是一种常用的架构模式,它是基于MVC模式的改进,旨在进一步分离应用程序的各个组件,提高代码的可测试性和可维护性。同时,也使得代码更加清晰、简洁,降低了维护成本。原创 2024-02-17 17:23:01 · 3064 阅读 · 0 评论 -
学习Android的第十四天
在Android中,CalendarView.OnDateChangeListener接口定义了一个回调方法onSelectedDayChange(),该方法在用户改变CalendarView选择的日期时被调用。在Android中,TimePicker.OnTimeChangedListener接口定义了一个回调方法onTimeChanged(),该方法在用户改变TimePicker的时间时被调用。在Android中,DatePicker是一个用户界面组件,用于允许用户选择日期。原创 2024-02-17 14:46:17 · 1600 阅读 · 0 评论 -
学习Android的第十三天
但是,自 API 23 起,Android 官方已经将 AnalogClock 控件标记为废弃,并建议开发者使用其他替代方案,比如使用自定义绘制的方式或者使用第三方库来实现时钟功能。在 Android 中,AnalogClock 控件是一个简单的模拟时钟,它显示了当前时间的模拟时钟表盘。Chronometer 控件可以使用 elapsedRealtime() 方法设置起始时间,如果未设置起始时间,就会在调用 start() 方法时使用当前时间作为起始时间。TextClock 控件主要属性和方法。原创 2024-02-17 13:23:03 · 1573 阅读 · 0 评论 -
学习Android的第十二天
Android SeekBar:拖动条控件SeekBar(拖动条)是Android中常用的用户界面控件之一,通常用于控制音乐播放器或视频播放器的音量、播放进度等。作为 ProgressBar 的子类,SeekBar 继承了 ProgressBar 的所有属性,并且还具有一些自己特有的属性和方法。原创 2024-02-16 14:37:37 · 1272 阅读 · 0 评论 -
学习Android的第十一天
在Android中,ProgressBar类继承自View类,因此它是一个视图(View),用于在用户界面中显示任务的进度。由于ProgressBar继承自View类,因此它具有所有View类的属性和方法,同时也拥有专门用于控制进度条外观和行为的属性和方法。在Android中,ProgressBar(进度条)是用于显示任务进度的UI组件,通常用于耗时操作的过程中以及需要显示加载等待的情况下。在Android中,可以通过使用帧动画来实现一个类似圆形进度条的效果。ProgressBar 属性。原创 2024-02-15 17:08:19 · 1663 阅读 · 0 评论 -
学习Android的第十天
例如,可以通过 setChecked() 方法设置 ToggleButton 的选中状态,通过 setTextOn() 和 setTextOff() 方法设置开关时显示的文本,通过 toggle() 方法切换 ToggleButton 的状态。在这个示例中,我使用了 android:drawableLeft="@android:drawable/btn_radio" 将选择框放置在文本的左边,并通过设置 android:drawablePadding 属性来调整选择框和文本之间的间距。原创 2024-02-11 16:20:30 · 2262 阅读 · 0 评论 -
学习Android的第九天
Android Button 按钮在 Android 中,Button 是用于创建一个按钮的组件,它具有正常状态和点击状态,并且继承自 TextView,因此可以使用 TextView 的属性以及一些其他的属性。基本的按钮我们可以直接使用 XML 语法创建一个 ButtonStateListDrawable 是一种 Drawable 资源,它可以根据控件的不同状态(例如按下、获取焦点、可用等)设置不同的图片或效果。关键在于 元素,它可以定义不同状态下的不同 Drawable。原创 2024-02-09 23:39:42 · 4403 阅读 · 0 评论 -
学习Android的第八天
Android ImageView 图像视图在 Android 中,ImageView(图像视图)是用于显示图像或者其他图形的一个常用组件。它是 Android 中的一个视图控件(View),可以在布局文件中通过 XML 或者在代码中动态创建。ImageView 的基本使用1、在xml里设置图像2、在Java代码里设置图像src属性和background属性的区别因此,可以根据需要选择适合的属性来设置图片。如果想要直接显示图像资源并保持其原始大小,可以使用 android:src;原创 2024-02-09 15:09:39 · 1894 阅读 · 0 评论 -
学习Android的第七天
Android EditText 输入框Android 中的 EditText 是一个用于接收用户输入的可编辑文本框。它与 TextView 类似,但允许用户在应用程序中输入文本。可以在布局文件(XML)中声明 EditText,也可以在代码中动态创建。设置默认提示文本。原创 2024-02-08 12:55:04 · 1534 阅读 · 0 评论 -
学习Android的第六天
Android TextView 文本框Android 中的 TextView 是用来显示不需要编辑的文本的基本 UI 元素。它非常适合用于显示静态文本内容,比如标题、描述、指导信息等。TextView 具有很强的自定义能力,可以通过 XML 中的属性或者在代码中动态设置属性来改变文本的外观和样式,比如字体大小、颜色、对齐方式等。TextView 还支持富文本,可以显示不同样式的文本,如粗体、斜体、下划线等。原创 2024-02-07 15:40:09 · 1296 阅读 · 0 评论 -
学习Android的第五天
在 ConstraintLayout 中,可以使用 layout_constraintHorizontal_weight 和 layout_constraintVertical_weight 属性来实现加权链(Weighted chains),类似于 LinearLayout 中的 weight。在ConstraintLayout中,所有的约束属性都遵循layout_constraintXXX_toYYYOf的命名规则,其中XXX代表目标控件自身的某一边(或基线),而YYY代表参照控件的相应边。原创 2024-02-06 16:08:29 · 1182 阅读 · 0 评论 -
学习Android的第四天
请注意,为了更好的屏幕适应性和灵活性,强烈建议使用更现代的布局方式!如果子控件的大小相同,那么后面添加的子控件会覆盖在前面的子控件之上。android:layout_gravity 是一个布局参数,用于指定一个视图在其父容器中的对齐方式或者在 FrameLayout 中的重叠方式。它是一种简单的布局,所有的子视图都位于屏幕的左上角,并且彼此重叠。FrameLayout 主要用于显示单个子视图或在子视图之间进行切换,例如用于片段(Fragments)的容器或者在底部显示一个浮动的按钮。原创 2024-02-05 21:47:36 · 1205 阅读 · 0 评论 -
学习Android的第三天
Android LinearLayout 线性布局LinearLayout(线性布局)是Android中常用的布局之一,它按照水平或垂直方向排列其子视图。LinearLayout可以设置为水平(horizontal)或垂直(vertical)布局。子视图会按照它们在布局中的顺序依次排列。当LinearLayout的子视图在水平方向排列时,它们会水平摆放,而在垂直方向排列时,它们会垂直摆放。默认情况下,LinearLayout的子视图是从左到右水平排列或从上到下垂直排列。原创 2024-02-03 15:53:38 · 1833 阅读 · 0 评论 -
学习Android的第二天
Android User Interface 用户界面UIUI 是用户界面(User Interface)的缩写。用户界面是用户与计算机系统或设备进行交互的一种方式,它包括用户能够看到、触摸、听到或以其他方式感知的所有元素。UI 的设计旨在使用户的交互体验更加直观、有效和愉悦。用户界面可以包括图形界面、文本界面、声音界面等各种形式,目的是让用户能够轻松地与软件、应用程序或设备进行沟通和操作。原创 2024-02-03 11:32:58 · 1142 阅读 · 0 评论 -
学习Android的第一天
什么是 Android?Android(发音为[ˈænˌdrɔɪd],非官方中文名为“安卓”)是一个基于Linux核心与其他开源软件的开放源代码的移动操作系统。它由谷歌成立的开放手持设备联盟持续领导与开发。Android操作系统的核心是Android开源项目(AOSP),它是根据Apache许可证授权的免费开源软件。然而,大多数设备使用谷歌开发的专有Android版本,预装谷歌移动服务等专有软件。原创 2024-02-01 17:06:50 · 2389 阅读 · 4 评论