(いまさらだけど)mixi Android Training をはじめたよ
mixi AndroidTraining
mixiがgithubに公開しているAndroid学習用のページ。数年前から存在走っていたけれど、全然手を付けていなかった。 Javaはわかるけど、ネイティブを触る機会は少なく、Android Java は初心者。初心者がどこまでできるようになるか、健忘録としてめもっておくようにする。全部コンプリートしたら「Android初心者 学習方法!!」みたいなブログ書くんだ…slackのbotの記事が定期的にアクセスがあってすごいよgoogleさん、、うまい言葉でインデックスされると流入ってあるんだねgoogleさん…それ以外に大した記事書いてなくてごめんなさい/(^o;)\ mixi-inc.github.io
突然の挫折
基礎編の「アプリのレイアウト作成」まではキャピキャピしながら進められた。が、「ActivityとFlagment」で「???」となってしまったwwwwはやいよwwwもうまとめブログも書けないよ/(^o;)\
実習
Activity
- 新しい Activity と、それに対応するレイアウトを作成してください。 (使用するプロジェクト: AndroidStudio/practice/fundamentals/2nd/ActivityPractice/practice1/app/build.gradle)
- 1で作った Activity を、アプリ起動時に表示するよう変更してください。 (変更先のプロジェクト: AndroidStudio/practice/fundamentals/2nd/ActivityPractice/practice2/app/build.gradle)
Fragment
- 新しい Fragment と、それに対応するレイアウトを作成してください。 (使用するプロジェクト: AndroidStudio/practice/fundamentals/2nd/FragmentPractice/practice1/app/build.gradle)
- 1で作った Fragment を、既存の Activity に組み込んでください。 (変更先のプロジェクト: AndroidStudio/practice/fundamentals/2nd/FragmentPractice/practice2/app/build.gradle)
(^ν^)ん?
- 新しい Activity と、それに対応するレイアウトを作成してください。
(^ν^)ん?
低能な私には何をしていいのかわからない。早くも挫折しそう。
脱線
わからないから、いったんActivityとFragmentは一旦おいておくことにした。まずはイベントハンドラーからやる。 EditText で入力したテキストを TextView に表示させるかんたんなアプリケーション。
レイアウトの作成
アプリのレイアウト作成までは読んだからできたありがとう。
- /layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.suzukitomoko.hello.MainActivity"> <LinearLayout android:id="@+id/linearText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerHorizontal="true"> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hi! " /> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout> <EditText android:id="@+id/inputText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="input your text here" android:layout_below="@+id/linearText" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Button!!" android:layout_centerHorizontal="true" android:layout_below="@+id/inputText"/> </RelativeLayout>
クリックイベントを取得する
参考にさせていただきました。 qiita.com
もうちときれいに書けそうだけどいったんこれでいいや
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ボタンをクリックしたときの挙動 findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { displayInputText(v); } }); } private void displayInputText(View view) { TextView text = (TextView) findViewById(R.id.text2); EditText editText = (EditText) findViewById(R.id.inputText); text.setText(editText.getText().toString()); } }
とりあえず動いたよわー\(^o^)/