小编Hug*_*sos的帖子

在Kotlin中使用"m"前缀作为变量

好吧,使用变量名称的"m"前缀在编程中变得很常见,主要是在Android中,但是自从Kotlin到来之后,这个小问题让我感到困扰.在父类中没有什么新东西,但是从另一个类设置和获取变量似乎不太舒服,因为在Java中我们创建(和命名)我们的setter和getter,所以我们可以省略"m",什么不发生在Kotlin,除非我们走向惯例的反面并重复Java的技术.

Java的:

public class Foo {
    private String mName;

    public void setName(String name) {
        mName = name;
    }

    public String getName() {
        return mName;
    }
}

public class Main {
    public static void main(String[] args) {
        Foo foo = new Foo();
        foo.setName("Foo");
    }
}
Run Code Online (Sandbox Code Playgroud)

科特林:

data class Foo(val mName: String)

fun main(args: Array<String>) {
    val foo = Foo()
    foo.mName = "Foo"  // "m" prefix doesn't fit
}
Run Code Online (Sandbox Code Playgroud)

你是怎么在这种情况下表现的?是否有新的公约要遵循?

java android coding-style kotlin

12
推荐指数
3
解决办法
2701
查看次数

如何在 Flutter 中存根目标平台

假设我有一个根据平台表现不同的小部件:

  • 如果平台是 Android,它会显示一个RaisedButton.
  • 如果平台是 iOS,它会显示一个CupertinoButton.

例子:

@override
Widget build(BuildContext context) {
  if (Platform.isAndroid) 
    return buildRaisedButton();
  else if (Platform.isIOS)
    return buildCupertinoButton();
  else 
    throw UnsupportedError('Only Android and iOS are supported.');
}
Run Code Online (Sandbox Code Playgroud)

在我的小部件测试中,我希望能够测试这两种情况,但是由于Platform的 getter 是静态的,我不能存根它们。

关于如何实现这一目标的任何想法?

dart flutter flutter-test

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

如何在 Google Cloud SQL 和 Flutter 之间传输数据?

关于连接外部应用程序的Cloud SQL 文档对我帮助不大。是不是有一些库来处理数据流量,比如 Firebase 的 Cloud Firestore 和实时数据库产品?

dart google-cloud-sql flutter

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

如果响应不成功,Pub/Sub 是否会立即重新发送消息?

我有一个订阅了 Pub/Sub 主题的云函数。

根据docs,如果 Cloud Function 返回非成功响应,它将重新发送消息:

端点通过返回 HTTP 成功状态代码来确认消息。不成功的响应表示应该重新发送消息。

我的问题是:如果响应不成功,消息将被立即重新发送还是 Pub/Sub 将遵守确认截止日期重新发送消息?

更新:

我认为这个问题没有意义,我将解释原因。

由于您无法访问ResponsePub/Sub 函数中的对象,因此无法直接发送响应代码(我对此不确定,所以如果我错了,请纠正我)。

因此,非成功响应只能由以下原因引起:

  1. 超时,这是基于确认截止日期,因此在这种情况下,确认截止日期显然将受到尊重。

  2. Cloud Function 中的一个错误,正如Andrei Cusnir所说,默认情况下 Pub/Sub 甚至不会重试,所以关心确认截止日期是没有意义的。

google-cloud-pubsub google-cloud-functions

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

如何在Kotlin的匿名类中获取父类

我在Kotlin的匿名类内部创建Intent时遇到麻烦。我想在kotlin中重现以下代码:

ModuleDAO.INSTANCE.refresh(new AnswerListener() {
    @Override
    public void onAnswerRetrieved() {
        final Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class);
        startActivity(intent);
        finish();
    }

    @Override
    public void onError(int error) {
        // doesn't matter
    }
});
Run Code Online (Sandbox Code Playgroud)

我试过但不起作用的方法:

ModuleDAO.refresh(object : AnswerListener {
    override fun onAnswerRetrieved() {
        val intent = Intent(SplashScreenActivity::act, MainActivity::class.java)
        startActivity(intent)
    }

    override fun onError(error: Int) {
        // doesn't matter
    }
})
Run Code Online (Sandbox Code Playgroud)

java android android-intent kotlin

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