Tag: android

Android WebView不会加载特定的URL

我正在做一个小型的摄像头查看器应用程序,我遇到了一个下面的问题:一些URL加载完全罚款,一个特定的types不加载和Logcat我不明白为什么… 我在Kotlin编写这个应用程序,所以wv_main只是一个WebView的综合链接,它位于activity_web_view.xml中的 FrameLayout内部。 以下是我的onCreate的代码: super.onCreate(savedInstanceState) setContentView(R.layout.activity_web_view) val wv = wv_main wv.settings.javaScriptEnabled = true wv.settings.domStorageEnabled = true if (Build.VERSION.SDK_INT >= 21) wv.settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW wv.webChromeClient = WebChromeClient() wv.webViewClient = WebViewClient() wv.loadUrl(intent.getStringExtra(“link”)) 例如,如果我通过以下URL传递给此活动: https : //api.lookr.com/embed/player/1485691420/day然后,它将被完美解释并正确打开。 但是,如果我通过,例如,这样的事情: https : //api.lookr.com/embed/player/1485691420/live然后,我不喜欢关闭一个应用程序的错误,而是看起来像WebView的东西内部错误: Rejecting re-init on previously-failed class java.lang.Class:java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail; 12-27 18:52:08.012 10385-10385/com.example.elber.webcams I/art: at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, […]

如果在首选项中设置,请告诉Glide不要加载图像

我有几个RecyclerView在我的应用程序中,他们都有一个ImageView项目,进一步填充Glide ,如下所示: Glide.with(context) .load(imageUrl) .asBitmap() .error(R.drawable.placeholder_avatar) .centerCrop() .into(mAvatarImageView); 在我的首选项屏幕中,用户可以禁用加载所有远程图像以节省带宽。 告诉Glide不要加载图像,而不使用所有RecyclerView适配器中的经典if-else条件,违反了DRY原则的最好方法是什么? 我正在寻找这样的方法: .shouldLoad(UserSettings.getInstance().isImageLoadingEnabled());

doReturn不作为代理,但调用我的方法

我正在实施一些unit testing在我的应用程序,我有一个依赖于依赖于Application上下文。 该依赖返回一个Item列表,但我想嘲笑该逻辑返回任何我想要的。 我已经知道的区别: a) when(foo.method1()).return(bar) b) doReturn(bar).when(foo).method1() (b)不应调用该方法。 现在我有一个在ItemHelper.kt调用的方法: fun retrieveItems(): MutableList { val boxStore = BoxStore.getInstance().getBoxFor(Item::class.java) return boxStore.all } 而.getInstance()依赖于Application 。 既然我想嘲笑它,这是我的考验: class ItemHelperTests { @JvmField @Rule var mockitoRule = MockitoJUnit.rule()!! @Mock private lateinit var itemHelper: ItemHelper @Test fun itemsNumber_Test() { Mockito.doReturn(ArrayList()).`when`(itemHelper).retrieveItems() System.out.println(“this line is unreachable”) } } 但是结束调用我的代码: java.lang.Exception: Please init BoxStore.boxStore […]

Android的测试在领域的kotlin

