- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我想使用 Kotlin 为我的 Android Studio 项目实现一个简单的数据库处理程序类。当我对我的“kotlin 甚至是什么”开发伙伴翻白眼时,我几乎不知道这个时髦的选择会让我陷入漫长的诅咒。
我决定先复制粘贴 code Google suggests对于使用 SQLiteOpenHelper
类的 DB Helper。
很自然地,我开始遇到这个不合理的错误
3 种不同方法 中的每个右括号 }
包含看起来完全有效的语法。
当然,我花了一天多的时间检查每一个烦人的 Gradle 构建属性,这些属性似乎只是为了增加出现问题的可能性,就好像它是来自 hell 的完美设计的开发人员-Limbo 构建系统。但是每一次小小的检查都无济于事,因为我没有构建错误,而且“期待成员”错误不断出现。
但是我决定不退出,我什至尝试更改我的实现以使用对 Kotlin 更友好的 anko.db
路由,完整代码如下。
package com.example.john.myapplication
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import org.jetbrains.anko.db.*
class DBHandler(context: Context) : ManagedSQLiteOpenHelper(context, "POIEncounters", null, 1) {
override fun onCreate(db: SQLiteDatabase?) {
db?.createTable("Encounter", true, "id" to INTEGER + PRIMARY_KEY + UNIQUE, "Name" to TEXT)
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
db?.dropTable("Encounter", true)
}
override fun onDowngrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
onUpgrade(db, oldVersion, newVersion)
}
}
正如 Divine Order 在 Developer Limbo 中规定的那样,根本没有没有变化。每次我单击 Build
时,我都被语法检查器的卑鄙保证所愚弄,因为编译器拒绝了我的救赎。更令人惊奇的是。错误仍然存在即使我注释掉覆盖方法的整个主体。
在这一点上,我已经绝望到了万丈深渊的最低点:拒绝我的 self 并寻求帮助。
最佳答案
对于那些没有足够勇气见证这个过程的人,TLDR 在最后。
答案是我自己给出的,在这个无法 build 的 hell 维度中经历了 3 个无尽的纪元(see: days)之后,我在凌晨 3 点写下了唯一的一瓶 Glenfiddich 威士忌酒黑暗被我恶魔化的键盘敲击声所笼罩。
easy-to-miss spelling errors的常见嫌疑人| , invalid constructor usage当我陷入疯狂时,它被一遍又一遍地丢弃,现在可以肯定的是,即使有人复制我的确切代码,他们甚至可能不会得到这个错误。
我什至尝试过降级 Kotlin 本身,妄想它的编译器中的错误会导致所有这些持续不断的提示“期待声明”...
在最后一次疯狂的尝试中,我什至尝试将我的代码导入到 IDE 的另一个 hell 般的阴谋中,只是为了看看伪造的消息是否会跟着我到那里,在 Intellij IDEA...
经过一个小时的折磨来调整新项目的构建文件和其他导致小问题的可怕属性......他们做到了。
我正要放弃,当我在 Intellij 的语法检查器上发现这个奇怪的、不熟悉的标志时: Found byte-order-mark in the middle of a file <...>
儿子。的。 A. 长凳。
现在,在我的旅程中这个令人难以置信的痛苦部分,就像生活在“按您阅读的方式解析的代码”的幸福天堂般的许多其他开发人员一样,我有没有 fork 的想法什么是BOM。
然而,天体的 IDEA 甚至为我们提供了维基百科链接的禁忌、黑暗知识,我出于愚蠢的天真遵循了该链接,以看到宇宙中令人发狂、好奇的 fragment ,人类本不应该看到它......< br/>
什么 fork 。
我的手指颤抖着开始高潮。当我沉浸在最后的非理性希望的不真实的疯狂中时,我听到自己的咯咯笑声......
我删除了 3 个方法。以一种邪恶的、杀灭功能的狂热清除了他们,凝视着空荡荡的类(class),没有看不见的、令人作呕的感染。
Build. *click* Success.
我亲手重写了每一个方法,没有复制粘贴,也没有接触任何被魔鬼感染的卑鄙文字,同时聆听恶魔般的、超凡脱俗的“Dethklok Awaken”召唤.就是这样。有效。我自由了,升入极乐世界,一手拿着威士忌,眼泪滴落到下方的火焰中。
然而,空虚和失望。因为狡猾的阴影不是有形的敌人,而是一种短暂的力量,隐约出现在 self 中……
有了这个答案,我希望没有人会遇到我犯过的同样错误。至少不是毫无准备。
TLDR:有一个 BOM导致错误的字符。 Intellij 澄清了原因,而 Android Studio 没有。在没有复制粘贴任何内容的情况下,手动删除并重写了有问题的部分,并且成功了。
结语:我们每天都离 ASCII 的光芒越来越远。
关于android - 语法正确时 "expected member declaration"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53357784/
我最近在/ drawable中添加了一些.gifs,以便可以将它们与按钮一起使用。这个工作正常(没有错误)。现在,当我重建/运行我的应用程序时,出现以下错误: Error: Gradle: Execu
Android 中有返回内部存储数据路径的方法吗? 我有 2 部 Android 智能手机(Samsung s2 和 s7 edge),我在其中安装了一个应用程序。我想使用位于这条路径中的 sqlit
这个问题在这里已经有了答案: What's the difference between "?android:" and "@android:" in an android layout xml f
我只想知道 android 开发手机、android 普通手机和 android root 手机之间的实际区别。 我们不能从实体店或除 android marketplace 以外的其他地方购买开发手
自Gradle更新以来,我正在努力使这个项目达到标准。这是一个团队项目,它使用的是android-apt插件。我已经进行了必要的语法更改(编译->实现和apt->注释处理器),但是编译器仍在告诉我存在
我是android和kotlin的新手,所以请原谅要解决的一个非常简单的问题! 我已经使用导航体系结构组件创建了一个基本应用程序,使用了底部的导航栏和三个导航选项。每个导航选项都指向一个专用片段,该片
我目前正在使用 Facebook official SDK for Android . 我现在正在使用高级示例应用程序,但我不知道如何让它获取应用程序墙/流/状态而不是登录的用户。 这可能吗?在那种情
我在下载文件时遇到问题, 我可以在模拟器中下载文件,但无法在手机上使用。我已经定义了上网和写入 SD 卡的权限。 我在服务器上有一个 doc 文件,如果用户单击下载。它下载文件。这在模拟器中工作正常但
这个问题在这里已经有了答案: What is the difference between gravity and layout_gravity in Android? (22 个答案) 关闭 9
任何人都可以告诉我什么是 android 缓存和应用程序缓存,因为当我们谈论缓存清理应用程序时,它的作用是,缓存清理概念是清理应用程序缓存还是像内存管理一样主存储、RAM、缓存是不同的并且据我所知,缓
假设应用程序 Foo 和 Eggs 在同一台 Android 设备上。任一应用程序都可以获取设备上所有应用程序的列表。一个应用程序是否有可能知道另一个应用程序是否已经运行以及运行了多长时间? 最佳答案
我有点困惑,我只看到了从 android 到 pc 或者从 android 到 pc 的例子。我需要制作一个从两部手机 (android) 连接的 android 应用程序进行视频聊天。我在想,我知道
用于使用 Android 以编程方式锁定屏幕。我从 Stackoverflow 之前关于此的问题中得到了一些好主意,并且我做得很好,但是当我运行该代码时,没有异常和错误。而且,屏幕没有锁定。请在这段代
文档说: android:layout_alignParentStart If true, makes the start edge of this view match the start edge
我不知道这两个属性和高度之间的区别。 以一个TextView为例,如果我将它的layout_width设置为wrap_content,并将它的width设置为50 dip,会发生什么情况? 最佳答案
这两个属性有什么关系?如果我有 android:noHistory="true",那么有 android:finishOnTaskLaunch="true" 有什么意义吗? 最佳答案 假设您的应用中有
我是新手,正在尝试理解以下 XML 代码: 查看 developer.android.com 上的文档,它说“starStyle”是 R.attr 中的常量, public static final
在下面的代码中,为什么当我设置时单选按钮的外观会发生变化 android:layout_width="fill_parent" 和 android:width="fill_parent" 我说的是
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
假设我有一个函数 fun myFunction(name:String, email:String){},当我调用这个函数时 myFunction('Ali', 'ali@test.com ') 如何
我是一名优秀的程序员,十分优秀!