如何在values / ids.xml中获得自定义ID的引用

我在回收视图适配器中使用anko来创建视图的视图。 我已经做到了这一点,但不知道如何使用kotlin综合视图id(我想得到它没有findViewById) 值/ ids.xml 我的Anko getView代码: private fun getView(context: Context): View{ return with(context){ linearLayout { lparams(width = matchParent, height = wrapContent) padding = dip(10) orientation = android.widget.LinearLayout.HORIZONTAL //Task Number textView { id = R.id.txv1 text = “TextView 22” textSize = 16f typeface = Typeface.MONOSPACE padding =dip(5) }.lparams(){ weight = 1f } //Task Name textView { […]

与Android上的加密相比,解密要慢得多

我在Kotlin使用“CBC”模式和“PKCS5Padding”填充实现了“AES”加密和解密。 我注意到,虽然解密cipherInputStream.read(buffer)只读取512个字节,而不是8192字节的完整缓冲区大小。 这是为什么? 加密时使用整个缓冲区。 这些是我正在使用的常量, private val TRANSFORMATION = “AES/CBC/PKCS5Padding” private var SECRET_KEY_FAC_ALGORITHM = “PBKDF2WithHmacSHA1” private val SECRET_KEY_SPEC_ALGORITHM = “AES” private val cipher = Cipher.getInstance(TRANSFORMATION) private val random = SecureRandom() private val KEY_BITS_LENGTH = 256 private val IV_BYTES_LENGTH = cipher.blockSize private val SALT_BYTES_LENGTH = KEY_BITS_LENGTH / 8 private val ITERATIONS = 10000 解密代码 cis = […]

如何解决KaptError:Android Studio 3.0中的注释处理时出错?

嗨,大家好,我有一些问题在kotlin中通过dagger2-android实现dependency injection,解决所有这些问题后,我遇到了构建应用程序的这个错误。 我正在使用Android Studio 3.0,并且在使用匕首之前项目运行良好,您觉得我可以解决这个问题吗? 或者我怎么能得到关于错误的更多信息? 因为只有“错误:screenSize”对我来说并不意味着很多。 以防万一这是AndroidManifest 这是我得到的错误 我做了一些改变,现在看起来很清楚,真正的错误是“错误:注释处理时出现org.jetbrains.kotlin.kapt3.diagnostic.KaptError:Error” 这里是我的build.gradle的样子 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-kapt’ apply plugin: ‘kotlin-android-extensions’ android { compileSdkVersion 27 defaultConfig { applicationId “com.sneyder.rememberconcepts” minSdkVersion 14 targetSdkVersion 27 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” vectorDrawables.useSupportLibrary = true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } […]

如何保持伴随对象Kotlin中的单例类对象的引用

我想要转换的代码如下: public class AndroidLauncher extends AndroidApplication { public static AndroidLauncher androidLauncher; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); androidLauncher = this; } } android studio生成的代码是什么; class AndroidLauncher : AndroidApplication() { protected override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) androidLauncher = this } companion object { var androidLauncher: AndroidLauncher } } 这段代码给了我错误,这是; 财产必须被初始化或是抽象的 我正在开发一个libgdx游戏,所以我会使用这种方法从任何地方使用Game对象。 这是一个单独的类,所以它不会泄漏任何内存。

如何从Firebase中的表中同步获取所有行?

考虑下面的代码片段: public ArrayList getList(GenericModel model) { ValueEventListener postListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { ArrayList genericModels = new ArrayList(); for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { GenericModel genericModel = postSnapshot.getValue(model.getClass()); genericModels.add(genericModel); } Collections.sort(genericModels, (o1, o2) -> o1.getDate().compareTo(o2.getDate())); return genericModels; } @Override public void onCancelled(DatabaseError databaseError) { return null; } }; mDatabase.child(model.getTableName()).child(mUser.getUid()).addListenerForSingleValueEvent(postListener); } […]

Android体系结构组件:ViewModel在配置更改时返回null

我正在使用pixabay api在kotlin上开发一个图库应用程序,实现Android Architecture组件和改进以与服务器进行交互。 该应用程序工作正常,但是当我改变配置视图模型返回null! 问题是什么 ? interface PhotoApi { @GET(context.getString(R.string.api_key)) fun getPhotos(): Call } 改造设置 object PhotoRetriever { val BASE_URL = “https://pixabay.com/api/” val service: PhotoApi init { val retrofit = Retrofit.Builder().baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()).build() service = retrofit.create(PhotoApi::class.java) } } class MainActivity : AppCompatActivity() { //var photoList: List? = null lateinit var viewModel: MainActivityViewModel override fun onCreate(savedInstanceState: Bundle?) […]

我怎样才能从可观察到的价值

我在我的Kotlin项目中有这个function。 我正在使用ReactiveNetwork – Android库监听网络连接状态以及与RxJava Observables的Internet连接。 我是新来的反应式编程,现在我需要重构这个方法在很多地方使用这个。 我怎样才能重构此方法只是返回互联网连接状态(isConnected)? private fun downloadProductIfConnected(arguments: Bundle){ ReactiveNetwork.checkInternetConnectivity().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe{ isConnected -> if (isConnected){ downloadAndOpenProduct(arguments) }else{ displayConnectionErrorDialog(arguments) } } }

错误:执行任务’:app:compileDebugKotlin’失败。 >编译错误。 查看日志了解更多详情

Error:Execution failed for task ‘:app:compileDebugKotlin’. > Compilation error. See log for more details 建立:gradle这个(模块:APP) buildscript { repositories { maven { url ‘https://jitpack.io’ url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.+’ } } apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘io.fabric’ apply plugin: ‘kotlin-android-extensions’ repositories { maven { url ‘https://maven.fabric.io/public’ } mavenCentral() } android { […]

初始化有getter和setter的字段?

我在Kotlin创建了一个有示例字段的类 class SomeClass { var smth: String = “Initial value” get() = “Here it is” set(value) { field = “it is $value” } } 当我创建一个类的对象并调用smth字段时,它将会调用get()属性。 val myValue = SomeClass().smth// myValue = “Here it is” 所以,问题是:为什么我们必须初始化一个有getter的字段? var smth: String // Why this gives error? get() = “Here it is” set(value) { field = “it is $value” […]

为什么Typescript Map不能像可索引types那样自动索引(&property-accessable)?

所以,在打字稿下面的代码作品: interface CounterArray { [index: string]: number; } let myArray: CounterArray = {}; myArray[“001”] = 0 myArray[“002”] = 0 console.log(myArray[0]) // should result 0 得到它了。 都好! 但是,如果我做类似的地图。 const map = new Map map.set(“001”,0) map.set(“002”,0) console.log(map[0]) // Syntax error: Element implicitly has an ‘any’ type because type ‘Map’ has no index signature. 那么我对此非常困惑,因为来自Java / Kotlin / […]