Kotlin使用

Kotlin使用

在Android Studio 3.0(https://developer.android.google.cn/studio/preview/index.html)版本中已经完全支持了Kotlin了,你可以非常方便的通过Kotlin创建一个新的项目,可以将Kotlin的文件添加到你之前已经存在的项目中去,也可以将一个java语言的代码转换成Kotlin。在Kotlin代码中你可以使用所有的AS中的工具,如代码补齐等等。。


使用Kotlin创建一个新的项目

  1. 在AS中,点击File>New>New Project.或者你要打开AS,进入欢迎界面,点击Start a new Android Studio project
  2. 在进入后的第一个界面,选择Include Kotlin support。这是和Java 语言的项目创建时的不同之处。
  3. 点击Next,按着向导完成创建。

在已经存在的项目中添加Kotlin

在这个项目中允许Kotlin和Java代码并存,

Source Language 选择Kotlin创建的Activity就是使用的Kotlin语言。

在默认情况下Kotlin代码会和Java代码在同一个路径下面,如果你想把他们分开可以设置SourceSet配置新的路劲进去。如下:

android {
   sourceSets {
   main.java.srcDirs += 'src/main/kotlin'
   }
}

将Java代码转换成Kotlin代码

在AS 3.0中,打开一个java文件,Code>Convert Java File to Kotlin File.

还有更有意思的是,如果你在一个java文件中复制代码到一个Kotlin时,它会提示你如下,
它竟然可以帮助你直接转换成Kotlin代码,,,

在Kotlin中使用Android APIs

下面是几个在Kotlin和Java中的对比:

Declare Activity in Kotlin

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
  }
}

Declare Activity in Java

public class MyActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
  }
}

On-click listener in Kotlin

val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}

On-click listener in Java

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    ...
  }
});

Item click listener in Kotlin

private val mOnNavigationItemSelectedListener
    = BottomNavigationView.OnNavigationItemSelectedListener { item ->
  when (item.itemId) {
    R.id.navigation_home -> {
      mTextMessage.setText(R.string.title_home)
      return@OnNavigationItemSelectedListener true
    }
    R.id.navigation_dashboard -> {
      mTextMessage.setText(R.string.title_dashboard)
      return@OnNavigationItemSelectedListener true
    }
 }
 false
}

Item click listener in Java

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
    = new BottomNavigationView.OnNavigationItemSelectedListener() {
  @Override
  public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
      case R.id.navigation_home:
        mTextMessage.setText(R.string.title_home);
        return true;
      case R.id.navigation_dashboard:
        mTextMessage.setText(R.string.title_dashboard);
        return true;
    }
    return false;
  }
};

扫描下面公众号获取更多信息:
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin使用Room数据库是一种常见的做法,Room是Google官方提供的一个SQLite对象映射库,用于简化与SQLite数据库的交互。以下是使用Room数据库的几个步骤: 1. 添加依赖:在项目的`build.gradle`文件中添加以下依赖: ```kotlin implementation "androidx.room:room-runtime:2.4.0" kapt "androidx.room:room-compiler:2.4.0" ``` 2. 创建实体类:创建一个Kotlin类来表示数据库中的表,并使用`@Entity`注解标记它。例如,如果我们要创建一个名为`User`的表,可以这样写: ```kotlin @Entity(tableName = "users") data class User( @PrimaryKey val id: Int, val name: String, val age: Int ) ``` 3. 创建DAO接口:创建一个Kotlin接口来定义访问数据库的操作,并使用`@Dao`注解标记它。例如,如果我们要创建一个名为`UserDao`的接口,可以这样写: ```kotlin @Dao interface UserDao { @Query("SELECT * FROM users") fun getAll(): List<User> @Insert fun insertAll(vararg users: User) @Delete fun delete(user: User) } ``` 4. 创建数据库:创建一个继承自`RoomDatabase`的抽象类,并在其中定义数据库的实例和DAO接口的访问方法。例如,如果我们要创建一个名为`AppDatabase`的数据库类,可以这样写: ```kotlin @Database(entities = [User::class], version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao } ``` 5. 初始化数据库:在应用程序的入口处(通常是`Application`类的`onCreate()`方法),使用`Room.databaseBuilder`方法来创建数据库的实例。例如: ```kotlin val db = Room.databaseBuilder( applicationContext, AppDatabase::class.java, "database-name" ).build() ``` 6. 使用数据库:通过调用DAO接口中定义的方法,可以进行数据库的增删改查操作。例如: ```kotlin val userDao = db.userDao() val allUsers = userDao.getAll() userDao.insertAll(User(1, "John Doe", 25)) val user = userDao.getAll().first() userDao.delete(user) ``` 这些是使用Kotlin和Room数据库的基本步骤,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值