Android Studio ではじめる Android プログラミング入門 第3版 Android Studio 2対応

書籍Android Studio ではじめる Android プログラミング入門 第3版 Android Studio 2対応

新規プロジェクト作成

 状態:確認中  閲覧数:1,461  投稿日:2018-02-24  更新日:2018-03-12
Android Studio を起動
・[File] > [New] > [New Project] をクリック
過去にプロジェクトを開いていない場合、Android Studio にオープニング画面が表示されます。新規プロジェクトを作成するには、[Start a New Android Studio project] をクリックします。

プロジェクトを開いたことがある場合は、Android Studio に開発環境が表示されます。新規プロジェクトを作成するには、[File] > [New] > [New Project] をクリックします。
プロジェクトの作成

[Application name]、[Company domain]、[Project location]を入力し、[Next]をクリック
・※パッケージ名は変更できるが、特に問題なければそのままでよい
項目 内容
Application name: App 20180302
Company domain: android0.w4c.work
Project location: L:\Android\AndroidStudioProject\App20180302
Package name: tokyo.w3c.android0.app20180302
[mimimum SDK]は[API 27](現在の最新)を選択
[Next]をクリック

エミュレータの動作確認が目的なので、ここでは[Empty Activity]を選択し、[Next]をクリック

そのまま[Next]をクリック

[Component Installer]画面で、[Done] が表示されたら、[Finish]をクリック

・「アクセスを許可する」ボタンをクリック



エミュレータで実行


メニューの[Run]->[Run App]をクリックして実行

最新の「API 27」しか入れてないので、[Nexus 5X API 27 x86]を選択して[OK]をクリック

▼MainActivity.java


▼AndroidManifest.xml


Pixel Launcher has stopped


P105.MainActivityクラスについて / 2.2 アプリケーションの基本を覚える

 閲覧数:363 投稿日:2018-03-09 更新日:2018-03-14

Androidアプリの最もシンプルなソースコード


Activityクラス
・Androidアプリの最も基本となるクラス

MainActivityクラス
・android.support.v7.appパッケージの「AppCompatActivity」クラスを継承して作成されている

onCreateメソッド
・Bundleクラスのインスタンスが引数として渡される
・スーパークラスのonCreateメソッド呼出
・レイアウト表示

Bundleクラス
・アプリ情報を保管するための役割を果たすクラス

R.layout.activity_main
・リソースの「layout」フォルダにある「activity_main.xml」を示す定数
・この定数を参照する値が「R.layout.activity_main」となる
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml

MainActivity.java
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\java\tokyo\w3c\android0\app20180302\MainActivity.java


▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml


xmlns:☆☆属性
・XML名前空間
・AndroidにおけるXMLの要素を利用するためのもの
・これらを記述することで、ここに書かれているタグがAndroidのレイアウト用のものとして認識されるようになる

tools:☆☆属性
・デザインツールでの挙動に関する設定
※アプリが実際に表示される際の設定ではない
・デフォルト設定値から変更する必要はない



P111.テキストを表示する / 2.2 アプリケーションの基本を覚える

 閲覧数:399 投稿日:2018-03-14 更新日:2018-03-18

activity_main.xmlを開く


画面下にある「Design」タグをクリックしてデザインツールへ切り替える

左側にあるパレットから「Text」から「TextView」部品をドラッグし、パレットの右のデザインする領域にドロップして配置
・配置した部品を選択し、プロパティから以下の項目に値を設定
layout.width 「match_constraint」を選択
text 「Hello Android!」と設定
textSize 「36sp」と設定
画面下にある「Text」タグをクリックしてXMLのソースコード表示画面へ切り替える
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml



切り替わらず苦しむ


Android Studio 側でコードを修正し、スマホにアプリを再読み込み
・実機デバッグだから?
・エミュレーターで試す
・まさかの「Hello World!」
・なんでやねん!


原因判明


「tools:text」を記述している場合は、こちらの変更も必要
・画面下にある「Text」タグをクリックしてソースコード画面へ切り替える
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml




TextView の android:text と tools:text について
Tools Attributes Reference


P114.複数のウィジェットを配置する

 閲覧数:370 投稿日:2018-03-18 更新日:2018-03-27
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml


FrameLayoutで囲うのを忘れていたので、最初からやり直した
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\res\layout\activity_main.xml


EditText
・テキストを入力するためのウィジェット


<Button  android:onClick="button_onClick" />
・「ボタンをタップすると、button_onClickメソッドを実行する」という設定を行っている


書き方は3種類



MainActivity.java
▼L:\Android\AndroidStudioProject\App20180302\app\src\main\java\tokyo\w3c\android0\app20180302\MainActivity.java

(TextView)this.findViewById(R.id.textView); / (EditText)this.findViewById(R.id.editText);


(TextView)findViewById(R.id.textView); / (EditText)findViewById(R.id.editText);


findViewById(R.id.textView); / findViewById(R.id.editText);








Android StudioではじめるAndroidプログラミング入門 第3版 Android Studio 2対応

エラー: シンボルを見つけられません

 閲覧数:373 投稿日:2018-03-22 更新日:2018-03-23

エラー: シンボルを見つけられません シンボル: 変数 id 場所: クラス MainActivity



・そのまま実行してもコンパイルエラーにはならない
・関係ないのかよ!

(TextView)this.findViewById(R.id.textView);と (TextView) findViewById(R.id.textView);について