如何才能做一个简单的测试在Android的领域数据库在Kotlin实施测试? 我试图从github上的java realm test中将一个片段调整为kotlin,并得到下一个代码: import io.realm.Realm import io.realm.log.RealmLog import org.hamcrest.CoreMatchers import org.junit.Assert import org.junit.Test import org.junit.Before import org.junit.Rule import org.mockito.Mockito.`when` import org.powermock.api.mockito.PowerMockito import org.powermock.modules.junit4.rule.PowerMockRule class DBTest { @Rule var rule = PowerMockRule() lateinit internal var mockRealm: Realm @Before fun setup() { PowerMockito.mockStatic(RealmLog::class.java) PowerMockito.mockStatic(Realm::class.java) val mockRealm = PowerMockito.mock(Realm::class.java) `when`(Realm.getDefaultInstance()).thenReturn(mockRealm) this.mockRealm = mockRealm } @Test fun shouldBeAbleToGetDefaultInstance() […]

Android室数据库错误:未使用的参数:在@Query函数中的天数

我正在使用Room数据库,试图在我的Dao中写入一个查询,这将删除比特定天数更早的所有记录。 这是我来到: @Query(“DELETE FROM my_table WHERE dateFrom <= date('now','-:days day')") fun deleteAllOlderThan(days: Int) 但是,当我尝试构建我的项目时,在我的Gradle控制台中出现错误: 错误:未使用的参数:天 我正在使用Kotlin,所以它也告诉我这个: 错误:任务’:nexo:kaptDebugKotlin’的执行失败。 内部编译器错误。 查看日志了解更多详情 我的查询有什么问题? UPDATE 我也收到有关转换日期的错误。 这是我的转换器: class Converter { @TypeConverter fun fromTimestamp(value: Long?) = value?.let { Date(it) } @TypeConverter fun dateToTimestamp(date: Date?) = date?.time } 我也将其添加到我的数据库与注释: @TypeConverters(Converter::class) 这是我得到的具体错误: 无法弄清楚如何将这个字段保存到数据库中。 你可以考虑为它添加一个types转换器。 e:e:private final java.util.Date dateFrom = null; 概要 我试图使用密封类的转换器在房间里,它会导致问题,所以我决定保持我的日期参数为长。 […]

科特林多点击按钮上的听众

所以对于kotlin来说,我想知道如何将多个点击事件添加到在xml中定义的按钮,就像以前在Java中一样,我们实现了View.onClickListener接口,并在onClick方法中完成其余的工作。 例如: @Override public void onClick(View v) { switch (v.getId()) { case R.id.oneButton: // do your code break; case R.id.twoButton: // do your code break; case R.id.threeButton: // do your code break; default: break; } } 我正在用新的Kotlin制作一个基本的计算器应用程序,但似乎Kotlin没有这样的规定,而是我的代码看起来太长而冗长,因为我将事件附加到所有按钮单独。 有人能告诉我如何在科特林做同样的方式吗? 谢谢

Android:从操作栏的自定义布局中删除左边距

我正在使用自定义的操作栏视图,正如您在下面的屏幕截图中所看到的,操作栏中有一个空白的空白区域。 我想删除它。 我做了什么: RES /值-V11 / styles.xml @style/ActionBarStyle @style/ActionBarStyle RES /值/ my_custom_actionbar.xml 60dp 表现 主要活动 public void onCreate(Bundle bundle) { super.onCreate(bundle); ActionBar actionbar = getSupportActionBar(); actionbar.setDefaultDisplayHomeAsUpEnabled(false); actionbar.setDisplayHomeAsUpEnabled(false); actionbar.setDisplayShowCustomEnabled(true); actionbar.setDisplayShowHomeEnabled(false); actionbar.setDisplayShowTitleEnabled(false); actionbar.setDisplayUseLogoEnabled(false); actionbar.setHomeButtonEnabled(false); // Add the custom layout View view = LayoutInflater.from(this).inflate(R.layout.actionbar, null, false); actionbar.setCustomView(view); } 我发现最近的一篇文章,指出最新版本存在一个问题。 我也更新了ADT和SDK到Android 5。 Android ActionBar的自定义视图不填充父项 我不知道该怎么办。 编辑(部分解决方案): 不适用于Android <= API […]

Android没有Java

在做了整个“企业”编程之后,我对语言本身非常失望,如果不得不回头去总是觉得很麻烦。 平均Android应用程序的项目大小不是太吓人,图书馆的编码风格实际上相当不错,但是如果我能避免Java,我肯定会这样做。 所以这就是问题:我能避免吗? 虽然在桌面和服务器上有很多JVM语言可供选择,但Dalvik VM和设备本身也有一些限制。 在2.2版本中,这似乎更好一些,但将自己限制在最前沿将是一个相当苛刻的决定。 我所知道的唯一选择似乎是Scala。 有一些可能性我错过了吗? Clojure似乎正好运行在我上面用Dalvik说明的问题上,但是由于AppInventor是建立在Kawa上的,所以在移动平台上Lisp可能有希望。 还有哪些其他的语言已经可以使用或者朝着这个方向迈进了呢

Android Studio 3.1 Canary 3上的Gradle同步错误

嘿同胞更新后的Android Studio 3.1 Canary 3我刚刚创建了新项目,但由于gradle同步失败: 错误:com.android.tools.idea.gradle.project.model.AndroidModuleModel.getMainArtifact()LCOM /安卓/工具/主意/ gradle产出/项目/模型/ IDE /安卓/ IdeAndroidArtifact; com.android.tools.idea.gradle .project.model.AndroidModuleModel.getMainArtifact()LCOM /安卓/工具/主意/ gradle产出/项目/模型/ IDE /安卓/ IdeAndroidArtifact; 我的gradle文件是: > buildscript { > ext.kotlin_version = ‘1.2.0-rc-39’ > repositories { > google() > jcenter() > maven { url “https://dl.bintray.com/kotlin/kotlin-dev”} > } > dependencies { > classpath ‘com.android.tools.build:gradle:3.1.0-alpha03’ > classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” > classpath ‘com.google.gms:google-services:3.1.0’ > } } […]

命名条件if-value用于if块

为了限制双重代码实例的数量,我想在if语句中命名variables,就像在for循环中一样。 我的表情: var hours = if (this.substringBefore(“:”).toInt() != 0) {this.substringBefore(“:”) + “h” } {else “”} 我想要的东西是: var hours = if (MY_VAR = this.substringBefore(“:”).toInt() != 0) { MY_VAR + “h” } else { “” } 我主要是写在kotlin,但我很想find其他语言。