Android 询问如何在Kotlin中使用变量
我是编程新手,目前正在尝试学习如何使用Kotlin构建应用程序。我只是想问我是否应该在主活动类之外声明变量,然后在另一个活动中访问它。例如,在以下代码中:Android 询问如何在Kotlin中使用变量,android,kotlin,Android,Kotlin,我是编程新手,目前正在尝试学习如何使用Kotlin构建应用程序。我只是想问我是否应该在主活动类之外声明变量,然后在另一个活动中访问它。例如,在以下代码中: var post: ArrayList<Model> = ArrayList() class MainActivity : AppCompatActivity() { } var post:ArrayList=ArrayList() 类MainActivity:AppCompatActivity(){ }
var post: ArrayList<Model> = ArrayList()
class MainActivity : AppCompatActivity() {
}
var post:ArrayList=ArrayList()
类MainActivity:AppCompatActivity(){
}
我在main活动之外声明post-ArrayList,然后在第二个活动中,我可以访问它,而无需使用任何技术来传递和接收数据。我从未见过任何这样做的指示,我想知道为什么不应该这样做。
抱歉,如果我的问题很愚蠢。一般来说,避免将数据放在全局可访问的属性中是一种良好的设计实践,因为这会增加应用程序的总体复杂性。我不是说代码行数,因为这样做实际上是减少代码行数 问题是它增加了代码不同元素之间的耦合。例如,如果多个类正在访问该列表属性,其中任何类都可能更改列表的内容,甚至更改它指向的列表。这会使跟踪涉及该属性的bug变得指数级困难,因为它可以从许多不同的地方进行修改,而且出于同样的原因,它也会在一开始就指数级地更容易导致bug 随着应用程序的发展,修改代码或更改设计也变得更加困难。当代码中可能有许多地方访问同一个列表时,在对其工作方式进行更改时,必须记住所有这些地方 而且,创建独立测试应用程序小部分的单元测试也很困难。为了正确地进行单元测试,您必须从所有可能的来源模拟列表中可能发生的所有事情 第二个问题是,数据在内存中的时间可能比需要的时间长,这是浪费
处理注释:没有理由把它们放在一个伴随对象中会更好。无论哪种方式,它们仍然是全局可访问的。如果您想在活动之间发送数据,如果您想在片段之间发送数据,您可以使用intent和BUNDLE。我知道了,目前正在使用intent发送数据。我只是想问一下,如果我在类外设置变量,会不会对应用程序产生不良影响?最好在类内的
同伴对象中定义变量,正如Ramin所说,最好在同伴对象中定义变量,这意味着它们是静态的,当你想发送数据时可以访问它们