如何开始使用KTX for android?
答案 0 :(得分:6)
Android KTX - 一组扩展程序,旨在使Android编写Kotlin代码更简洁,惯用且令人愉快。 Android KTX在Android框架和支持库之上提供了一个很好的API层,使您的Kotlin代码编写更加自然。
例如,
在Kotlin中解析String到URI(传统方式)
我们
val uri = Uri.parse(myUriString)
通过使用KTX,我们可以将上面的代码简化为
val uri = myUriString.toUri()
您可以参考此博客了解更多详情
https://android-developers.googleblog.com/2018/02/introducing-android-ktx-even-sweeter.html?m=1
由于锅炉板代码较少,我认为它会越来越受欢迎。
答案 1 :(得分:4)
Android KTX - 一组扩展程序,旨在使Android编写Kotlin代码更简洁,惯用且令人愉快。 Android KTX在Android框架和支持库之上提供了一个很好的API层,使您的Kotlin代码编写更加自然。
Android KTX中涵盖Android框架的部分现已在GitHub repo中提供。我们邀请您试一试,向我们提供您的反馈和贡献。涵盖Android支持库的Android KTX的其他部分将在即将发布的支持库版本中提供。 (Packages details)功能
观看Introducing Android KTX: Even Sweeter Kotlin Development for Android。
为何获得人气
作为开发人员,在不牺牲性能,稳定性或控制的情况下,能够编写更短且更易读的代码几乎总是可取的。虽然Kotlin的语法和语言功能使其非常适合Android,但它仍然不是专为Android设计的,因此有很多平台特定的模式需要大量的样板代码。为此,发布了一个名为Android KTX的新扩展库。
例如
值得注意的是,这仍然是一个预览版,谷歌的博客文章指出,API可能会在库离开预览状态之前发生变化。换句话说,小心在项目中使用它,因为它们可能会随着API的变化而中断。然而,如果您找到改进库或新扩展建议的方法,那么尝试并向团队提供反馈可能会很有趣。如果您想试用Android KTX,请查看官方博客文章,了解更多示例和设置说明。
答案 2 :(得分:2)
function sendNotification (data) {
if (data == undefined || !data) { return false }
var title = (data.title === undefined) ? 'Notification' : data.title
var clickCallback = data.clickCallback
var message = (data.message === undefined) ? 'null' : data.message
var icon = (data.icon === undefined) ? 'https://cdn2.iconfinder.com/data/icons/mixed-rounded-flat-icon/512/megaphone-64.png' : data.icon
var sendNotification = function (){
var notification = new Notification(title, {
icon: icon,
body: message
})
if (clickCallback !== undefined) {
notification.onclick = function () {
clickCallback()
notification.close()
}
}
}
if (!window.Notification) {
return false
} else {
if (Notification.permission === 'default') {
Notification.requestPermission(function (p) {
if (p !== 'denied') {
sendNotification()
}
})
} else {
sendNotification()
}
}
}