草庐IT

kotlin-logging

全部标签

android - Kotlin 启动应用程序崩溃

我的应用程序是用kotlin构建的,这是我的build.gradle文件:compile"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"和我工作区的build.gradle文件:ext.kotlin_version='1.1.3-2'ext.kotlin_plugin_version='1.1.1'dependencies{classpath"io.realm:realm-gradle-plugin:3.4.0"classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_

android - 具有 Room 持久性库的 Kotlin 委托(delegate)

我目前正在使用Kotlin开发一个新的Android应用程序。我尝试实现Room来存储数据,但我没有让它与Kotlin委托(delegate)一起工作。我创建了一个Identifier委托(delegate),以确保id在初始化后不会更改。委托(delegate)看起来像这样:classIdentifier:ReadWriteProperty{privatevarcurrentValue=-1LoverridefungetValue(thisRef:Any?,property:KProperty):Long{if(currentValue==-1L)throwIllegalStateE

android - Kotlin 中的通用类类型用法

我正在尝试编写一个通用的基础Activity,指定它是ViewModel类型的一个通用参数:abstractclassBaseActivity:AppCompatActivity()现在我正在尝试为我的ViewModel编写一个惰性初始化属性:valviewModelbylazy{ViewModelProviders.of(this,getFactory()).get(T)}显示的错误是TypeParameterTisnotanexpression也使用::class或::class.java没有帮助。谁能解释一下这个问题?编辑:我尝试使用像这样的具体化内联函数:inlinefunAp

android - lateinit 属性适配器尚未在 Kotlin4Android 中初始化

我在activity内的fragment中创建了RecyclerView,一切正常,但是当我执行notifyDataSetChanged()通过interface从activity到adapter,我得到一个错误“lateinitpropertyadapterhasnotbeen已初始化”,但我已经初始化了适配器classBuildingListFragment:Fragment(),MainActivity.EditInterface{lateinitvaradapter:BuildingListAdapterprivatevarmListener:OnFragmentInterac

android - 列出 BLE 设备 Android - Kotlin

我正在尝试使用Kotlin(Java版本也不起作用)列出Android设备上的所有BLE设备,但我没有收到任何设备或任何回电,除了“扫描”已经开始了”我在list中拥有正确的使用权限。这是我正在尝试的当前最少代码。但即使是来自Google的示例代码也列出了所有设备。我在运行Android版本8.1.0的Pixel上运行。我让它在iOS上运行,带有基本的BLE设备列表(Swift)!privatevalbleScanner=object:ScanCallback(){overridefunonScanResult(callbackType:Int,result:ScanResult?){

Android Studio Kotlin 正则表达式与预期不同

我在使用特定正则表达式时遇到问题,该正则表达式在AndroidStudio中运行时返回的值与预期不同。场景:代码很简单:valregex="(?这应该打印5,因为这个字符串(https://regex101.com/r/6PDbkI/1)中有5个匹配项,如果我们在Ideone.com上运行或在KotlinPlayground,结果是预期的5.但是在AndroidStudio中,结果是1:理论:AndroidStudio中的正则表达式似乎无法使用\G运算符(这可能与Kotlinsplitwithregexworknotasexpected有关)有人遇到过同样的问题吗?有什么方法可以将正则

android - 为什么我在 Google Play 控制台中收到 SMS 和 CALL_LOG 警告,而我的应用程序甚至没有使用任何接近这些权限的东西?

我的应用只是一个简单的日历闹钟应用,并使用以下权限:但是我收到这个警告:但正如您在上面看到的那样,我没有使用任何这些权限。另外,还有两个证明:我只使用默认的谷歌支持库,甚至在我解压时也是如此最终的apk文件,并手动检查list,没有其他许可还有当我在手机上安装应用程序并检查手机时=>应用程序=>权限,除了我列出的权限外,没有其他权限。这肯定是错误或其他原因,为什么我会收到此警告?我能做什么?我几天前填写了表格,但谷歌甚至没有回复我...编辑:更奇怪的是,显示警告完全是随机的。有一天我看到警告,然后我刷新页面,它就消失了。然后我一周都看不到它,然后今天突然又看到了。当我刷新页面时,它总是

android - Kotlin 在后台线程上运行阻塞

我正在将现有应用从Java转换为Kotlin。该应用创建了一个在后台线程中运行的IntentService,其任务是执行一些阻塞线程的操作(例如网络调用、数据库交互),并使用suspend函数重复且无限期地执行.由于“当前线程”实际上是一个后台线程,所以我不会阻塞UI。在当前线程上使用runBlocking来运行所有挂起函数是一个好习惯吗?或者有更好的方法? 最佳答案 这正是runBlocking的用法。runBlocking被添加到协程中,以在coroutines的用户和其他正在执行代码的地方之间架起一座桥梁。如果您希望线程被阻塞

android - android.util.Log 中的错误或功能? - Log.isLoggable(DEBUG) = false 但 Log.d() 未禁用

更新:重新制定问题和标题:我一直认为昂贵的androidLogging方法可以通过像这样询问日志记录是否处于Activity状态来优化importandroid.util.Log;if(Log.isLoggable("MyContext",Log.DEBUG)){Log.d("MyContext","mylogging:"+callExpensiveCalculation());}然而,当使用android2.2模拟器尝试这个时,我的Log.d()从未被调用。所以我尝试了这段代码Log.v(MY_CONTEXT,"VERBOSEloggingisactive:"+Log.isLogga

android - 无法在 Android Studio 'R' 中解析符号 :"manifest merger failed with multiple errors, see logs"

我是初学者,我使用AndroidStudio。一个问题一直困扰着我。使用R.XXX.XXX到处显示“无法解析符号‘R’”我试过:1.checkingmyxmlfiles,includingmanifest2.checkingSDKwhetherBuildToolsisinstalled3.cleanproject4.rebuildproject5.syncprojectwithGradlefiles6.everywayIcouldfindonInternet重建项目时消息显示“list合并失败,有多个错误,请查看日志”我在这里简单地粘贴了一部分我的Activity:publicclas