ボタンをおしてTextViewの内容を変える
目的 : ボタンを配置して, おすとTextViewの内容を変更する
というわけで、ボタンを配置して、ボタンを推すと、テキストが変わるようにする。
手順1 : ボタンを配置
Wigetの中のButtonをドラッグ&ドロップ
TextViewが小さかったので、設定で大きくします。
Propertyの中のtextSizeをいじる
ここで、メモとしては
単位はsp(Scale-independent Pixels).
これはフォントなどの大きさを示す単位である、らしい。
dp(Density-independent Pixels)
とかもあるらしい(これは画面の距離とかの単位らしい)
なんかいろいろ単位がある
詳しいことはここで確認↓
【Android】今さら聞けない、px、sp、dip、dpの違い
手順2 : idの登録
ボタン、TextViewをダブルクリックすると以下のように
表示している内容を示す"text"とこのTextViewを示すidがある。
それぞれbuttonとTextViewのidを登録しておく
僕の場合
button : myButton
TextView : myTextView
と登録した。
手順3 : buttonのメソッド登録
ボタンのプロパティに"onClick"というものがあり
クリックしたときにメソッドを呼び出すことができる.
今回はtextの中を変更するので
"changeLabel"など命名
手順4 : MainActivity.javaの中でchangeLabelを登録
projectの中のjavaの中にMainActivity.javaがありここの中で
先ほど命名したchangeLabelの中身を書いていく
ここで、以下のソースを打つとViewクラスとTextViewクラスがインポートされていないとエラーが出るのでAlt+Enterで導入することができる。
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という名前のオブジェクトを生成していると思う。
そしてコンパイル!
でました奥さん。
エラーですよ。
なにやら、@+idの書式で書いてねとのことらしい
というわけで調べました
ということでid=@+id/のところを
id=@+id/mainに変更。
なにこれぇ
調べるとエミュレータを動かすHDDが容量不足とのことらしい
ええそうです。2Gしか残っていないOSのHDDが
何故か700Mになっていました。
ということで、色々アンインストールや消したりして、
3Gに回復。
コンパイル!!!!!
↓
やれやれだぜ
まとめ
テキストの中身をボタンで変えました
画面のTextをいじってみる
目的 :Androidの画面をいじってみる。
まずは、画面をいじるため、どこをいじるかを書き残す。
画面の情報はresorce(res)の中の"layout"の中にあるactivity_main.xml
■activity_mainのText版
僕はxml全然わからないおじさんなので
下のDesignを押す
↓
■activity_mainのDesign版
このようにスマホのプレビューを出してくれてて、
デフォルトでTextViewがついており、中に"Hello World"が書かれている画面がある
左には部品があり、時計など様々な部品が貼り付けることができる
ただ、このスマホの外枠がすこし邪魔なので、ツリーの隣にある歯車アイコンを
クリック、"Icon Device Frame"にチェックが入っているので外します
↓
■TextViewをいじってみる
というわけで、画面のデフォルトにあるTextViewをすこしいじってみる
まずはPropertyの中にあるTextを直接変えることができる
ここで"@string/hello_world"は
xmlの参照の仕方なのかわからないが
res→values→dimens.xml→strings.xmlのなかにあるhello_worldの中身を参照しているようだ。
↓
コンパイルいらずでいじったら即反映されます。
PropertyのTextの中身を直接変えることもできるがxmlのほうでいじる方が汎用性はありそうだ。
■まとめ
androidの画面をすこしいじりました。
Android Studioのそのほか設定と問題
■Android Studioの設定
Android Studioの設定としては以下のサイトを見ながら設定した。
line number(行数表示)など最初に設定する方がいいと思われる。
あとはコードテンプレートなど
ちなみにFile→settingを押して設定
■Android Studioのプレビューが表示してくれない
Android Studioでプロジェクトなどを作った際に
スマホをプレビューで表示してくれる機能があるが
どうやら下のAPIのところが「23」の時はRendering Problemがでて
プレビューが表示してくれない。
ということで下図のところをクリックして、19に下げてみると
↓
同じような症状が出れば、いじってみれば治るかも?
エミュレータの導入~Intel HAXMの罠~
目的 : android studioにてエミュレータを使う
まずはエミュレータを起動させるために, android studioを起動する。
手順1 :
AVDのボタンを押す→Createボタンを押す
手順2 :
任意に機種を選択(ここではNexus 6を選択)
手順3 :
System Imageの選択. (Android6.0を選択しました)
手順4 :
「Show Advance Setting」をクリックし、下のところのSkinの欄で「No Skin」を選択
手順5 :
Finishで先ほどの画面に追加されるのでエミュレートしてみる
が!!!
なんじゃこりゃ?
訳: 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」がある。
これを起動すると
イラッ
というわけで調べてみた。
と
■ Androidエミュレータ爆速環境を試そうとして「XD not supported」
というわけで、Biosを開いて,
「CPU config」の中にある「Intel Execute」をDisable からenableへ
先ほどのexeファイルをダブルクリックでIntel HAXMをインストール
注意: 2GBあります。さらにインストール先設定できません。
(HONDAの残りHDD容量:2GB)
インストールできたので、先ほどエミュレータをRunすると完成
まとめ
Android Studioでエミュレートしました