ボタンアクション

新しい開発環境になって初めての開発。今までやったことを大分忘れていたので追いつくのにちょっと手間取りましたが、ちょっと見直したらすぐできるようになりました。こうして振り返ってみると、大したことしてないですね。

麻痺している右手をマッサージしつつやりました。相変わらずハコニワデザインさんにお世話になりつつ。

ボタンのアクション

  • viewの表示・非表示
  • 画像変更
  • テキスト変更
  • テキスト装飾(大きさ・色)

Javaに入ると丁寧にやらなくてもなんとなくわかりますね。ボタンのイベントの取り方さえ知ってしまえばこっちのものだ、というかんじ。MFCは少し触れるので、慣れている部分もあるかもしれません。

ただ、EditTextから入力されたstringを取ってくるコードを書いているところで突然のエラー。Objeここのページctのidを取ってくるRに赤線が…。

ビルドしてみると、AndroidManifest.xmlというやつの中で、

“Error: No resource found that matches the given name (at value with value @integer/google_play_services_version)”

というエラーが出ているとのこと。何のこっちゃ。

Google play service SDKのエラー

結論から言うと、Google Play Serviceのライブラリをちゃんと読み込むようにしたら直った。

ここのページを参考に、SDK自体はすでにインストールしていたので、

インストールしたSDKをプロジェクトで使えるようにする。
build.gradle ファイルに追記するわけだが、プロジェクト直下のファイルではなくモジュールごとのファイルを編集するので注意。

dependenciescompile 'com.google.android.gms:play-services:+' を追記する。
こんな感じになる。

build.gradle

apply plugin: ‘android’ : dependencies { compile ‘com.android.support:appcompat-v7:+’ compile ‘com.google.android.gms:play-services:+’ }

これだけやってみて、gradleをsyncしたらエラーが消えた。

が、GooglePlayServiceに関係ありそうなコードはいれてないし、なぜ突然そんなエラーがでてきたかはなぞ。ただ、途中importファイルを追加しようとしてAlt + Enterを押したつもりがなんだか変な選択肢がでてきて、適当に選んでしまった。そのあと、デフォルトで入ってるonCreateの下にonStartとかonStopとかいう関数が自動で追加されていたので、それが悪かったような気は大いにする。

このエラー、ググってみると結構似たような質問が簡単にでてきたし、「それみんなぶち当たる壁だけど、GooglePlayServiceをちゃんと取り込んだら大丈夫だよ」みたいなことが書かれていたので、AndroidStudioでは結構よくある問題なのかもしれない。

なんにせよ、直ってよかったです。

Gradleってなんだ

ところでGradleってなんなんでしょう。AndroidStudioでは最初から気になっていたGradle。どうやらビルドに関係があるということはわかりますが……。

ググってみたらこのページが分かりやすかったです。

Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へJava製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へ

……冒頭の質問文、「Ant とか Gradle とか,名前は見かけるけど何に使っているのかよくわかりません (意訳)」がまんま自分で笑いましたね。なるほどビルドツール。よく分かりました。

自分は業務でVisualStudioを使っているのですが、あれはビルドツールが統合されている(?)のであまり認識していないんですかね。Property > Linkとかがそれに該当すると理解しました。

今回エラーのためにbuild.gradleというファイルをいじって直しましたが、VSでいうならLinkerエラーでproperty以下の設定を直したり、projectファイルの設定のところを書き直したりしたような感じなんでしょうか。それなら、よくあるエラーというのもちょっとわかるかもしれない。

まとめ

  • ボタンのイベントは、xmlでonClickを追加すれば、設定した関数のところに飛んでくる。
  • 表示されているObjectは、((***View)findViewById(R.id.****)).~~~~~で大体いろいろできそう。ともかく指定さえできれば操作は関数を見ればよい。
  • Gradleはビルドツールの名前。AndroidStudioの標準ビルドツールで、先行ツールのいいとこどり

遅々とした歩みですが進んでます。

 

 

広告

久しぶりに

本当に久しぶりにようやく続きを書きます。

いろいろあって開発用のPCが変わりました。新しいPCにAndroid studioを入れなおすもエミュレータが動かず……。いろいろやったけど無理だからもういいやと実機でデバッグしようとするも認識せず。こちらはドライバーをちゃんと入れたりUSB接続の方法を変更したりしたら無事に使えるようになったのでようやく開発ができます。

私生活では勉強している暇がないほどいろいろなことがおこりました。なんだか人生に対する考え方も変わったりして、個人的には結構激動だったんですが全部自分の内面で起こっていたことなので普段の生活は別段変わりないです。結論だけ言ってしまうと、プログラミングは結構好きだな、ということと、もうちょっと頑張ろう、ということと、英語勉強しよう、という感じです。

普段の生活は別段変わりない、と言いましたが一つだけ問題を抱えておりまして。右手がしびれていてPC作業がしんどいですね。数日前、肩・首こりが気になって自分でグイグイ指圧していたら神経を傷つけてしまったらしいです。右手がうまく使えないのと、右の首と脇が若干痛い。何事も過ぎたるは及ばざるがごとしというやつですね。キーボード叩くくらいはしますが、しばらくはおとなしくしていようと思います。

明日は予定がないし、ようやく開発環境もできたのでアンドロイドアプリの勉強を再開する予定です。