当前位置: 首页 > 知识库问答 >
问题:

为什么Android Studio使用Java类而不是静态编程语言

曹华荣
2023-03-14

我是科特林的新手。因此,我在Android Studio中创建了一个kotlin项目,并导入了片段ktx和活动ktx依赖项。在片段中,我右键单击片段,然后转到-

这是我的应用程序。梯度锉

android {
    compileSdkVersion 31
    defaultConfig {
        applicationId "com.xxxxxxx.xxxxxxxxxx"
        minSdk 23
        targetSdk 31
        versionCode 117
        versionName "3.2.11"
        vectorDrawables.generatedDensities = []
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding true
    }
}

dependencies {
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
    implementation platform('com.google.firebase:firebase-bom:29.0.3')
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-messaging-ktx'
    implementation "androidx.core:core-ktx:1.7.0"
    implementation "androidx.activity:activity-ktx:1.4.0"
    implementation "androidx.fragment:fragment-ktx:1.4.0"
    implementation "androidx.collection:collection-ktx:1.2.0"
    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
    implementation "androidx.preference:preference-ktx:1.1.1"
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha04"
    implementation 'androidx.work:work-runtime-ktx:2.7.1'
    implementation 'com.android.billingclient:billing:4.0.0'
    implementation 'com.android.volley:volley:1.2.1'
    implementation 'com.google.android.gms:play-services-ads:20.5.0'
    implementation 'com.google.android.play:core-ktx:1.8.1'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
    implementation 'com.github.lzyzsd:circleprogress:1.2.1'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
    implementation 'com.nabinbhandari.android:permissions:3.8'
    implementation 'com.nex3z:toggle-button-group:1.2.3'
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
    implementation "io.github.iamthevoid.batteryview:batteryview:0.6.1"
}

共有1个答案

壤驷承
2023-03-14

没什么好惊讶的。整个本机SDK和大多数jetpack库都是纯java的。

fragment-ktx只是在继承androidx的基础上,为fragment-manager和viewmodels提供了一系列扩展。片段包。

 类似资料:
  • 问题内容: 对于有关辅助程序/实用程序类的这些简单问题,我从未找到好的答案: 为什么我要创建一个单例(无状态)而不使用静态方法? 如果对象没有状态,为什么需要一个对象实例? 问题答案: 通常,单例用于向应用程序引入某种 全局状态 。(说实话,通常不是很必要,但这是另一个话题。) 但是,在一些极端情况下,甚至 无状态 单例也可能有用: 您希望在可预见的将来用状态扩展它。 由于某些特定的 技术 原因,

  • 我在我的一个项目中使用RxJava,我使用Android Studio插件将我的一个类转换为静态编程语言,并在maplambda(java中的Func1)之一中,中间体返回如下所示。 我不知道这意味着什么。

  • 我知道在Java中,静态方法和实例方法一样是继承的,不同的是,当它们被重新声明时,父实现是隐藏的,而不是重写的。好吧,这有道理。但是,Java教程指出 接口中的静态方法从不继承。 然而,

  • 它与扩展函数有什么关系?为什么带有的是函数,而不是关键字? 这个主题似乎没有明确的留档,只有关于扩展的知识假设。

  • 正如标题所说,我正在尝试将Java和Kotlin混合在一个项目中。这里有一个很好的例子。混合java kotlin hello world。除了kotlin在src/main/Java/somepackage/SomeClass中找不到我的任何Java类之外,所有的东西都正常工作。Java语言 这是什么原因? 我的身材。gradle看起来像这样 而不是开始尝试在更大的项目上实现这一点。我试图通过创

  • 问题内容: 在Java中,外部类可以是public,final,default或abstract。为什么不像静态 问题答案: 外部类已经是隐式静态的。 非静态嵌套类(=内部类)意味着内部类隐式对其父类具有引用。 这就是为什么对于嵌套类,您可以区分静态和非静态。对于外部类来说,这是没有意义的。 这是一个了解静态/非静态嵌套类之间的区别的示例。您应该了解为什么在外部类中它没有意义。