P123.レイアウト用XMLファイルを使わない方法

 閲覧数:467 投稿日:2018-03-27 更新日:2018-04-19

前提


Androidアプリ作成において、レイアウト用XMLファイルは必須ではない
・別になくても良い
・Androidアプリは、Javaのコードさえ書けば、アプリの全てを完全に記述することが出来る

TextViewをJavaコードで記述するメリット及びデメリット


特徴
・レイアウトファイル未使用
・ウィジェットは、それぞれのクラスをnewで作成して作る

メリット
・ダイナミックに変更できる点

デメリット
・コード量が増大しがち
・レイアウトファイルのように感覚的に作成不可

コード


LinearLayoutのsetOrientation
・ウィジェットを並べる方向を設定

LinearLayout.VERTICAL
・縦に並ぶよう設定

ウィジェットの組み込み
・Activityへの組み込み … setContentView使用
・ウィジェット内への別ウィジェットの組み込み(レイアウトのウィジェットへGUI関係のウィジェットを組み込み) … ウィジェットのaddViewメソッド使用

Clickイベント
・ViewクラスのOnClickListenerというイベントリスナーで処理する
・「ViewクラスのOnClickListenerイベントリスナー」インスタンスを、ウィジェットの「setOnClickListenerメソッド」引数に指定
ウィジェット.setOnClickListener(OnClickListenerインスタンス);

OnClickListenerインターフェース
・Clickイベントの際に呼び出されるonClickというメソッドが1つ用意されている

MainActivity.java


P130

 閲覧数:365 投稿日:2018-04-20 更新日:2018-04-30

オプションメニュー


アプリ画面の上部にある「アクションバー」をタッチすると表示されるメニュー
・Android端末のメニューボタン(機器に付いているハードウェアのボタン。ハンバーガーメニュー)を押すと、画面にポップアップして現れるメニュー
・Activityの機能として組み込まれており、Activityに用意されているイベントを利用して簡単に実装できる
・Activityクラスにある「onCreateOptionsMenu」メソッドをオーバーライドして作成

オプションメニューはどのメニューを選択しても、onOptionsItemSelectedメソッドが呼び出される
・その中で「どれを選んだか」をチェックし、分岐処理するのが基本

「res」フォルダ上で右クリックし、「Android Resource Directory」をクリック
・ここで「menu」フォルダを作成し、「main.xml」ファイルを作成
・「Resource Type」を「menu」に変更して「OK」をクリック
・作成した「menu」フォルダ上で右クリックし、「file」をクリック
・開いた「New File」でファイル名を入力
・menu_main.xmlというXMLファイルを作成

・作成したmain.xmlにオプションメニューのレイアウトを作成

menuタグ
・オプションメニューを表示するための要素
・1つ以上のitemタグを保持
オプションメニューを表示する

res/values/strings.xml

MenuInflater
・メニュー生成を行うための機能を提供するクラス
・Activityには、「そのActivityで使うメニューを生成するためのMenuInflaterインスタンス」が組み込まれている

R
・Androidに用意されている「各種XMLファイルを参照する値」をstaticフィールドとしてまとめてあるクラス

メニューのリソースを指定する値
・R.menu.activity_mainで設定されている

R.meu.activity_main
・Rクラスの「menu」内部クラスにあるmainフィールド
→「res」フォルダの「menu」フォルダにあるactivity_main.xml(ここではmenu_main.xml)ファイルが示す値

MainActivity.java




回答を得られなかったQ


onCreateOptionsMenuで、エラー: シンボルを見つけられません

・下記エラーになります

エラー: シンボルを見つけられません
シンボル: 変数 menu
場所: クラス R

・「res」フォルダに「menu」がないのですが、これは自分で作成するのでしょうか?
・「run」したら自動で作成されるのかな、と思っていたのですが、
・それとも何かバージョンの問題ですか?

P137.アラートダイアログ / setMessage

 閲覧数:367 投稿日:2018-05-01 更新日:2018-05-06

AlertDialogを使用するためには?


AlertDialog作成機能を提供する「Builder」クラスのインスタンスを取得

デモ内容


AlertDialog表示
・選択肢なし

コード


MainActivity.java


P139 AlertDialogにボタンを設定する / setMessage

 閲覧数:405 投稿日:2018-05-02 更新日:2018-05-06

AlertDialogに表示されるボタン


PositiveButton
・肯定的な選択肢となるボタン

NegativeButton
・否定的な選択肢となるボタン

NeutralButton
・中立な選択肢となるボタン

デモ内容


AlertDialogに対して、「OK」「NG」ボタン表示
・選択肢なし → 選択肢2

コード


▼MainActivity.java


P141 選択リストを表示するsetItems

 閲覧数:460 投稿日:2018-05-04 更新日:2018-05-06

選択肢が多い場合


アラートダイアログにリストを表示させる

注意事項


「setMessage」「setItems」は併用不可

デモ内容


AlertDialog表示
・選択肢3

コード


▼MainActivity.java


P149 TimerでProgressDialogを操作する

 閲覧数:377 投稿日:2018-05-07 更新日:2018-05-08

デモ内容


・java.util.Timerを利用して毎秒10ずつProgressDialogの値を増加
・最大値(100)になったら、ダイアログを終了

コード


▼MainActivity.java





マウスで矢印を一番右までスライドさせると、ゲストコメント投稿できるよー

週間人気ページランキング / 6-27 → 7-3
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2025/7/4 1:01 更新