自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 kotlin的五种单例模式

kotlin基础知识

2024-08-28 16:30:23 225

原创 ‘7.4.2‘, apply: false was not found in any of the following sources

我把代理什么的都去掉了,还是不行,试了很多方法,改Gradle Plugin试了不行,改Gradle,也是不行。最终在某个博客给我的灵感,是否可能是JDK的问题呢?改完以后,竟然好了......困扰了三天的问题就这么解决了,我应该快乐还是应该悲伤?记录一个令人绝望的报错,折磨了我三天简直太痛苦了,看了很多博客,大多数都说是代理的问题。红色部分原本是没有的,我给加的,因为实在找不到入口,只能加快捷键了。可能是新版的AndroidStudio的原因吧,竟然没有JDK。默认是这样的,感觉好像不太对,改一下。

2024-05-10 16:31:58 274 1

原创 面试题总结

客户端bindservice可以获取到一个Ibinder,通过Ibinder可以获取到proxy,而proxy正是service代理端的Ibinder,而stub又实现了Ibinder,因此通过proxy可以获取到服务端的stub,再通过stub就可以调用service中的方法。3.List类型:List中的所有元素必须是AIDL支持的类型之一,或者是一个其他AIDL生成的接口,或者是定义的parcelable(下文关于这个会有详解)。Map是不支持泛型的;1:谈一下handler的原理。

2024-04-25 17:29:22 225 2

原创 收藏动画效果的工具类

package com.gwm.app.mediawidget.playdetail.radio.util;import android.animation.Animator;import android.animation.ValueAnimator;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Path;import android.graphic

2023-12-26 11:22:17 377

原创 gerrit如何切换账号

进入项目的.git目录下(如果你的电脑没有该目录多半是隐藏了,取消隐藏文件夹即可),再找到config文件打开,修改这个url跟你gerrit上的ssh的url一致即可。在该目录adb生成ssh密钥:ssh-keygen -t rsa -C "wangcy"进入gerrit账号下,点击SSH Keys再点击AAD NEW SSH KEY。进入电脑路径:C:\Users\Administrator\.ssh。经过以上步骤,相信你的gerrit账号会轻松切换。4,修改项目的config文件。

2023-12-01 17:05:58 429

原创 关于Integer.MAX_VALUE>>2的骗局

关于Integer.MAX_VALUE >> 2的骗局

2023-11-03 14:52:39 178

原创 随机切换封面5选1

2:从xml资源中获取Bitmap。3:获取随机的index。1:在xml中配置列表。

2023-10-13 09:55:42 62

原创 Android事件分发(上)

我们现在清楚了为什么没有执行group的dispatchTouchEvent(transformedEvent)方法,接着往下看,super.dispatchTouchEvent(transformedEvent)点进去发现group的dispatchTouchEvent继承了view的dispatchTouchEvent,其实整张图背下来是完全可以的,以后处理事件的滑动冲突就够用了,但是这样的话就会陷入知其然但不知其所以然的尴尬境地,这对我们解决问题是有阻碍的。

2023-09-26 11:34:14 57

原创 Android项目中包含项目的项目该如何clone

git config --global user.email "99979441@tech.gwm.com" 配置邮箱。git config --global user.name "99979441" 配置用户名。4:打开.gitmodules文件,修改里面的url为http的地址。5:在项目下git submodule init。1:clone http下的git地址。3:下载以后发现里面的项目是空文件夹。4:把密钥复制到gerrit账户上。第一种方式更加简便!2:修改config配置。

2023-09-18 13:30:59 114

原创 Android观察者模式

实现接口,循环所有的观察者,挨个通知。实现接口,被通知以后,处理传来的数据。5:被观察者通知观察者。

2023-07-12 16:43:13 66

原创 MediaSession的简单使用

感兴趣的小伙伴可以去客户端的回调里去找,肯定是可以对的上的,以上只是我对MediaSession最浅显的认知,不足之处望求指正。以上为两种不同的发送指令的方式,当然服务端接收的时候也是通过不同的方法。3:服务端发送到客户端,直接通过mMediaSession即可操作。1:继承 MediaBrowserServiceCompat。

2023-06-28 18:37:08 854

原创 Kotlin的lambda表达式

原来这里隐含了一个东西叫做匿名函数或者说是lambda表达式,我的理解是lambda是一段可以被当作参数传递的函数,假设方法A把lambda传递给了方法B,B就可以通过lambda把数据返回给A,类似java的接口回调。所以我们需要给forEach传递的是一个名字叫做action的(名字也可以不一致,这里kotlin不强制要求),参数是list的value,返回值为Unit的lambda。完全看不懂啊同志们,这是啥啊,java里一般来说都是(){},()里是参数,但是为什么是{},没有(),没有参数呢?

