0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android開発メモ

Last updated at Posted at 2019-12-26

Android Studio

ショートカット

インデント整形

Command + Option + L

不要インポート削除

Control + Option + O

行複製

Command + D

カスタム

開いているファイルの選択(XcodeのCommand + Shift + J)
Keymap > Other > Select in Project View にショートカットを割り振り。

削除周りのショートカット設定
Keymap > Editor Actions > Backspace, Deleteにショートカットを割り振り。

ワンクリックでファイルを開く設定
プロジェクトツールウィンドウの設定アイコン > Autoscroll to Sourceにチェックを入れる。

Kotlin

Swiftの対応表

guard let

if (num == 0) return
val num = nulable ?: return

Date周り

java.util.dateの理解
https://engineer-club.jp/java-date
java.timeの理解
https://qiita.com/tag1216/items/91a471b33f383981bfaa

月末・月初の取得

val yearMonth: YearMonth = YearMonth.from(LocalDate.now()) // YearMonth.now() でもいける
val start = yearMonth.atDay(1)
val end = yearMonth.atEndOfMonth()

endOfDay

LocalDateTime.now().with(LocalTime.MAX)
LocalDate.now().atTime(LocalTime.MAX)

Date - LocalDateの変換

AndroidではAPI26以降じゃないといろいろと使えないメソッドが多い。

LocalDate from Date

https://stackoverflow.com/a/31453385
https://developer.android.com/reference/java/util/Date.html#toInstant()

val date: Date = Date()
val localDate: LocalDate = Instant.ofEpochMilli(date.time).atZone(ZoneId.systemDefault()).toLocalDate()

// toInstant()を使ってもできそうだけど、API26以降しか使えないので
date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate() // API26以上

Date from LocalDate

https://stackoverflow.com/questions/23944370/how-to-get-milliseconds-from-localdatetime-in-java-8
https://developer.android.com/reference/java/util/Date.html#from(java.time.Instant)

val date: Date = Date(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli())

ローカライズを意識したフォーマット

年と月だけを表示したい。国によって表示順もちゃんとしたいとき。

val yearMonthText = DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_YEAR or DateUtils.FORMAT_NO_MONTH_DAY)
// January 2020
// 2020年1月

画面遷移周り

戻るボタン実装してて、以下のようにマニフェストに親を指定して戻ってたら、戻るたびにonCreateが呼び出されて変な挙動になった。注意する。

supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_close)
<activity android:name=".SubActivity"
     android:parentActivityName=".MainActivity" />
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?