有人可以解释如何在Android Studio项目中发布应用程序级别的kotlin函数吗?我有一个Android应用程序,尝试这样做:
var date: Date = Date()
/////////////////////////////////////////////////////////
// this block must be app-level fun
val format = “dd.MM.yyyy”
val simpleDateFormat = SimpleDateFormat(format)
var formattedDate = simpleDateFormat.format(date)
/////////////////////////////////////////////////////////
将Date对象转换为具有自定义格式的String。我在项目中做了很多次(在不同的活动和片段中),所以我认为最好将此代码作为函数(或类,如果会更有效)发布。因此,我将日期和格式作为输入参数,将formattedDate作为输出。设置默认格式值
答案 0 :(得分:1)
您可以在from tkinter import ttk
import tkinter
root = tkinter.Tk()
ttk.Style().configure("TButton", padding=6, relief="flat",
background="#ccc")
btn = ttk.Button(text="Sample")
btn.pack()
root.mainloop()
#Output:
上创建扩展函数,该扩展函数接受一种格式并将其用于将日期转换为该格式。您也可以在输入参数上定义默认格式。像这样:
Date
将其放置在整个应用程序都可以访问的文件中(例如,在模块/程序包中名为Extensions.kt的文件中放置所有可重复使用的代码和/或帮助程序代码),然后仅使用{{1 }}。
答案 1 :(得分:0)
这是我的函数的示例,该函数包含在名为Time.kt的单独kotlin文件中。
fun timeConverter(string: String?, i: Int): String {
val isoFormat = "yyyy-MM-dd'T'HH:mm:ss"
var expectedFormat = "dd/MM"
when(i){
0 -> expectedFormat = "dd/MM"
1 -> expectedFormat = "EEE"
2 -> expectedFormat = "HH:mm"
3 -> expectedFormat = "EEE, dd/MM"
}
val dateFormat = SimpleDateFormat(isoFormat, Locale.getDefault())
val date = dateFormat.parse(string)
return SimpleDateFormat(expectedFormat).format(date)
}
答案 2 :(得分:0)
使功能成为对象的一部分。
https://www.baeldung.com/kotlin-objects
Kotlin中的对象(不是类)是静态的。如果从使用函数的位置导入对象,则可以在任何地方使用它而无需实例化。
答案 3 :(得分:0)
您可以拥有一个DateUtil class
,其格式为function
为companion
。您无需实例化就可以在应用程序中的任何地方使用它。
class DateUtil{
companion object {
fun format(date: Date):String{
val format = "dd.MM.yyyy"
val simpleDateFormat = SimpleDateFormat(format)
return simpleDateFormat.format(date)
}
}
}
然后您将其命名为:DateUtil.format(Date())