![](https://img-blog.csdnimg.cn/eefd3b14c2e345d2ac14360cba1d1a92.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
文章平均质量分 90
Android基础知识整理
Mr YiRan
星光不问赶路人,时间不负有心人,前程似锦,未来可期!
展开
-
Android设备中常使用的唯一标识
安卓设备常用的唯一标识有IMEI,MEID,MAC地址,Android_id,UUID等。原创 2023-11-09 09:48:42 · 1022 阅读 · 0 评论 -
Android中的RxJava入门及常用操作符
RxJava在GitHub的介绍// 翻译:RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库也就是说:RxJava是一个基于事件流,实现异步操作的库。原创 2023-10-07 19:26:16 · 700 阅读 · 0 评论 -
Android四大组件之服务
服务是Android中实现程序后台运行的方案,他非常适合去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。每一个服务都需要在配置文件AndroidManifest.xml文件里进行生命,怎么生命呢?使用标签,其实跟前面的activity,广播接收者receiver一样生命。通过Context.startService()来开启服务,通过Context.stop()来停止服务。当然啦,还有一原创 2023-08-03 10:45:39 · 772 阅读 · 0 评论 -
Android架构之MVC,MVP,MVVM解析
Presenter中同时持有View层的interface的引用以及Model层的引用,而View层持有Presenter层引用。当View层某个界面需要展示某些数据的时候,首先会调用Presenter层的引用,通知Presenter层加载数据,然后Presenter层会调用Model层请求数据,当Model层数据加载成功之后会调用Presenter层的回调方法通知Presenter层数据加载情况,最后Presenter层在调用View层的接口将加载后的数据展示给用户。比如说首页,详情页面,播放器页面。原创 2023-07-11 22:36:14 · 984 阅读 · 0 评论 -
Android快速退出APP的几种方式
定义一个栈,写一个自定义的MyApplication,利用单例模式去单独对Activty进行管理,在每个Activity的onCreate()方法中调用MyApplication.getInstance().addActivity(this)将当前的Activity添加到栈中统一管理,如果需要退出应用程序时再调用MyApplication.getInstance().exit()方法直接就完全退出了应用程序。这样,当发送广播时,MyApplication中的广播接收器就会接收到广播并退出应用程序。原创 2023-05-31 17:05:09 · 2942 阅读 · 0 评论 -
Android四大组件之广播接收者BroadcastReceiver
1.发送标准广播前面说到了,要注意的是,内部广播接收者类,需要是静态的,Public的,注册的时候,是外部类名$内部类名/**//action只能有一个,所以叫setAction而不是addActon。//而广播接收者可以监听多个广播,所以是addAction //action的命名一般是报名+动作名,这样子比较唯一 intent . setAction("com.sunofbeaches.broadcastdemo.SEND_BROADCAST_CLICK");原创 2023-04-25 22:43:32 · 1487 阅读 · 0 评论 -
Android之编写申请权限库PermissionX
比如要实现拨打电话的功能,一般我们要编写如下Android运行时权限API可以看到,这种系统内置的运行时权限API的用法还是非常烦琐的,需要先判断用户是否授权我们拨打电话的权限,如果没有的话需要进行权限申请,然后还要在onRequestPermissionsResult()回调中处理权限申请的结果,最后才能去执行拨打电话的操作。我们可以通过这个过程编写一个开源库PermissionX。之前我们写的所有代码都是在app目录下进行的。这其实是一个专门用于开发应用程序的模块。原创 2023-04-15 15:15:32 · 1389 阅读 · 2 评论 -
Android中的接口回调机制
1.回调的含义和用途一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制解决了同步阻塞的问题,例如A通知B后,他们各走各的路,互不影响,不用像同步调用那样,A通知B后,非得等到B走完后,A才继续走。回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,例如A要调用B,B在执行完又要调用A。回调的思原创 2023-04-09 22:07:59 · 1785 阅读 · 0 评论 -
Android之动态申请权限
Android6.0(23)以上需要动态申请权限如果没有将报下面的权限问题的错打电话的动态申请权限例子package com.example.androidnetwork;import android.Manifest;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import and原创 2023-04-09 22:07:48 · 3458 阅读 · 2 评论 -
Android之制作App的图标
在过去,Android应用程序的图标都是应该放到相应的分辨率的mipmap目录下,不过从Android8.0开始,Google已经不再建议使用单一的一张图片来作为应用程序的图标,而是应该使用前景和背景分离的图标设计方式。由具体手机厂商而定,这样就可以将手机上所有应用程序的图标裁剪成相同的形状,从而统一图标的设计规范。再预览区域中给出了可能生成的图标形状。每个图标都有一个圆圈,这个圆圈叫做安全区域,必须保证图标的前景层完全处于安全区域才行,否则可能会出现应用图标的Logo被手机厂商的mask裁剪掉的情况。原创 2023-04-09 21:46:21 · 4767 阅读 · 0 评论 -
Android之屏幕适配方案
在说明适配方案之前,我们需要对如下几个概念有所了解:屏幕尺寸,屏幕分辨率,屏幕像素密度。屏幕尺寸指屏幕的对角线的物理长度,单位是英寸,1英寸=2.54厘米。比如常见的屏幕尺寸:5.0、5.99、6.0等等屏幕分辨率是指手机在横向、纵向上的像素点数总和,单位是px,1px=1个像素点,一般以纵向像素*横向像素。比如分辨率2160x1080的手机,表示高度上有2160个像素点,而宽度上有1080个像素点,屏幕分辨率为:2160*1080。原创 2023-03-11 16:43:15 · 6637 阅读 · 5 评论 -
Android之常见的使用技巧
其中name和age都是调用Parcel的readXxx()方法读取到的(注意这里读取的顺序一定要和刚才写出的顺序完全相同)而newArray()方法中的实现,只需要调用arrayOfNulls()方法,并使用参数中传入的size作为数组大小,创建一个空的Person数组即可。选用不同的主题,在控件的默认颜色等方面会有完全不同的效果。当我们编写一个比较庞大的项目,期间为了方便调试,在代码的多个地方打印了大量日志,当项目正式上线的时候仍然会照常打印,这样会降低程序的运行效率,还有可能将一些数据泄露出去。原创 2023-01-31 17:46:14 · 722 阅读 · 0 评论 -
Android之WorkManager处理后台定时任务
WorkManager和Service并不相同,也没有直接的联系。。使用WorkManager注册的周期性任务不能保证一定会准时执行,这是因为系统为了减少电量消耗,可能会将触发时间临近的几个任务放在一起执行,这样可以大幅度减少CPU被唤醒的次数,从而有效延长电池的使用时间。原创 2023-01-20 22:28:46 · 1910 阅读 · 0 评论 -
Android数据库之SharedPreferences、SQLite、Room
一、SharedPreferences要想使用SharePreferences来存储数据,首先需要获取到SharedPreferences对象。Android中提供了三种方法用于得到SharedPreferences对象1.Context类中的getSharedPreferences()方法第一个参数用于指定SharedPreferences文件名称,如果指定的文件不存在则会创建一个。第二个参数用于指定操作模式MODE_PRIVATE表示只有当前的应用程序才可以对这个SharedPreference原创 2023-01-20 09:51:28 · 1870 阅读 · 0 评论 -
Android ViewModel,Lifecycles和LiveData组件讲解
一、ViewModelViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。简单的说就是,在android中,当Activity重建或销毁时,页面上的数据会丢失。为了保存页面的数据,我们以前通常的做法是在 onSaveInstanceState 中,将数据保存到 bundle 中,再在 onCreate 中将 bundle 中的数据取出来。而使用 ViewModel,我们就无需再用这种方法保存,因为 ViewMode原创 2023-01-18 11:25:31 · 1631 阅读 · 0 评论 -
Android生命周期和启动模式
指定为singleInstance模式的Activity会启用一个新的返回栈来管理这个Activity(其实如果singleTask模式指定不同的taskAffinity,也会启动一个新的返回栈)。假设我们的程序中有一个Activity时允许其他程序调用的,如果想。原创 2022-10-30 22:24:50 · 3541 阅读 · 0 评论 -
Activity被回收了怎么办?
1.onSaveInstanceState()方法2.ViewModel原创 2022-10-30 16:20:55 · 531 阅读 · 0 评论 -
Android四大组件中的Activity
Android四大组件中的Activity二、Intent和IntentFilter显示Activity和隐式Activity隐式Intent原创 2022-10-02 16:58:22 · 840 阅读 · 1 评论 -
Android中的ConstraintLayout约束布局
Android中的ConstraintLayout约束布局原创 2022-09-28 11:09:09 · 5595 阅读 · 0 评论 -
Android ButterKnife的实现(注解+反射)
Android ButterKnife的实现(注解+反射)原创 2022-07-24 16:58:54 · 1736 阅读 · 0 评论 -
Android使用RadioGroup+RadioButton实现导航栏
Android使用RadioGroup+RadioButton实现导航栏原创 2022-07-11 18:15:10 · 570 阅读 · 0 评论 -
Android中Intent的简单使用和与Bundle的关系
Android中Intent的简单使用和与Bundle的关系原创 2022-07-08 10:23:53 · 1504 阅读 · 0 评论 -
Android同步异步任务与多线程和Handler消息处理机制
Android同步异步任务与多线程和Handler消息处理机制原创 2022-01-10 11:46:38 · 1121 阅读 · 0 评论