kmmkの雑種系日記

学習まとめです。

Androidアプリ開発の教科書 [ 基礎段階のレイアウトとListView ]

目次

0. はじめに

LaravelでAPIを作成していたのですが、急遽Androidjavaで書くことになったので基礎からしっかり固めていきます。という感じで備忘録と勉強会用の資料として。

1. Androidの基礎(個人的に調べた)

▷日本におけるシェア数の違い

  • iOS : 68.2% / Android : 31.8%(2017年10月段階)
  • iOS : 41.1% / Android : 58.9%(2019年1月段階)

▷世界におけるシェア数の違い(2018年9月)

  • イギリス > Android:51.89% / iOS:46.34%
  • フランス > Android:67.96% / iOS:30.95%

2.1.2 ウィザード

誘導に従って選択項目の選択などを行っていけば、本来は複雑な設定作業も簡単に進めることができるようになる。

2.5.1 Strings.xmlの役割

  • 原則Strings.xmlに記述
  • 多言語対応できるようになる(Strings-ja.xmlなどを作成すれば、OS側が言語設定で自動的に変更してくれる)

3.1.6 数値の単位(dp / sp)

  • dp -> ビュー・ビューグループに対して使用する
  • sp -> テキストサイズに対して使用する

3.2.2 instant run

変更部分をすぐに反映してくれる(必要な時は再起動してくれる)

3.6.3 spinner

spinnerとは下記のようなドロップダウンリストのこと。

主にStrings.xmlで編集をしている

f:id:makoo5:20190816141117p:plain:w200

下記のように複数の値があるものは文字列配列として格納してあげる。

<string-array>と<item>'は、htmlでいう

  • `的な関係なのかな?

    Strings.xml

        <string-array name="sp_dish">
            <item>カレー</item>
            <item>ムニエル</item>
            <item>生ハム</item>
            <item>パスタ</item>
            <item>ビール</item>
        </string-array>
    

    android:entries属性で指定してあげる

    activity_xx.xml

    <Spinner
     :
     android:entries="@array/sp_dish
    />
    

    3.6.5 ListView

    x List形式で表示してくれる。

    表示

    Activity_xx.xml

    <ListView
        :
        android:entries=“@array/sp_dish"
    />
    

    クリック処理

    ListViewのクリックイベント実装

    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l){
    //処理
    }
    
    • AdapterView<?> : タップされたリスト全体のView
      • (String)でcastすると項目名が取れる
    • View : タップされた1行分の部品
      • Viewを詳しく見てみるとandroidx.appcompat.widget.AppCompatTextViewがかえってきた
    • Int i : タップされた行番号(0からのスタート)
    • Long : DBの主キー(ない場合はintと同じ値が入る)

    4.1.2 AppCompatActivityクラス

    • 新しいAPIレベルで追加された機能をふるいAPIレベルでも使えるようにする
    • その他便利な機能利用可能にしてくれる

    4.1.3 Rクラス

    • リソースの管理をしてくれる
    • 全てint型定数で管理

    4.2.1 イベントリスナ

    onClickListener

    • さっと作れる
    • イベントが増えてくると、肥大化して可読性を損なう

    クラスにimplementsする

    • クリックイベントが多数存在する際によくやる実装
    • メソッドが肥大化しやすい

    参考

    【Android】クリックイベントの基本的な実装 - Qiita

    4.2.9 誰かにソースコードを渡したい場合

    • [File] > [Export to Zip File...]
      • Android Studio 3から出た便利機能
      • 必要なファイルだけを抽出して圧縮してくれる