とりあえず、第一歩としてテキストを表示する。
以下は、現在の私の理解です。
細かいところは省略していますし、
ウソもあるかもしれませんが、ご了承ください(笑。
■AndroidのGUIは次の構造になっている。
・Activity
・Fragment
・TextView, … etc
1. Activity
Windowsアプリでいえば、Formにあたるのかな?
いわゆる場面転換の「場面」とでも言えばいいのでしょうか。
Androidアプリ開発の肝ですね。
2. Fragment
これを「画面」と呼ぶのがいいと思います。
タブレットでお馴染みの横へフリックして見た目が変わるものを、
複数のFragmentsで実装するイメージなのかな?
3. その下
Fragmentに具体的なパーツ、TextViewやButtonが載っている。
■プロジェクト作成 (Android Studio)
Menu/File/New Projectから新しいプロジェクトを作る、詳細は割愛。
Configure your new project
とりあえず、名前をTest022にしておく
Select the form factors your app will run on:
→ Phone and Tablet
Minimum SDK:
→ API19: ANdroid 4.4 (KitKat)
Add an activity to Mobile:
→ Blank Activity with Fragment
Choose options for your new file:
お好みで
■TextViewでテキストを表示する、準備
fragment_blank.xml(BlankFragment.java)にTextViewを追加します。
グラフィカルなGUIエディタでTextViewをドラッグ&ドロップして、fragment_blank.xmlに貼り付けます。
デフォルトのidはtextView1でした。
■TextViewでテキストを表示する
ここからが手間取りました。
これから実装する機能を考えると、
GUIとは別のクラスからテキストを送ってtextViewに表示したいのです。
つまり、Activityから末端のtextViewにアクセスするということ。
自動的に生成されたコード MainActivity.java の最後にPlaceholderFragmentというクラスがある。
意味はよく理解していないが、「とりあえずフラグメント」なのかな?
public static class PlaceholderFragment extends Fragment { TextView textView; public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_blank, container, false); textView = (TextView)rootView.findViewById(R.id.textView1); textView.append("\nI'm here.\n"); return rootView; } }
上の赤のように追記してみると、画面に表示されました。