HONDAのAndroid アプリ, Web アプリ開発備忘録

このブログはHONDAがAndroidアプリの開発開始と同時に作成したもので備忘録として記しています。最近Web系に就職が決まったのでwebアプリも勉強していきます。

ボタンをおしてTextViewの内容を変える

目的 : ボタンを配置して, おすとTextViewの内容を変更する

というわけで、ボタンを配置して、ボタンを推すと、テキストが変わるようにする。

手順1 : ボタンを配置

Wigetの中のButtonをドラッグ&ドロップ

f:id:havoc0214:20150827001615p:plain

TextViewが小さかったので、設定で大きくします。

Propertyの中のtextSizeをいじる

ここで、メモとしては

単位はsp(Scale-independent Pixels).

これはフォントなどの大きさを示す単位である、らしい。

dp(Density-independent Pixels)

とかもあるらしい(これは画面の距離とかの単位らしい)

なんかいろいろ単位がある

f:id:havoc0214:20150827001822p:plain

詳しいことはここで確認↓

【Android】今さら聞けない、px、sp、dip、dpの違い

 

手順2 : idの登録

ボタン、TextViewをダブルクリックすると以下のように

表示している内容を示す"text"とこのTextViewを示すidがある。

それぞれbuttonとTextViewのidを登録しておく

僕の場合

button : myButton

TextView : myTextView

と登録した。

f:id:havoc0214:20150827002235p:plain

手順3 : buttonのメソッド登録

ボタンのプロパティに"onClick"というものがあり

クリックしたときにメソッドを呼び出すことができる.

今回はtextの中を変更するので

"changeLabel"など命名

f:id:havoc0214:20150827002901j:plainf:id:havoc0214:20150827002618p:plain

 

手順4 : MainActivity.javaの中でchangeLabelを登録

projectの中のjavaの中にMainActivity.javaがありここの中で

先ほど命名したchangeLabelの中身を書いていく

f:id:havoc0214:20150827003335p:plain

ここで、以下のソースを打つとViewクラスとTextViewクラスがインポートされていないとエラーが出るのでAlt+Enterで導入することができる。

f:id:havoc0214:20150827003456p:plain

public voidは、返り値なし(void)のメソッド

クリック→changeLabelにView型のviewという変数が入る.

中に何が入っているかわからん(True or Falseのbooleanかな?)

 

TextView tv = (TextView)findViewById(R.id.myTextView)-①

はなんか、idがmyTextViewのものを見つけるみたいな文

tv.setText("");-②

でテキストの中身を変える。

まぁ、TextViewという登録されているクラスがあって

そのメソッドにsetTextというメソッドがあるからtvはこのメソッドを使えると。

恐らく、①でTextView型のtvという名前のオブジェクトを生成していると思う。

 

そしてコンパイル

f:id:havoc0214:20150827004148p:plain

でました奥さん。

エラーですよ。

なにやら、@+idの書式で書いてねとのことらしい

 

というわけで調べました

tamohiko.hatenablog.jp

ということでid=@+id/のところを

id=@+id/mainに変更。

 

コンパイル

f:id:havoc0214:20150827004430p:plain

なにこれぇ

 

調べるとエミュレータを動かすHDDが容量不足とのことらしい

havoc0214.hatenablog.com

ええそうです。2Gしか残っていないOSのHDDが

何故か700Mになっていました。

 

さよならPython, Ruby!

ということで、色々アンインストールや消したりして、

3Gに回復。

 

コンパイル!!!!!

 

f:id:havoc0214:20150827004700p:plain

f:id:havoc0214:20150827004705p:plain

 

やれやれだぜ

f:id:havoc0214:20150827004934j:plain

まとめ 

テキストの中身をボタンで変えました

 

画面のTextをいじってみる

目的 :Androidの画面をいじってみる。

まずは、画面をいじるため、どこをいじるかを書き残す。

画面の情報はresorce(res)の中の"layout"の中にあるactivity_main.xml

f:id:havoc0214:20150826214202p:plain

■activity_mainのText版f:id:havoc0214:20150826214821p:plain

僕はxml全然わからないおじさんなので

下のDesignを押す

■activity_mainのDesign版

 

f:id:havoc0214:20150826214735p:plain

このようにスマホのプレビューを出してくれてて、

