草庐IT

android-guava

全部标签

java - guava的ImmutableList并不是真的不可变

ImmutableList的documentationsays:Althoughthisclassisnotfinal,itcannotbesubclassedasithasnopublicorprotectedconstructors.我知道这有点牵强,但可以在com.google.common.collect包中创建ImmutableList的子类(因为它的构造函数是不是私有(private)的,而是包私有(private)的)这是可变的。从那时起,任何获得对ImmutableList引用的人都不能确定它确实是不可变的。这不会破坏ImmutableList的目的吗?

java - android graph-view y轴数字被切掉

当尝试在androidstudio中使用graph-view库创建折线图时,垂直线上的部分数字被切掉了。有人知道如何解决这个问题吗?finalGraphViewgraph=(GraphView)findViewById(R.id.graph);finalLineGraphSeriesgraphSeries=newLineGraphSeries(newDataPoint[]{});//thepointsareaddedprogressively` 最佳答案 我遇到了同样的问题。我目前找到的修复方法是在与图形关联的GridLabelRe

java - guava-libraries : Is Objects. hashCode(Object[]) 碰撞安全吗?

在查看覆盖hashCode()的不同选项时,我被定向到GoogleGuava库中的Objects.hashCode(Object[])(javadoc).javadoc声明它委托(delegate)给Arrays.hashCode(Object[])。在许多不同的对象类型中使用此方法是否安全?这是否容易发生哈希冲突,或者这不太可能仅仅是因为容器通常只包含一种类型的对象?作为一个简单的例子,考虑以下类,publicclassStudent{privatefinalStringname;publicStudent(Stringname){this.name=name;}@Overridep

java - Guava LoadingCache - 如何处理后备存储中不存在的键

我正在使用CacheBuilder和LoadingCache实现数据库数据的内存缓存。假设客户端在缓存中查询后备存储中不存在的项目。我想让客户端知道没有找到指定键的数据。处理此问题的最佳方法是什么?在缓存中存储特殊值,表示“无数据”。不在缓存中存储任何内容并引发异常。其他想法? 最佳答案 我总是通过以下方式解决这个问题。interfaceKeyValueService{Vget(Kkey);}classCachingKeyValueService{Cache>cache;Vget(Kkey){returncache.get(key)

java - 我可以使用 Guava 的 ComparisonChain 以特殊方式处理 null 字段吗?

我有一个包含多个字段的ComplexObject,我想这样说:如果两者都存在字段x,则继续比较链中的下一个compare。如果两者都为空,则继续进行比较链中的下一个compare。如果一个为空而另一个不为空,则将空值放在最后我不知道该怎么做,因为据我所知.compare(c1.getX(),c2.getX(),Ordering.arbitrary().nullsLast())将如果对象都存在且相等,则认为它们相等如果两个对象都为空,则认为它们是相等的。有没有一种方法可以使用Guava的ComparisonChain或Ordering类来实现我想要的?或者有没有更好的方法来考虑解决这个问

java - 让 Firebase 与 Java 一起工作,而不是 Android

我正在尝试启动并运行一个libgdx项目,我想为用户登录提供firebase。我发现SimleLogin类取决于Android.jar。有没有办法解决这个问题,因为我希望桌面java应用程序像android一样运行。这是导致问题的代码:SimpleLoginauthClient=newSimpleLogin(myRef);;authClient.createUser("myuser@gmail.com","muchwow",newSimpleLoginAuthenticatedHandler(){@Overridepublicvoidauthenticated(FirebaseSimp

java - 如何以相反的顺序对 guava Multimap 键进行排序?

我是GuavaAPI的新手,正在尝试以倒序或降序对MultiMap的键进行排序。我通过以下方式启动Map:ListMultimap>listMultimap=MultimapBuilder.treeKeys().arrayListValues().build();这对键进行升序排序。例如:Listmultimapiteration:key-->FriJan0100:00:00PST2016values-->[{test2=testval2},{test3=testval3}]Listmultimapiteration:key-->SunJan0100:00:00PST2017value

Android—Surface,ViewRootImpl.relayoutWindow

绘制UI会从ViewRootImpl会调用performTraversals方法开始,然后performLayout、performMeasure、performDraw。我们跟进performDraw->draw->drawSoftware/***@returntrueifdrawingwassuccessful,falseifanerroroccurred*/privatebooleandrawSoftware(Surfacesurface,AttachInfoattachInfo,intxoff,intyoff,booleanscalingRequired,Rectdirty,Rects

Android:【1】一文教你使用Camille+夜神模拟器实现安卓应用隐私合规辅助检测

碎碎念:不好意思最近课业上比较繁忙,一直忙于一些测试,没有按时来填坑。今天带来的是基于课程项目要求,需要完成的安卓应用行为检测Demo。因为环境的配置花费了一些时间,做一个简单的记录,方便后续进行优化。目录1工具的介绍和准备1.1Camille1.2夜神模拟器1.3Python1.4ADB1.5Frida2环境搭建2.1夜神模拟器的配置2.2ADB的配置2.3Frida的配置3测试与运行4推荐阅读1工具的介绍和准备首先介绍一下硬件环境,只需要一台Windows10的电脑即可,我的系统位数是64位。因为涉及到安卓开发,但是并不是所有人都有可以用来捣鼓的闲置备用机,因此我选择使用安卓模拟器来进行搭

Java 多线程与 Guava EventBus

我正在使用Guava事件总线。我有一个类似服务器的对象,它应该一直运行,监听要发布到bus的事件。所以在junit测试中(MyObject是被测类),我在自己的线程中创建它来模拟它并防止阻塞:@Testpublicvoidtest(){EventBuseventBus=newEventBus();Threadthread=newThread(){@Overridepublicvoidrun(){logger.debug("Creatingnewthread");MyObjectmyObject=newMyObject(eventBus);}};thread.start();...}一切