我如何利用应用程序类来存储可在活动之间共享的非持久数据?以下应用程序具有类型为TicketClass的数组。我希望能够在任何活动中访问并附加到此数组。我似乎找不到任何信息。请指导我,谢谢。
import android.app.Application
import java.text.SimpleDateFormat
class TicketApplication: Application() {
var moviesArray:ArrayList<TicketClass>? = null
var sdf:SimpleDateFormat? = null
init {
}
fun getDateFormat():SimpleDateFormat?{
return sdf
}
fun addTicket(ticket:TicketClass){
ticketArray?.add(ticket)
}
fun getArray():ArrayList<TicketClass>?{
return ticketArray
}
}
答案 0 :(得分:0)
您可以使用伴侣对象,就像Java中的static对象一样。您可以在TicketApplication中执行以下操作:
companion object {
@JvmStatic fun addTicket(ticket:TicketClass){
ticketArray?.add(ticket)
}
@JvmStatic fun getArray():ArrayList<TicketClass>?{
return ticketArray
}
var ticketArray:ArrayList<TicketClass>? = null
}
init {
ticketArray = ArrayList<TicketClass>()
}
并按以下方式访问它:
TicketApplication.getArray()