Tag: Java

测试两个目录树的相等性

我正在集成测试我的代码的一部分,在SVN下创建目录树。 这要求我测试一下目录结构和文件是否是我所期望的。 一方面,我有期望的目录树与我想要的文件,另一方面,从SVN文件svn export (喜欢svn export svn co避免.svn噪音)。 但是,有没有可以断言两个目录树的库? 我想到的最后一招是自己做一个迭代比较。 基本上我正在寻找一个API可以接受两个目录,并告诉我,如果他们是平等的或不。 东西在线上 boolean areDirectoriesEqual(File dir1, File dir2)

访问设置时Android安全性exception

我需要从我的应用程序中打开使用统计信息设置。 对于大多数手机,一切工作正常: startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)); 但是,有一些像华为Y6 Pro这样的手机引发安全exceptionjava.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{3f032f8b 18712:com.example.pro/u0a924} (pid=18712, uid=10924) not exported from uid 1000 有没有办法来检查我是否可以执行startActivity ,它不会抛出任何exception?

Android室错误:Dao类必须用@Dao标注

我正在使用我的Android应用程序的空间。 我现在试图设置我的数据库,但是有一个错误消息,说,Dao类必须注释@Dao。 但是正如你在编码片段中看到的那样,Dao类用@Dao标注。 有谁知道问题或我的错误可能是哪里? 这两个文件都不在同一个文件夹中(DAO位于服务文件夹中,而另一个类位于模型文件夹中) Device.java @Entity(tableName = “device”) public class Device { @PrimaryKey(autoGenerate = true) public int device_id; @ColumnInfo(name = “identifier”) public String identifier; @ColumnInfo(name = “language”) public int language; @ColumnInfo(name = “searchFilter”) public int searchFilter; public Device(String identifier, int language, int searchFilter){ this.identifier = identifier; this.language = language; this.searchFilter = searchFilter; } } […]

无法传递结果ResultInfo {who = null,request = 2,result = 0,data = null}相机

这里是相机代码 private void selectImage(){ final int Camera_CPTURE = 1; try { Intent capture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(capture,Camera_CPTURE); }catch (ActivityNotFoundException e) { String error =”opps ur devices doesn’t support capturing”; Toast toast = Toast.makeText(this,error,Toast.LENGTH_SHORT); toast.show(); } } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { picUri = data.getData(); performCrop(); } […]

Kotlin null来自Java

当我将Java代码从一个库转换为Kotlin时,我会看到Java代码中是否存在空值检查,并想知道如何最好地将其转换。 我仍然需要在Kotlin的空检查,因为我不能控制,如果Java将使对象为空? 比方说,我有一个CameraDevice可以从Java返回null 我应该如何定义这个 private lateinit var mCameraDevice: CameraDevice 然后不需要空检查或像这样.. private var mCameraDevice: CameraDevice? = null 然后保持空的检查 if (mCameraDevice != null) { // do something } Kotlin的可玩性让我感到困惑,因为我觉得我不应该处理null,并且应该使用选项1,但是基本上我使用的每个库都是Java,所以我必须处理空值,并且使用选项2

用Android检测一个长按

我目前正在使用 onTouchEvent(MotionEvent event){ } 检测用户何时按下我的glSurfaceView有没有办法来检测什么时候长按。 我猜如果我在开发文档中找不到太多,那么这将是某种方法的工作。 就像注册ACTION_DOWN和看ACTION_UP之前的时间一样。 如何检测使用opengl-es的长时间按下android?

智能播放和内部比较当“是”后的表情types检查

根据When Expression的文档,它可以代替“if-else if”,所以我试着实现一个函数来返回Anytypes的两个variables的最大值: fun maxOf(a: Any, b: Any) = when { a is Int && b is Int -> if (a if (a if (a if (a if (a null } 上面的实现工作,但我认为它可以更简洁: fun maxOf(a: Any, b: Any) = when { (a is Int || a is Double) && (b is Int || b is Double) […]

Kotlin中@JvmSynthetic的用途是什么?

我遇到了@JvmSynthetic -stdlib中的@JvmSynthetic注解,我想知道它是什么,但不幸的是,它是无证的。 据我所知,将它应用到一个程序元素将添加synthetic修饰符到相应的字节码元素。 因此,元素在Java中变得不可见: class MyClass { @JvmSynthetic fun f() { } } Java代码中的某处: MyClass c = new MyClass(); cf() // Error: cannot resolve method f() 但是在Kotlin代码中仍然可以看到相同的元素: val c = MyClass() cf() // OK 隐藏来自非Kotlin资源的声明是否有效使用@JvmSynthetic ? 这是预期的用途吗? 什么是其他适当的用例? 由于@JvmSynthetic隐藏了Java的函数,所以它们不能在Java中被覆盖(当涉及到一个abstract成员时,这些调用将导致AbstractMethodError )。 鉴于此,我可以使用@JvmSynthetic来禁止在Java源代码中覆盖Kotlin类的成员吗?

如何访问Java中的Kotlin伴侣对象?

我把我的一个Java类转换成Kotlin和类如下。 class MainApplication : Application() { companion object { operator fun get(context: Context): MainApplication { return context.applicationContext as MainApplication } } } 它有一个静态函数get 。 我仍然有一个Java函数访问它。 MainApplication application = MainApplication.get(mContext); MainApplication在Java中是很好的。 但是当MainApplication在Kotlin时,上面的代码错误 Error:(27, 54) error: cannot find symbol method get(Context) 我怎样才能访问我的Java代码上面?

私人获得者和Kotlin财产的公共二传手

如何在Kotlin拥有一个私人的吸气(或没有它),但有一个公共二传手? var status private get 不起作用的错误: Getter visibility must be the same as property visibility 在我的情况下,原因是Java互操作:我希望我的Java代码能够调用setStatus而不是getStatus 。