Kotlin

[Android/kotlin] 端末にインストールしてあるアプリのパッケージを取得する

Android+kotlin インストールしてあるアプリのパッケージ名の取得

  val pm = packageManager
  val packageInfoList =
      pm.getInstalledPackages(PackageManager.GET_ACTIVITIES or PackageManager.GET_SERVICES)
  for (packageInfo in packageInfoList) {
      val pkg = pm.getLaunchIntentForPackage(packageInfo.packageName)
      if (pkg != null) {
          val packageName = packageInfo.packageName
          val className = pkg.component?.className ?: ""
          Timber.i(packageName)
          Timber.i(className)
      } else {
          Timber.i(packageInfo.packageName)
      }
  }

kotlinのEnumに拡張関数を定義する

kotlinのenum classはJavaのenumと同様にvalueOf(String)で当該のEnumを取得できる関数があるのですが、とある事情からこれをStringではなくenumのordinal(Int)から取得したいという要求がありました。

[kotlin] printやprintlnで表示される内容をカスタマイズする

kotlinで自分で作ったクラスのprintprintlnを使った時、表示される内容を独自のものに置き換える方法のメモ

class MyClass(arg1:Int) {
  var member1:Int = arg1
  
  override fun toString() : String {
      return "MyClass(member1: ${this.member1})"
  }
}

シンプルに、toString()メソッドをオーバーライドしてあげるだけ。