android.context.ContextWrapper.registerReceiverpublicIntentregisterReceiver(BroadcastReceiverreceiver,IntentFilterfilter)RegisteraBroadcastReceivertoberuninthemainactivitythread.ThereceiverwillbecalledwithanybroadcastIntentthatmatchesfilter,inthemainapplicationthread.Parametersreceiver TheBroadcastReceivertohandlethebroadcast.filter SelectstheI...
继续阅读 >
分类:android
2022
06-10
06-10
Android Broadcast原理分析之registerReceiver详解
目录1.BroadcastReceiver概述2.BroadcastReceiver分类3.registerReceiver流程图4.源码解析4.1ContextImpl.registerReceiverInternal4.2LoadedApk.getReceiverDispatcher4.3ActivityManagerService.registerReceiver5.总结1.BroadcastReceiver概述广播作为四大组件之一,在平时开发过程中会大量使用到,使用方式也是多种多样的,既可以自己在manifest中注册,也可以在java代码中动态注册,既可以接收由系统发出的广播,也...
继续阅读 >
2022
06-07
06-07
Android LayoutParams使用案例详解
LayoutParams是什么?LayoutParams主要保存了一个View的布局参数,因此可以使用LayoutParams来改变布局参数从而达到View位置的效果,一般在自定义View的时候使用。LayoutParams怎么用?如果父控件是LinearLayout,需要使用LinearLayout.LayoutParams代码如下:LinearLayout.LayoutParamslayoutParams=(LinearLayout.LayoutParams)getLayoutParams();layoutParams.leftMargin=getLeft()+offsetX;layoutParams.topMargin=ge...
继续阅读 >
2022
06-07
06-07
Android自定义开关按钮源码解析
本文实例为大家分享了Android自定义开关的具体代码,供大家参考,具体内容如下以ToggleColorY为例分析,ToggleImageY逻辑代码差不多初始化参数获取背景颜色,按钮颜色,开关状态@SuppressLint("ResourceAsColor")privatevoidinitParame(Contextcontext,@NullableAttributeSetattrs,intdefStyleAttr){TypedArraytypedArray=context.obtainStyledAttributes(attrs,R.styleable.ToggleColorY,defStyleAttr,0);...
继续阅读 >
2022
05-30
05-30
Android录制按钮源码解析
本文实例为大家分享了Android实现录制按钮的具体代码,供大家参考,具体内容如下初始化布局文件中参数privatevoidinitParame(Contextcontext,@NullableAttributeSetattrs,intdefStyleAttr){TypedArraytypedArray=context.obtainStyledAttributes(attrs,R.styleable.RButtonY,defStyleAttr,0);//外圆和内部正方形之间的间距mCircleOutMarginSize=typedArray.getDimensionPixelSize(R.styleable.RButto...
继续阅读 >
2022
05-30
05-30
Android自定义轮播图效果
本文实例为大家分享了Android自定义轮播图效果的具体代码,供大家参考,具体内容如下概述1、写一个布局,其中有ViewPager,TextView,LinearLayout.ViewPager:用来承载图片TextView:用来展示文字描述LinearLayout:用来展示指示器2、自定义ConstraintLayout,在该控件中处理页面切换逻辑等.分析1、获取自定义属性以及设置一些属性publicBannerY(Contextcontext,AttributeSetattrs,intdefStyleAttr){super(c...
继续阅读 >
2022
05-30
05-30
Android端权限隐私的合规化处理实战记录
目录是什么为什么具体实践一.Android各版本对权限的适配处理1.1早期的注册权限1.2动态权限授予1.3READ_PHONE_STATE权限的变化二.隐私信息合规化处理2.1隐私信息获取告知的直接化和透明化2.2隐私信息获取和传输的安全化2.3部分隐私Api调用的严格化三.遇到的一些问题和坑总结是什么对客户端而言,权限隐私可分为权限和隐私两个大的方面。权限为用户通过app内弹窗设置或者手机设置内对应app的权限设置方式给予对应app相应的...
继续阅读 >
2022
05-30
05-30
Android实现简单点赞动画
本文实例为大家分享了Android实现简单点赞动画的具体代码,供大家参考,具体内容如下思路1、找到Activity中DecorView的RootView2、确定点赞控件位于屏幕中的坐标值3、将点赞效果View加入到RootView中,给效果View添加自己想要的动画效果.4、重复点击时候,需要将效果View先移除掉再重新加入到RootView中.代码/***普通点赞效果,点击控件后出现一个View上浮*/publicclassViewLikeUtils{publicinterfaceViewLikeClickLis...
继续阅读 >
2022
05-30
05-30
Android集成Flutter
目录Android集成Flutter1,HelloFlutter2,引入Flutter模块3,使用Flutter3.1添加依赖3.2运行Flutter页面4,FlutterAPK解析5,踩过的坑Android集成FlutterFlutter作为Google开源的新一代跨平台、高性能UI框架,旨在帮助开发者高效地构建出跨平台的、UI与交互体验一致的精美应用,推出后一直倍受开发者的青睐。当需要开发一个全新的应用时,我们可以很方便地从零开始,完全使用Flutter进行开发。但如果是针对一...
继续阅读 >
2022
05-27
05-27
Android Intent与IntentFilter案例详解
1.前言 在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应的操作,但是相对于这个功能,Intent本身的结构更值得我们去研究。2.Intent与组件 Intent促进了组件之间的交互,这对于开发者非常重要,而且它还能做为消息的载体,去指导组件做出相应的行为,也就是说Intent可以...
继续阅读 >
2022
05-20
05-20
Android ExpandableListView使用方法案例详解
目录一、前言二、实现的功能三、具体代码1、主xml代码2、父布局xml代码3、子布局xml代码4、主activity代码5、adapter代码一、前言 “好记性不如烂笔头”,再次验证了这句话是真的很有道理啊,一个月前看了一下ExpandableListView的使用,今天再看居然忘了这个是干啥的了,今天就详细讲解一下ExpandableListView的使用方法,感觉对于二级条目显示功能都可以实现。二、实现的功能1、可实现二级列表条目显示功能,具体包括可自...
继续阅读 >
2022
05-17
05-17
Android自定义view之3D正方体效果实例
目录前言一、小提二、将传感器改成事件分发机制三、使用四、源码总结前言在之前写了一篇关于3D效果的文章,借助传感器展示,有小伙伴问可不可以改成手势滑动操作(事件分发),所以出一篇文章传感器相关文章链接:Android3D效果的实现一、小提相对于常见的自定义view而言,继承的GLSurfaceView只有两个构造函数。可以理解为没有提供获取自定义属性的方法。publicTouchSurfaceView(Contextcontext){super(context);...
继续阅读 >
2022
05-15
05-15
怎样才能导入别人的android项目不再报错
直接run别人的项目手动导入1.去到要导入项目的目录下把.idea,*.iml,local.properties删除(*表示所有)2.进入app文件夹同理把build, *.iml删除3.打开已经run成功的项目的build.graid把classpath:这整句复制,去要导入的项目中打开build.graid进行替换。4.打开gradle\wrapper\gradle-wrapper.properties复制最后一句,去到要导入的项目进行替换。5.改version6.导入项目确认下7.出现Couldnotfindcom.android.too...
继续阅读 >
2022
05-15
05-15
Android毕业设计记事本APP
目录前言功能概述系统设计启动界面引导界面更改口令界面主界面和编辑界面1建表2添加便签3在主界面显示便签4再次编辑该便签5主界面和编辑界面布局前言该设计是一款轻量级的便签工具,使用AndroidStudio开发,风格简练,可实现便签的添加、删除、修改、查看功能。为保证一定的安全性,设置了进入口令,类似于应用锁,用户可以修改口令。主要使用的技术有共享参数、数据库、SwipeRefreshLayout控件。功能概述用户打开应用后,启...
继续阅读 >
2022
05-12
05-12
Android BindService使用案例讲解
最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现。BindService和StartedService都是Service,有什么地方不一样呢:1.StartedService中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行【onCreate()- >onStartCommand()->startService()->onDestroy()】,注意其中没有onStart(),主要是被onS...
继续阅读 >
2022
05-12
05-12
轻松实现Android3D效果通俗易懂
目录一、先看看聊天(需求)二、实现效果三、实现1.通过getSystemService获得SensorManager实例对象2.通过SensorManager实例对象获得想要的传感器对象:参数决定获取哪个传感器3.在获得焦点时注册传感器并让本类实现SensorEventListener接口4.必须重写的两个方法5.在失去焦点时注销传感器(为Activity提供调用)6.draw方法中的方发详解四、需求中的青黄色参数五、源码文章最后将会贴出源码(照顾新手附加注释)一、先看看聊天(需求)二...
继续阅读 >