2023-05-19 17:42:01 88

原创 ConcurrentHashMap与HashMap的区别

HashTable的函数都是同步的,这意味着它是线程安全的,它的key、value都不可以为null。此外,HashTable中的映射不是有序的。容器中有多把锁,每一把锁锁一段数据,这样在多线程访问时不同段的数据时,就不会存在锁竞争了,这样便可以有效地提高并发效率。而HashMap不是线程安全,没有锁机制,在多线程环境下会导致数据覆盖之类的问题,所以在多线程中使用HashMap是会抛出异常的。HashMap是基于哈希表的Map接口的实现,此实现提供所有可选的映射操作,并允许使用null值和null键。

2023-05-11 17:03:57 1351

原创 Java HashMap computeIfAbsent() 方法

computeIfAbsent() 方法对 hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hashMap 中,如果已存在则不做修改computeIfAbsent() 方法的语法为:hashmap 是 HashMap 类的一个对象。

2023-05-11 16:48:51 317

原创 Kotlin中let、run、with、apply及also的差别

角色定位 /letlet函数是参数化类型 T 的扩展函数。在let块内可以通过 it 指代该对象。返回值为let块的最后一行或指定return表达式。在上面案例中,我们对Book对象使用let作用域函数,在函数块的最后一句添加了一行字符串代码,并且对Book对象进行打印,我们可以看到最后控制台输出的结果为字符串“This book is 《计算机网络》”。按照我们的编程思想,打印一个对象,输出必定是对象,但是使用let函数后,输出为最后一句字符串。这是由于let函数的特性导致。

2023-04-26 10:07:48 166

原创 安卓rotation旋转动画模仿QQ音乐相册转动

效果:前言:刚开始在想用自定义view还是动画,动画其实还是首选的,因为毕竟安卓api已经做了相关处理了,比自定义应该会容易一些的,但是补间动画又没有暂停的效果,后来发现原来属性动画可以,最后就用了属性动画了,不了解动画的朋友推荐启舰的博客,写的非常的详细。1:找到暂停和开始两个按钮并设置点击事件TextView tv = (TextView) find

2017-04-09 12:48:40 1421

原创 如何用Gson解析复杂结构的json数据

前言:本来用原生的解析的好好的,突然有天就发神经觉得自己是一个讲究的人了,想试试别的控件,我知道还有什么fastjson等jar包可以用,因为我抱着学习的态度就没有考虑哪个效果更好,打算学习一下gjson,工作中基本都是相对来说比较复杂的类型的json数据,但是百度一下竟然没有搜到合适的,就自己试了一下,竟然成功了,记录一下吧。json数据:{ "reason": "success

2016-11-17 23:25:35 487 2

原创 ExpandableListView详解

前言:在csdn学习也有段时间了,最感谢的就是启舰了,跟他学到很多东西,最喜欢他的那句话:“青春本来就是迷茫的样子,但是不要让未来的你讨厌现在的自己”。最近看书看到ExpandableListView,以前听说过,但是没怎么用过,想着既然不熟悉就练练吧,略有小成就想到为什么不分享一下呢?虽然不是什么难点,但是万一能帮到别人呢?也是一种快乐。效果图:一:主页面布局:<Relati

2016-10-10 00:57:52 406

原创 怎么使用mob实现分享功能

1:注册mob账号,到后台点击APP——添加应用——随意写app的名字即可(汉子,英文,数字),得到appkey;2:mob文档中心——快速集成——根据分享需要自定义sdk下载;3:打开刚刚下载好的ShareSDK for Android——QuickIntegrater.jar——填入工程的包名和类名;4:这个时候就关键了,如果看官方文档的话很容易漏过去,因为文字介绍里面没有,在视频

2015-04-09 09:46:34 1494

双击可给android设备截屏

adb root adb push screencap /data/data/ adb shell chmod a+x /data/data/screencap adb shell /data/data/screencap -p /data/pic.png adb pull /data/pic.png

2024-03-07

dex2jar&jd-gui

dex2jar跟jd-gui都是反编译过程中不可或缺的部分,dex2jar用于生成class-dex2jar.jar,jd_gui用于解析jar包。

2020-11-02

apktool_2.4.1

apktool主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建apk。

2020-11-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除