デフォルトでTextViewがついており、中に"Hello World"が書かれている画面がある

左には部品があり、時計など様々な部品が貼り付けることができる

ただ、このスマホの外枠がすこし邪魔なので、ツリーの隣にある歯車アイコンを

クリック、"Icon Device Frame"にチェックが入っているので外します

f:id:havoc0214:20150826215305p:plain

f:id:havoc0214:20150826215331p:plain

■TextViewをいじってみる

というわけで、画面のデフォルトにあるTextViewをすこしいじってみる

まずはPropertyの中にあるTextを直接変えることができる

 

f:id:havoc0214:20150826220531p:plain

ここで"@string/hello_world"は

xmlの参照の仕方なのかわからないが

res→values→dimens.xml→strings.xmlのなかにあるhello_worldの中身を参照しているようだ。

f:id:havoc0214:20150826220947p:plain

f:id:havoc0214:20150826221122p:plain

コンパイルいらずでいじったら即反映されます。

コンパイルすると実機やエミュレータに反映される

f:id:havoc0214:20150826222003p:plain

PropertyのTextの中身を直接変えることもできるがxmlのほうでいじる方が汎用性はありそうだ。

 

■まとめ

androidの画面をすこしいじりました。

 

 

Android Studioのそのほか設定と問題

Android Studioの設定

Android Studioの設定としては以下のサイトを見ながら設定した。

dev.classmethod.jp

 

line number(行数表示)など最初に設定する方がいいと思われる。

あとはコードテンプレートなど

ちなみにFile→settingを押して設定

Android Studioのプレビューが表示してくれない

Android Studioでプロジェクトなどを作った際に

スマホをプレビューで表示してくれる機能があるが

どうやら下のAPIのところが「23」の時はRendering Problemがでて

プレビューが表示してくれない。

ということで下図のところをクリックして、19に下げてみると

f:id:havoc0214:20150825225317p:plain

f:id:havoc0214:20150825225540p:plain

同じような症状が出れば、いじってみれば治るかも?

エミュレータの導入~Intel HAXMの罠~

目的 : android studioにてエミュレータを使う

まずはエミュレータを起動させるために, android studioを起動する。

手順1 : 

AVDのボタンを押す→Createボタンを押す

f:id:havoc0214:20150825213808p:plain

手順2 : 

任意に機種を選択(ここではNexus 6を選択)

f:id:havoc0214:20150825213930p:plain

手順3 :

System Imageの選択. (Android6.0を選択しました)

f:id:havoc0214:20150825214018p:plain

手順4 :

「Show Advance Setting」をクリックし、下のところのSkinの欄で「No Skin」を選択

f:id:havoc0214:20150825214200p:plain

手順5 :

Finishで先ほどの画面に追加されるのでエミュレートしてみる

f:id:havoc0214:20150825214442p:plain

が!!!

f:id:havoc0214:20150825214525p:plain

なんじゃこりゃ?

訳: Intel HAXMをインストールしてください。

 

解釈としては, WindowsのOSで仮想的にAndroid OSをエミュレートするために

Intel HAXMが必要で, どうやらこれをインストールせよとのこと。

 

Android Studioの導入 - HONDAのAndroid アプリ開発忘備録

前回の導入では入れたんだけどなぁ。

というわけで, 直接インストールしにいく

"F:\Android\AndroidSDK\extras\intel\Hardware_Accelerated_Execution_Manager"

注意 : 僕はAndroid SDKをデータHDDにぶちこめている.

(デフォルトならば, Cドライブにあるのじゃないかな) 

"Android SDK"→"extras"→"Intel"のなかにあるフォルダに

「intelhaxm-android.exe」がある。

これを起動すると

f:id:havoc0214:20150825215310j:plain

イラッ

 

というわけで調べてみた。

andro.hatenablog.com

■ Androidエミュレータ爆速環境を試そうとして「XD not supported」

というわけで、Biosを開いて, 

「CPU config」の中にある「Intel Execute」をDisable からenableへ

先ほどのexeファイルをダブルクリックでIntel HAXMをインストール

注意: 2GBあります。さらにインストール先設定できません。

(HONDAの残りHDD容量:2GB)

インストールできたので、先ほどエミュレータをRunすると完成

f:id:havoc0214:20150825220330p:plain

まとめ

Android Studioでエミュレートしました