小编Kak*_*shi的帖子

检查Kotlin中的Internet连接android

我试图回答这个(接受的答案)。我可以使用“ PING”方法,但是UI变黑了,因为它说它将阻塞UI线程。它看起来并不好并且令人不安,所以我尝试使用第二种方法“连接到Internet上的套接字”,但是我不知道如何在Kotlin中使用该类。

这是android studio将Java转换为kotlin的结果

package com.mockie.daikokuten.helpers

import android.os.AsyncTask.execute
import android.os.AsyncTask
import java.io.IOException
import java.net.InetSocketAddress
import java.net.Socket


internal class InternetCheck(private val mConsumer: Consumer) : AsyncTask<Void, Void, Boolean>() {
interface Consumer {
    fun accept(internet: Boolean?)
}

init {
    execute()
}

override fun doInBackground(vararg voids: Void): Boolean? {
    try {
        val sock = Socket()
        sock.connect(InetSocketAddress("8.8.8.8", 53), 1500)
        sock.close()
        return true
    } catch (e: IOException) {
        return false
    }

}

override fun onPostExecute(internet: Boolean?) {
    mConsumer.accept(internet)
}
}
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何使用它。我这样尝试:

InternetCheck{ …
Run Code Online (Sandbox Code Playgroud)

android kotlin

9
推荐指数
8
解决办法
1万
查看次数

Duck示例策略模式 - 头部设计模式

我想问一下这本书上的鸭子例子让我感到困惑,我感到矛盾.

  1. 问题 在此输入图像描述

  2. 结论 在此输入图像描述

他说" 当乔给鸭子超类增加了新的行为时,他还添加了对于sume Duck子类不合适的行为 "

但在结论中他补充说performFly(),有performQuack();什么不同,因为我觉得它一样he was also adding behavior that was not appropiate for sume Duck subclasses

**图片摘自头首设计图案**这个问题没有说明这本书不好,这本书在我看来真的很好.这只是我在问一些我从书中得不到的东西.

php java design-patterns

7
推荐指数
3
解决办法
7082
查看次数

在Android Studio中搭建android应用的开发和生产环境

我有两个关于这个问题的问题。

  1. 如果在 laravel/web 中我们有.env文件将环境设置为“开发”或生产并自动连接到不同的数据库。在 android/kotlin/android studio 怎么样?

  2. 以及如何在 PC 上向我的本地主机(127.0.2.1)发出我的应用程序请求(如果它在“开发”环境中)以及如何向真实的 url API 发出请求(如果它在“生产”环境中)。仅供参考,我不使用模拟器。我用我的手机来测试我的应用程序。

android kotlin android-studio android-gradle-plugin

3
推荐指数
1
解决办法
2910
查看次数

工作状态观察者始终处于排队状态

我试图观察我的workers但他们总是处于queued状态或有时它'sRUNNING但从来没有SUCCEEDFAILED

\n\n

workStatus.state来自 returndoWork()还是不同?

\n\n

这是我的工作脚本:

\n\n
package com.mockie.daikokuten.sync.workers\n\nimport androidx.work.Worker\n\n\nclass TestWorker:Worker()\n{\n\noverride fun doWork():Worker.Result\n{\n    return Worker.Result.SUCCESS\n}\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是观察工人的脚本:

\n\n
 val test = PeriodicWorkRequest.Builder(\n            TestWorker::class.java,\n            PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS,\n            TimeUnit.MILLISECONDS)\n            .addTag("test_worker")\n            .build()\n\n    WorkManager.getInstance()?.enqueueUniquePeriodicWork("test_worker", ExistingPeriodicWorkPolicy.KEEP, test)\n\n    WorkManager.getInstance()!!.getStatusesByTag("test_worker")\n            .observe(this, Observer { workStatus ->\n                if (workStatus != null)\n                {\n                    for(ws in workStatus)\n                    {\n                        Log.d(":dump2 id ", ws.id.toString())\n                        Log.d(":dump2 tag", ws.tags.toString())\n                        Log.d(":dump2 state", ws.state.toString())\n                    }\n                }\n            })\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是 Logcat 中的结果:

\n\n
 07-23 17:12:30.901 29740-29740/com.mockie.daikokuten …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-studio android-workmanager

3
推荐指数
1
解决办法
3649
查看次数

如何将[]设置为数据属性并使用javascript/jquery获取它?

例:

data-value="[0]"
Run Code Online (Sandbox Code Playgroud)

当我尝试获取值时jQuery(element).data('value'),它总是返回"0".我也试过toString()函数或String对象但是失败了,它一直返回"0".

那我怎么能得到真正的价值"[0]"?

javascript jquery

1
推荐指数
1
解决办法
236
查看次数