Tag: 安卓

Android – 按钮点击取消静音VideoView

实际上,我设置了一个简单的videoView,当活动开始的时候它会被静音(声音),然后声音可以通过按下按钮来激活。 我不想使用AudioManager,而是使用Media Player。 我没有find我做错了,但是。 寻求帮助。 我的代码实际上是在Kotlin,但我相信即使是一个Java解决方案将帮助我。 这是我的代码: import android.net.Uri import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.VideoView import android.util.DisplayMetrics import android.media.MediaPlayer.OnPreparedListener import android.widget.ImageButton import android.widget.TextView class AboutActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_about) supportActionBar?.setDisplayHomeAsUpEnabled(true) /*show back button*/ /*Display video*/ val video = findViewById(R.id.coverVideo) video.setVideoPath(Uri.parse(“android.resource://” + getPackageName() + “/” + R.raw.cover).toString()); video.start() /*Start video […]

Kotlin扩展未解决的参考

我表示要学习kotlin,并试图通过kotlin指南创建一个项目。 在其中一个指南中说,我可以使用View的ID而不是findViewById 。 我已经导入了kotlin-android-extensions插件,并将其添加到gradle文件中,但仍然无法通过仅使用id来获取对象的引用。 有人能帮我吗? 我正在使用Android Studio 2.3和Kotlin版本1.1.2-5。 这是我的代码: 主要的gradle文件 buildscript { ext.kotlin_version = “1.1.2-5” repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.2’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version” } } 应用程序gradle文件 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { compileSdkVersion 25 buildToolsVersion “25.0.0” defaultConfig { applicationId “.kotlintodoapp” minSdkVersion 15 targetSdkVersion 25 versionCode 1 […]

admob横幅使用太多的内存

我刚刚添加admob广告到我的应用程序“横幅广告”,我注意到它使用超过30MG我已经在堆栈溢出和其他网站搜索她的解决方案,我没有find任何有用的解决方案,我已经使用最后的SDK版本这里是广告库的版本 compile ‘com.google.android.gms:play-services-ads:11.8.0’ compile ‘com.google.firebase:firebase-ads:11.8.0’ 顺便说一下,我正在使用Kotlin。 这不是重复的,因为我已经看了这里的大部分问题和答案,没有人为我工作

Android Studio 2.2无法find所有kotlin文件的引用

更新到Android Studio 2.2后,我不断收到所有 kotlin文件中的“ Unresolved reference ”错误。 具体失败的gradle任务是:: :app:compileStagingDebugKotlinAfterJava (对于称为StagingDebug的变体) 我迄今为止发现的唯一解决方案是运行clean 。 但我不想每次都在我的代码中进行更改。 任何帮助?

ResourceNotFoundException在升级到Canary 6后,在API 16 AVD上运行Kotlin项目

Build:3.0 Canary 6,AI-171.4163606,201707072113, JetBrains sro,OS Mac OS X(x86_64)v10.12.4未知,屏幕1440×900,1920×1080,1080×1920; JRE 1.8.0_152-release-884-b01x64 JetBrains sro, 视网膜 tl; dr步骤重现: 使用Canary 6 Android Studio创建一个全新的Android项目,并在API级别16(以下信息)针对Nexus 4 AVD运行。 ResourceNotFoundException将被抛出(下面的堆栈跟踪)。 运行在API级别25的Nexus 5 AVD上可以成功运行并获得预期结果。 07-12 10:56:41.671 2865-2865/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bartonstanley.testforcanary6/com.bartonstanley.testforcanary6.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f060052 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at […]

Android – SharedPreferences – 上下文

我想在android中使用kotlin为我的SharedPreference创建一个辅助类。 不幸的是,我需要Context ,我不希望每次调用一个首选项时将其设置为参数。 如果我使用上下文的伴侣对象,并将其设置在应用程序启动,我得到以下错误: Do not place Android context classes in static fields; this is a memory leak (and also breaks Instant Run) Do not place Android context classes in static fields; this is a memory leak (and also breaks Instant Run) 那么如何获得上下文,而不是每次调用偏好时都通过它? var isWorking: Boolean get() = getBoolean(IS_WORKING) set(isWorking) = setPreference(IS_WORKING, isWorking) private fun […]

Kotlin的@Parcelize在writeToParcel()上抛出NPE

我有这个数据类的集合,都在同一个文件中: @Parcelize data class Response(val RecordView: RecordView):Parcelable @Parcelize data class RecordView(val Records: List):Parcelable @Parcelize data class Gid(val Value: String):Parcelable @Parcelize data class Features(val Fields: List, val FeatureName: String, val Title: String):Parcelable @Parcelize data class Fields(val Label: String, val Value: String, val FieldName: String, val Features: List):Parcelable @Parcelize data class Records(val Gid: Gid, val ImageIds: List, […]

无法分析:org.jetbrains.kotlin.kapt3.diagnostic.KaptError:批注处理时出错

我正在探索Android支持的Dagger生命周期在Kotlin中注入依赖,但他们总是无法生成匕首依赖代码。 错误信息如下: public abstract interface MainComponent { ^ java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing 这里是MainComponent.kt的附件 @Singleton @Component(modules = arrayOf(AndroidSupportInjectionModule::class,AndroidInjectionModule::class,AppModule::class, NetworkModule::class, ActivityBuilder::class)) open interface MainComponent{ @Component.Builder interface Builder { @BindsInstance fun application(application: Application): Builder fun build(): MainComponent } fun inject(app: ActifyApplication) } 我尝试了不同的解决方案,像kapt在应用程序级别gradle中启用true,但尚未修复。请给出一些见解为什么总是这种情况。 您的帮助将非常感激。提前感谢。

“对象”不是这个域的模式的一部分

当我调用realm.where(MessageEventModel::class.java).findAll() 它抛出excepiton:这是错误的 java.lang.IllegalArgumentException: MessageEventModel is not part of the schema for this Realm at io.realm.internal.modules.CompositeMediator.getMediator(CompositeMediator.java:172) at io.realm.internal.modules.CompositeMediator.getTableName(CompositeMediator.java:90) 这是我的应用程序类 class MyApp : Application() { override fun onCreate() { super.onCreate() Realm.init(this) val realmConfiguration = RealmConfiguration.Builder() .deleteRealmIfMigrationNeeded() .name(“my_db”) .build() Realm.setDefaultConfiguration(realmConfiguration) } } 这是我的领域模型 class MessageEventModel : RealmObject{ constructor() var message = “” constructor(message: String) : this(){ this.message = […]

在Android上使用Wi-Fi创建P2P连接:创建BroadcastReceiver类

我正尝试在Android上创建Wi-Fi P2P连接。 我指的是API https://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html,但我坚持创建BroadcastReceiver类。 它说:“现在创建一个新的BroadcastReceiver类,用来监听系统的Wi-Fi P2P状态的变化。在onReceive()方法中,添加一个条件来处理上面列出的每个P2P状态变化。 @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) { // Determine if Wifi P2P mode is enabled or not, alert // the Activity. int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1); if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) { activity.setIsWifiP2pEnabled(true); } else { activity.setIsWifiP2pEnabled(false); } } else if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) […]