コードの検索方法
shift+ctrl+f→プロジェクト全体の検索
shift+f→開いているページの検索
ビルドがクラッシュした原因を探す方法
ビルドして、エミュレーターはデバック(アプリの表紙)を
映すが、クラッシュする場合。
どこでコードが間違えているのかを
チェックする必要がある。
例)Fragment
OnCreateViewの次から
valの左隣(一番左端)をクリックする。
すると赤丸が表示される。
全てのvar,val,funに赤丸をつけて、虫さんマークをクリック。
止まったところがたくさんの文字がでていたら、
そこはクラッシュしていない部分になる。
左下に表示されている再生ボタンを押す。
クラッシュしていないことを確認して、さらに再生ボタンを押す。
それを繰り返す。
途中、何も表示されない部分があれば、そこの一つ上の
var,もしくはvalもしくはfunがクラッシュする原因である。
クラッシュする原因は「logcat」で見る。
赤く表示してある部分を調べて修正。
メインスレッド⇔バックスレッド 変更方法
メインスレッドでコードを記入しないといけないのに、
バックスレッドでコードを記入している場合がある。
そんな時、
「メインスレッド(バックスレッド)じゃなくて
バックスレッド(メインスレッド)で書かないとだめだよ!」
とAndroid Studioさんは叱ってくれる。
そんな時には、
GlobalScope.launch(Dispatchers.Main) { // 何かしらの処理 }
のコードを使用する。
メインスレッドからバックスレッドにする時は上記コードを使う。
バックスレッドからメインスレッドにする時は、
GlobalScope.Launch(Dispatchers.IO){…
にする。
変化した点は下線部のmain→IOである。
ちなみに、基本的にメインスレッドはUIである。
ビルドについて
↑スプラッシュ画面(アプリ起動時に最初に表示されるもの)
そのあとにアプリがクラッシュ(アプリが途中で終了すること)が
あれば、原因を探しまくる。
その際に、「Logcat」で赤くなっている部分を
web検索して、エラーを探し出す。
import
importは
基本的に頭文字が大文字のものである。
しかし、
頭文字が小文字であったとしても
単語にカーソルを合わせたときに
「import」があれば、
importしてもよい。
戻り値
fun(機能)は、戻り値があるものとそうでないものの2種類がある。
*復習*
ブログ記事編集 - はてなブログ (hatena.ne.jp)
例)
tonight.value = getTonightFromDatabase()←実行
}
}
private suspend fun getTonightFromDatabase(): SleepNight? {
↑
定義
例)内の
fun 〇〇〇(): SleepNight?(SleepNightはクラス)
SleepNight?の部分は戻り値という。
戻り値があったら、必ず
「return」
がある。
returnは実行に返す(戻る)。
例2)
init {
initializeTonight()←実行(呼び出し)
}
private fun initializeTonight() {
↑
定義
戻り値がないので、returnはない。実行されるのみ。
例3)
fun 〇〇〇(): SleepNight?
⇒?はnullが入るかもしれないを示す。
例4)
fun 〇〇〇(): SleepNight?
⇒下線部はstringやint、bolianなどの型やクラスが入る場合がある。