Androidアプリ開発の備忘録
##アプリ開発のメリット
- Java、Kotlinの勉強になる
- 自分好みのアプリを作れる
- プロへの道が開ける
##リリース
GooglePlayConsoleからリリースする
諸注意、作業方法
パッケージ名がcom.exampleだとリリースできないので注意。
変更する場合はAndroidmanifestからリファクタリング、リネームする。
build.gradle(app)のバージョンを増やしていく。
アイコンのサイズ(解像度)はペイント(Windowsの場合)で変えることができる。
インストール後のアプリ名は、AndroidManifestで決める。
android:label="@string/app_name"
##ソースコード管理
Gitの場合とりあえずSourcetree
クローンのやり方
保存先のパスは空フォルダにして、名前は空フォルダと同じにする
ローカルリポジトリ作成
ターミナルを開いて(右上辺りのボタン)リポジトリにしたいディレクトリでgit init実行
+ボタンを押してAdd a repositoryで追加
強制プッシュ
$ git push -f origin master 強制(force)的にプッシュする
##AndroidStudio
Andoid Studioをバージョンアップしたら端末が認識しなくなる場合は、端末のUSBデバッグの許可の取り消しを行う。
##AndroidStudioショートカット
ctrl + shift + enter
コロン自動補完
##ライブラリについて
ライブラリの使用時はバージョンに注意。バージョンがあっていないとコンパイルエラー、Gradleのエラーになる場合がある。
SDKのバージョンが合っていないといけない?
例)
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.android.support:design:28.0.0'
これはセットで使う。
##ソースコード(Android)
LayoutInflater (inflater)
リソース(xml)を読み込んでビューにする。
Tablayout
pageTitleはfinal
##ソースコード(Java)
public
指定したクラス名とファイル名は同一にする。
ArrayList
サイズ関係ない?
キャスト
doubleをintに代入すると、小数点以下が切り捨てられる。
this.s
インスタンス変数s
継承
サブクラスが生成される際、子クラスのコンストラクタが実行される前に、親クラスのコンストラクタが実行される。
Objectクラス
toStringメソッド、getClassメソッドの暗黙の親クラス。
抽象クラス
変数(配列OK)で保持して、サブクラスのインスタンスを生成して代入すると便利
抽象メソッド
呼び出しの抽象化のため?
インターフェース
インスタンスをインターフェースでキャストして代入することで、インターフェースに記述してある機能しか使えなくする。
インターフェースでもstaticならばそのまま使える。
implementsして、そのクラスの中に実装する書き方と、newして(いるように見えるが実際は無名クラス)、無名クラスで実装する書き方がある。
throws
throwsはメソッドとセットで使い、例外発生時はメソッドの呼び出しもとに戻り、catchする。
独自例外処理クラスを作って、throw(例外発生の目印)を使ってcatchする。
equals
equalsは同一の参照かを比較してbooleanを返す。
protected
サブクラスのインスタンスからアクセスできる。(スーパークラスのインスタンスからはアクセスできない)
無名クラス
メインルーチンの中に定義されているため、上から順番の処理にならない。
メソッド
戻り値をまず見ることで、何をする処理かわかる。
例)getViewは最後にビューを返す。