Android アプリ開発
Androidアプリの基本的な作り方を説明しています。ザックリ作って動かしてみようというコンセプトですから、細かい仕様はGoogleのReferenceを読んでください。
Javaの1~10までがBasicなところで、それ以降はそれらの内容については了解しているものとして進めています。
またKotlinについては別ページにありますが、基本的なAPIの使い方などは同じですのでJavaを参考にできます(JavaからKotlinにコンバートしてしまうことも在る程度可能)
開発環境
- Android Studio インストール: Mac
- Android Studio インストール: Windows
- 簡単なHello worldアプリ
- エミュレータの作成、設定
- 実機のワイヤレスデバッグとUSBデバッグ
- API レベルと OSプラットフォーム
- 最新OSが載っている機種 Pixel
Flutter
Kotlin
Java
1. Button
- 簡単な Button アプリを作る
- ButtonをJavaコードだけで設定する
- カスタムボタンを作る
- ImageButton に画像を設定する
- onClickListenerの色々な設定
- Button 配列を設定する
- ToggleButton を使ってON・OFFを設定
- Switch を使った切り替えボタンの実装
- SwitchCompat 切り替えスイッチの基本設定
- SwitchCompat スイッチのカスタマイズ
- SwitchMaterial を設定する
2. TextView
3. EditText
4. ImageView
- 画像の表示
- ImageView サイズ変更をコードで動的に行う
- 画像をドラッグする
- MatrixでImageView画像を回転、フリップ、拡大縮小させる
- Picasso の代わりにGlideで大きい画像を扱ってみる
5. ProgressBar
6. SeekBar
7. Toast
8. Snackbar
9. CheckBox
10. Spinner
11. Activity
12. Fragment
- Fragment をHello World から始める
- Fragment コードで記述する
- Activity と Fragment の画面遷移
- Fragment から別の Fragment に画面遷移させてみる
13. Service
14. Picker
15. ScrollView
16. ListView
- ListView と ArrayAdapter 簡単なテキストリストの表示
- ArrayAdapterを使ってレイアウトをアレンジ
- BaseAdapterで画像とテキストをListView表示
- ListViewリストをタップして画面遷移
- ListViewアイテムの移動、削除
- ListView アイテム個々の背景、高さなどを変える
17. RecyclerView
18. GridView
19. AlertDialog
20. Data Storage
- データ保存、対象範囲別外部ストレージ
- アプリ固有の内部ストレージにファイルを保存する
- アプリ固有の外部ストレージに画像ファイルを保存する
- MediaStore 画像を保存する
- MediaStore スマホの画像や音楽ファイルを検索する
- SAF(Storage Access Framework)でフォトアプリから画像を取り出す
- SAF(Storage Access Framework) でドキュメントを保存する
- SharedPreferences:データ保存
- データベース SQLite の簡単作成
- SQLiteのデータを確認する方法
21. Google Map
- Google Map API キー取得
- Google Map 簡単に地図を表示させる
- Google Map ズームとアイコン画像貼り付け
- Google Map タップして移動、マーカーの追加
- Intentで簡単に Google Map 地図の表示
- Intentを使って Google Map 移動経路
22. 位置情報
- FusedLocationProviderClient による位置情報取得
- 複数の権限をリクエストする
- FusedLocationProvider とGoogle Mapで地図を表示
- GPSでの位置情報
- アプリの権限、位置情報をリクエストする実装
23. Timer
- タイマー カウンターをChronometerで簡単に作成する
- TimerTask:カウントアップタイマー
- System.currentTimeMillis() を使ったタイマー
- カウントダウンタイマー
24. AlarmManager
- AlarmManagerをBroadcastRecieverと使う
- Alarm を NotificationManager で通知する
- Doze mode で AlarmManager の繰り返しアラームを実装するには
- setRepeating() の誤差と setExact() setWindow()
- アプリの restart
25. Async
26. HttpURLConnection
27. Audio
28. ViewPager2
- ViewPager2 FragmentStateAdapterを使った基本的な実装
- ViewPager2 を使ってギャラリーっぽくしてみる
- ViewPager2 をRecyclerView.Adapterで作成する
- ViewPager2 でTabLayoutでタブ付きスワイプビューの作成
29. Layout
- 全画面表示 WindowInsetsController
- ScaleType:画像をスクリーンにうまくはめる
- スクリーンサイズを取得する
- dp, px, dpi, sp 画面の解像度単位
- レイアウトの間隔、padding と margin
- TableLayout 意外とうまくできないマス目配置
- ConstraintLayout による制約を設定するには
30. Canvas
- Canvas と Paint で円や矩形を描く
- Custom Canvas をレイアウトに挿入する
- Canvas を Clear して再描画
- Canvas で画像と文字を表示する
- Canvas Animation で円弧を動かす
31. onTouchEvent
32. Sensor
- Sensor 一覧を取得する
- 加速度センサー:Accelerometer
- 加速度センサーで球ころがし
- Accelerometer 加速度センサーをグラフにしてみた
- Gyroscope ジャイロセンサー
33. Calendar
34. Intent
35. WebView
36. Inflater
37. Animation
– android.view.animation
- AlphaAnimation フェードイン・フェードアウト
- RotateAnimation 回転アニメーション
- ScaleAnimation 拡大・縮小アニメーション
- TranslateAnimation 移動アニメーション
- AnimationSet アニメーションの組み合わせ
– Property Animation
- 画像が回転して落ちていくアニメーション
- AnimatorListenerAdapter による一時停止と再開
- frame-by-frame Animation でパラパラアニメーション
- TransitionDrawable クロスフェード animation
38. adb commands
39. Libraries
40. hardware
AdMob
Firebase
Google Mobile Ads SDK
登録・公開
Tips
- Google Play で公開されているアプリをエミュレータでPlayする
- 数値と文字列の変換 (Java)
- warning に対応してみる
- Device Explorer でファイルをのぞいてみた
- Android アプリからScreenShotを撮る
- 文字列の操作、分割、検索等々
- アプリを日本語・英語にローカライズ
- Logcatを端末に保存するためProcessBuilderを使う
- 読み上げ TTS (Text To Speech) の設定
- 背景が半透明のActivityを作成
- ArrayListの使い方
- SDカードのパス取得
- aabからapkを取り出しをインストールする
- クラスメソッドの定義と呼び出し
- lambda ラムダ式とは
- Android Studio プロジェクトリストを消すには
- findViewByIdの代わりにView Bindingを使ってみた
- ライブラリーをAndroid Studio に設定する方法
Archive
古い情報です
- AndroidXに移行する
- Installation failed with message Invalid File… というエラーに対処するには
- Android Studio での encoding 設定
- Android 6.0:Runtime Permission
- ファイル検索
- Pixel 5 からBudsをワイヤレス充電するバッテリーシェア機能とは
- AdMob サイズをPublisherAdViewを使って動的に変える
- 全画面モードの systemUiVisibility (API29まで)
- ローカルなBroadcastの設定
- ListActivity と ArrayAdapterで画像とテキストをリスト表示
- 非同期処理 AsyncTaskの使い方 (API 30から非推奨)
- IntentServiceでバックグラウンド処理を簡単に実行させる