- 博客(176)
- 收藏
- 关注
原创 WorkManager
WorkManager提供了更多的高级功能和更好的兼容性,而Service则更适合执行简单的后台任务。WorkManager提供了许多高级功能,例如链式任务、延迟任务、周期性任务和灵活的重试策略等,而Service的功能相对较少。WorkManager可以在不同版本的Android系统上提供一致的行为,而Service的行为可能因Android版本而异。WorkManager可以根据设备的电池和网络状态自动调整任务执行时间,而Service可能会影响设备的电池寿命和网络使用。1.定义一个后台任务。
2024-05-22 11:26:46 150
原创 Room
dao层的目的是覆盖所有业务需求,使得用户不必与底层数据库打交道。定义Entity(实体类)定义Entity(实体类)定义Database。
2024-05-22 10:32:35 122
原创 ViewModel
它使用了ViewModelProvider和MainViewModelFactory类,用于创建MainViewModel的实例,并传入countReserved参数,用于初始化MainViewModel中的count属性。这样,我们就可以在Activity中使用viewModel变量来访问MainViewModel中的数据和方法。ViewModel的作用是帮助我们管理UI相关的数据和业务逻辑,实现数据的存储、共享、隔离和生命周期管理,从而提高应用程序的可维护性和可扩展性。传参给viewmodel。
2024-05-21 17:56:48 204
原创 下拉刷新
当用户下拉SwipeRefreshLayout时,将会触发下拉刷新监听器中的refreshFruits()方法。refreshFruits()方法是一个私有方法,用于刷新水果列表。在该方法中,我们使用了一个线程来模拟网络请求的延迟,然后在主线程中更新水果列表,并通知适配器数据已经发生变化。最后,我们还将SwipeRefreshLayout的刷新状态设置为false,表示刷新已经完成。SwipeRefreshLayout里面可以嵌套一个控件,在里面这个控件下滑时,会触发刷新的机制。
2024-05-21 14:54:51 166
原创 可交互提示Snackbar
make()方法接受三个参数:第一个参数是一个View对象,表示Snackbar要显示在哪个视图上;第二个参数是Snackbar要显示的文本消息;第三个参数是Snackbar要显示的持续时间,可以是LENGTH_SHORT或LENGTH_LONG。
2024-05-21 14:29:15 563
原创 滑动菜单栏
drawerlayout是菜单栏的主体,一般配合NavigationView使用,实现好看的UI界面。drawerlayout的第一个布局是主界面的布局。第二个是打开菜单栏后的菜单栏的布局。此处直接由NavigationView替换即可。group表示item的选项属于group组内,并且设置了group里面的选项为单选。菜单栏由两部分组成,头部和菜单。上面已经实现了菜单。新建menu布局,表示菜单栏的选项。
2024-05-21 14:20:43 335
原创 Service
通常用于执行与应用程序交互不直接相关的任务。在单独的工作线程中运行,无需手动管理线程。需要手动管理线程和生命周期,而。可以与应用程序的其他组件(如。与Activity通信。
2024-05-20 14:33:42 622
原创 线程
onPostExecute() : doInBackground() 执行完毕后再执行的方法 ,这个字段是一个整数,可以用来区分不同类型的消息。onPreExecute() : 在 doInBackground() 执行前先执行的方法 ,doInBackground() : 核心方法 , 执行异步任务 , 该方法在。类是一个轻量级的数据结构,用于在线程之间传递数据和消息。是一个用于执行后台任务并更新UI的辅助类。在doInBackground中执行耗时任务,由子线程执行。字段的值来执行相应的操作。
2024-05-17 18:13:57 407
原创 安卓开发——多媒体
易于传输和共享:使用Bitmap对象可以轻松地在应用程序、服务和设备之间传输和共享图像。例如,我们可以将Bitmap对象发送给其他应用程序或服务,以便它们可以访问和处理图像。内存管理:Bitmap对象可以直接在内存中操作图像数据,这使得在处理图像时可以更快地访问和修改数据。这意味着我们可以在不同的Android设备和版本上使用相同的Bitmap对象来处理图像。便于操作:Bitmap对象提供了丰富的API,可以方便地对图像进行各种操作,如缩放、裁剪、旋转、滤镜等。音频和视频播放的方法有所不同。
2024-05-17 15:46:34 453
原创 持久化技术
MyDatabaseHelper继承自SQLiteOpenHelper,需要重写onCreate和onUpgrade方法。onUpgrade方法用于升级数据库。当传入的参数大于上一个版本的数据时就会调用。update后面两个参数是表示where name = The Da Vinci Code。添加一个按钮,点击后将数据提交。使用SQL操作数据库。
2024-05-16 15:12:19 703
原创 Kotlin扩展函数和运算符重载
相当于直接将方法写在类里面。函数体内可以直接使用this而不用传参。operator和plus是不能变的,plus表示“+”
2024-05-15 15:17:17 183
原创 ListView[new]
等列表控件中,当滑动列表时,会重用之前创建的视图对象,以避免重复创建和填充视图,提高列表的滑动性能。用viewHolder可以缓存控件,可以减少findViewById函数的调用次数。对象来保存当前列表项中的子视图对象,以便在下次滑动列表时能够重用其中的子视图对象。中,我们可以将子视图对象作为成员变量保存起来,这样在下次滑动列表时,就可以直接从。对象的作用是在列表控件中重用子视图对象,以提高列表的滑动性能。函数的调用次数,从而提高列表的滑动性能。中获取子视图对象,而不需要再次调用。函数来查找子视图对象。
2024-05-14 14:56:22 399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人