2024年Android最全【译】使用Kotlin从零开始写一个现代Android-项目-Part1,作为一名Android面试者你应该知道的

最后

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

MainActivity : AppCompatActivity() 表示我们的MainActivity继承自AppCompatActivity 。

此外,所有的方法都必须有一个关键字fun,在Kotlin 中,你不能使用@override注解,如果你要表明方法是复写父类或者接口的方法的话,直接使用override关键字,注意:它和Java不一样,不是一个注解了。

然后,savedInstanceState: Bundle? 中的?代表什么呢?它代表了savedInstanceState这个参数可以是Bundle或者null。Kotlin是一门null 安全语言,如果你像下面这样写:

var a : String

你将会得到一个编译错误。因为a变量必须被初始化,并且不能为null,因此你要像这样写:

var a : String = “Init value”

并且,如果你执行以下操作,也会报编译错误:

a = null

要想使a变量为null ,你必须这样写:

var a : String?

为什么这是Kotlin语言的一个重要功能呢?因为它帮我们避免了NPE,Androd开发者已经对NPE感到厌倦了,甚至是null的发明者-Tony Hoare先生,也为发明它而道歉。假设我们有一个可以为空的nameTextView。如果为null,以下代码将会发生NPE:

nameTextView.setEnabled(true)

但实际上,Kotlin做得很好,它甚至不允许我们做这样的事情。它会强制我们使用?或者!!操作符。如果我们使用?操作符:

nameTextView?.setEnabled(true)

仅当nameTextView不为null时,这行代码才会继续执行。另一种情况下,如果我们使用!!操作符:

nameTextView!!.setEnabled(true)

如果nameTextView为null,它将为我们提供NPE。它只适合喜欢冒险的家伙)

这是对Kotlin的一些介绍。我们继续进行,我将停止描述其他Kotlin特定代码。

2、构建变体

通常,在开发中,如果你有两套环境,最常见的是测试环境和生产环境。这些环境在服务器URL,<

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以!以下是一个使用KotlinAndroid Studio中编的简单登录界面的示例: 首先,在res/layout目录下创建一个名为activity_login.xml的布局文件,用于定义登录界面的UI元素。可以像这样编: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <EditText android:id="@+id/editTextUsername" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:inputType="text" /> <EditText android:id="@+id/editTextPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" /> <Button android:id="@+id/buttonLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Login" /> </LinearLayout> ``` 然后,在MainActivity.kt文件中,设置布局并处理登录逻辑。可以像这样编: ```kotlin import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_login.* class LoginActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) buttonLogin.setOnClickListener { val username = editTextUsername.text.toString() val password = editTextPassword.text.toString() if (isValidCredentials(username, password)) { // 登录成功 // 在这里添加你的登录逻辑 } else { // 登录失败 // 在这里处理登录失败逻辑 } } } private fun isValidCredentials(username: String, password: String): Boolean { // 在这里添加验证逻辑,例如检查用户名和密码是否匹配 return username == "admin" && password == "password" } } ``` 这里使用了`kotlinx.android.synthetic`插件来简化对UI元素的访问。请确保在build.gradle文件中启用了插件依赖,例如: ```groovy android { // ... // 添加以下配置 viewBinding { enabled = true } } ``` 这是一个简单的登录界面示例,你可以根据自己的需求进行修改和扩展。希望能帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值