一、EventTarget事件目标的查找方式(冒泡与捕获)冒泡与捕获:冒泡事件事件默认是由下往上的冒泡执行方式。以点击事件为例,当我们点击子元素也能触发父元素及以上元素的点击事件。事件执行顺序由下至上,这就是冒泡事件。捕获事件:当然还有一种执行方式是由上往下的捕获方式。还是以点击事件为例,当一个子元素绑定了点击事件,我们点击子元素时,父元素及以上的元素绑定的点击事件也会执行。事件的执行顺序时由上至下,这就...
2021-04-07 13:07:29 6.1w浏览 1点赞 0回复 0收藏
第一步找个Activity注册广播监听一般选择app主框架activityOkHttp拦截器写法publicclassTokenInterceptorimplementsInterceptor{privatestaticfinalCharsetUTF8Charset.forName("UTF8");privateContextmContext;publicTokenInterceptor(Contextco){mContextco;}OverridepublicResponseintercept(Chainchain)throwsIOException{Requestrequestchain.request();ResponseoriginalResponsechain.proceed(request);ResponseBodyrespo...
2021-03-31 13:50:19 1.5w浏览 0点赞 0回复 0收藏
基于Android9.0源码分析在分析meidacodecframework层代码有看到ALooper、AHandler、AMessage这几个类,这主要分析下其内部原理代码路径:frameworksavmedialibstagefrightfoundationALooper首先看下ALooper使用示例mLoopernewALooper;mLooper>setName("MediaCodeclooper");mLooper>start(false,runOnCallingThreadtrue,canCallJavaANDROIDPRIORITYVIDEO);1初始化ALooper::ALooper():mRunningLocally(false){cleanupstaleAHandle...
2021-03-31 13:47:00 1.2w浏览 0点赞 0回复 0收藏
一、界面布局1、界面样子:2、在activitymain.xml当中创建布局界面3、源代码<xmlversion"1.0"encoding"utf8"><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android"http:schemas.android.comapkresandroid"xmlns:app"http:schemas.android.comapkresauto"xmlns:tools"http:schemas.android.comtools"android:layoutwidth"matchparent"android:layoutheight"matchparent"tools:context".MainActivity"><LinearLayou...
2021-03-31 13:41:23 1.5w浏览 0点赞 0回复 1收藏
大体思路红包的分发见JAVA作业——红包分发。而抢红包要解决的是线程问题。其实比较简单,设定好人数,每个人一个线程,每个线程执行一遍,有红包就抢,没有红包就抢不到,所以run函数中只要判断现在还有没有红包就可以了。代码实现importjava.util.Random;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){intpersonnum,redpocketnum,summoney;ScannerscannernewScanner(System.in);System.out.pr...
2021-03-29 17:54:03 1.1w浏览 0点赞 0回复 0收藏
重写(Overriding)算是Java中一个非常重要的概念,理解重写到底是什么对每个Java程序员来说都至关重要,这篇文章就来给大家说说重写过程中应当遵守的12条规则。01、什么是重写?重写带来了一种非常重要的能力,可以让子类重新实现从超类那继承过来的方法。在下面这幅图中,Animal是父类,Dog是子类,Dog重新实现了move()方法用来和父类进行区分,毕竟狗狗跑起来还是比较有特色的。重写的方法和被重写的方法,不仅方法名相同,...
2021-03-29 17:52:10 1.1w浏览 1点赞 0回复 0收藏
1子类与父类继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类(超类)。Java不支持多重继承(子类只能有一个父类)习惯地称子类与父类是"isa”关系。1.1子类使用关键字extends来定义一个类的子类,格式如下:class子类名extends父类名{...
2021-03-29 17:39:02 2.2w浏览 0点赞 0回复 0收藏
算数运算符算术运算符用于执行两个变量或值的运算。运算符描述+加法减法乘法除法%系数++递增递减幂加法运算符:加法运算符+加数:varx7;vary8;varzx+y;减法运算符:减法运算符减数。varx7;vary8;varzxy;乘法运算符:乘法运算符乘数。varx7;vary8;varzxy;除法运算符:除法运算符除数。varx7;vary2;varzxy;系数运算符:系数运算符%返回除法的余数。varx7;vary2;varzx%y;递增运算符:递增运算符++对数值进行递增。varx7;x++;varzx;递减...
2021-03-26 16:14:03 9451浏览 0点赞 0回复 0收藏
什么是Optional类NPE(NullPointerException)一直是我们最头疼的问题,也是最容易忽视的地方。NPE常是导致Java应用程序失败的最常见的原因。在日常研发工作中,经常会处理各种变量、集合,但在使用的过程中,往往要进行空判断,不然会出现NPE。Optional类实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional类的引入很好的解决空指针异常。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。尽量避免...
2021-03-26 15:59:19 1.7w浏览 0点赞 0回复 0收藏
最近有产业链消息称,华为将在PC、笔记本的应用市场中,加入大量的安卓应用,并且经过处理的APP能够不使用模拟器的情况下在PC、和笔记本等终端设备中运行。华为官方云端负责人也称,新的PC端应用市场将带来更加洁净的体验,重点解决Windows系统端生态混乱、广告弹窗泛滥的痛点。恶意软件、广告弹窗等都让无数人不胜其烦,华为将建设一个很好地监管措施和监管环境。其实,通过多屏协同技术,华为已经可以将手机端的安卓应用投放...
2021-03-26 10:53:16 1.0w浏览 0点赞 0回复 0收藏
Error和Exception区别是什么1.Error类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常程序会被终止,仅靠应用程序本身无法恢复2.Exception类的错误是可以在应用程序中进行捕获并进行处理的,通常遇到这类错误,应对其进行处理,使应用程序可以继续正常运行。运行时异常和一般异常(受检异常)区别1.运行时异常包括Run...
2021-03-25 16:44:10 1.1w浏览 0点赞 0回复 0收藏
异常简介提供的一种识别及响应错误的一致性机制异常机制可以使程序中异常处理代码和正常业务代码分离,提高程序健壮性,在有效使用异常的情况下,异常可以清晰地回答what,where,why这3个问题:异常回答了"什么"被抛出,异常堆栈跟踪回答了"在哪"抛出,异常信息回答了"为什么被抛出"Throwable1.Throwable是所有错误与异常的超类2.Throwable包含两个子类:Error和Exception,它们通常用于指示发生了异常情况3.Throwable包含了其线程...
2021-03-25 16:38:09 1.3w浏览 0点赞 0回复 0收藏
前置概念屏幕密度搞清楚DisplayMetrics的两个变量,density是显示的逻辑密度,是密度与独立像素单元的比例因子,densityDpi是屏幕每英寸对应多少个点图片占内存多少的计算原理找到每个像素占用的字节数总像素数即可如何优化知道了原因,那么据此即可优化内存使用。1、合理选择jpg和png在文件系统中,jpg是一种有损压缩的图片存储格式,png则是无损压缩的图片存储格式,对于同一张图片,jpg会比png小一些。需要注意的是jpg的图片...
2021-03-25 15:46:16 1.2w浏览 0点赞 0回复 0收藏
Java中的基本类型及其包装类的比较()一直是一个比较头疼的问题,不仅有自动装箱和拆箱操作,部分的包装类还有对象缓存池,这就导致了这部分知识容易混淆。对于操作符来说,如果比较的数据是基本类型,则比较它们的值,如果比较的是对象,则会比较对象的内存地址。另外,如果一个是基本类型、一个是包装类型,在比较前会先把包装类型拆箱成基本类型,然后进行比较。以int为例,这里我们把参与比较的类型分为三种:int、直接new...
2021-03-24 14:12:16 1.1w浏览 0点赞 0回复 0收藏
1.自带取消订阅方式:在RxJava1的时候我们知道在你用Observable执行时候会返回一个Subscription类:SubscriptionsubscriptionObservable.xxx("yy").subscribe(.....);然后我们只需要在我们界面的ondestory方法中对这个对象进行取消订阅操作就可以:OverrideprotectedvoidonDestroy(){if(subscription!null&&!subscription.isUnsubscribed){subscription.unsubscribe();}super.onDestroy();}我们可以看到很简单,这样当我们Activ...
2021-03-24 14:06:29 1.2w浏览 0点赞 0回复 0收藏
3月23日消息外媒9to5Google报道,在过去的几个小时里,大量的安卓用户都遇到了一些安卓应用连续闪退的情况,有人发现卸载安卓系统WebView就可以停止闪退。谷歌现在已经发布了应用崩溃问题的永久修复。它涉及更新AndroidSystemWebView和Chrome浏览器89.0.4389.105版本升级。据报道,安卓应用大面积闪退问题首先是安卓系统会抛出提示,警告应用程序如何“不断关闭”。处于后台且当前未打开的应用程序也会受到影响。所有涉及使用We...
2021-03-24 11:19:52 2.0w浏览 0点赞 0回复 0收藏
一、效果展示用javascript写的一个太空人表盘。二、源代码html代码<html><head><title>太空人表盘<title><metacharset"UTF8"><linkhref".assetscssstyle.css"rel"stylesheet"><scriptsrc".assetsjstimeGeneration.js"><script><head><body><divclass"junmeter"><divclass"juntimehh"id"hh"><div><divclass"juntimehl"id"hl"><div><divclass"juntimerect"><div><divclass"junhuman"><div><divclass"juntimemh"id"mh"><div><divcl...
2021-03-23 14:40:42 1.3w浏览 0点赞 0回复 0收藏
JavaScriptObjectNotation,js对象简谱,一种轻量级数据交换格式。欧洲计算机协会制定的JS编程规范,20052006年开始推广。1、对象格式一个对象由一个大括号表示括号中描述对象属性,通过键值对来描述对象属性键与值之间用冒号连接,多个键值对之间用逗号分隔;键值对中的键应该使用引号引住(通常Java中键值对中键不使用引号会报错,而JS中能够正确解析)键值对中的值,可以是JS中的任意数据JSON:{"name":"金苹果","info":"种...
2021-03-23 14:21:53 1.5w浏览 0点赞 0回复 1收藏
我们知道,多线程存在着数据安全问题。在并发线程中,一个对象同时可以被多个线程访问,修改等。比如购买火车票的例子,若只剩下最后一张火车票,但此时同时有多个线程正在访问该数据,那么如果不加约束,那么这些线程都将成功购得同一张火车票,最后导致系统中火车票剩余数量变为负数!以下是一个不加约束的示范:线程并发即多个线程操作同一个对象买火车票的例子publicclassTestThread3implementsRunnable{privateintticket1;...
2021-03-23 14:17:18 1.3w浏览 1点赞 0回复 0收藏
字符画是一种由字母、标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画。静态图片首先,我们来演示将静态图片转为字符画,功能实现主要用到的Python库为OpenCV,安装使用pipinstallopencvpython命令即可。功能实现的基本思路为:利用聚类将像素信息聚为3或5类,颜色最深的一类用数字密集度表示,阴影的一类用横杠()表示,明亮部分用空白表示。主要代码实...
2021-03-23 11:50:49 1.1w浏览 0点赞 0回复 0收藏