ワニの技術メモ

エラーが出たとき、わからない技術にぶつかった時の技術メモ

110日目 分からない。解決するために何の勉強が必要かを考える

AndroidStudioで、簡単なパズルゲームを作っています。コードはおそらく問題なさそうなのですが、画像が取得できずに足踏みしています。コードが問題なさそうと言い切れるのは、Downloadしたサンプルコードのおかげ。

試しに、サンプルコードをコピーして自分のプロジェクトに貼り付けてみましたが、自分が写経したコードと全く同じ症状になりました。コピー元のサンプルプロジェクトは問題なく動いています。

いろいろ調べましたが、同じ症状のパターンが見つかりません。 

ついに、Googleに何の言葉をいれていいか分からなくなりました。

テラテイルやStackOverFlowもチェックしましたが同じ症状は見つけられず。質問しようにも的確な言葉で質問する自信がなく今は諦めています。

でも、一つやってみたいことが浮かびました。

これと全く同じErrorがAndroidStudioをバージョンアップした時に現れました。

hakoniwadesign.com

 しかも、現在このPaletteタブが表示されていません。

おそらく、新しくプロジェクトを作るときに、Add No Activityを選択しているせいです。このhakoniwadesignを見ると、res>layout>activity_main.xmlがありますが、現在作っているサンプルプロジェクトにはありません。そういえば、ずーっと写経し続けていたテキストには、layoutフォルダがあって、デザインタブからいろいろ選択していました。

このPalette画面で画像をいじることできないか???と思えてきました。

様々なxmlの役目についてまだまだ理解できていません。このxmlについて勉強しながら画像の扱い方についてやってみようと思います。

参考 壊れている私のプロジェクト

▼私が作ったプロジェクト

背景画像とスタートボタンが取得できず、パズルのピースも壊れている。

f:id:hipopocroco:20150806235834p:plain

▼サンプルプロジェクトに、私が作った画像を入れたものです。無事動いています。

f:id:hipopocroco:20150806235853p:plain

 

 

 

 

109日目 解決できない!!!

最初から作り直しましたが解決できず。

今日の作業内容

【その1】新しくプロジェクトを最初から作りなおす

画像の保存の仕方の手順に問題があるかも!と思ったので作りなおして見ました。詳しくは▼ 昨日のエントリーを

108日目 プログラムは動くのに画像が壊れる理由を探る - 

次の手順で行いました。 

  1. 新しいプロジェクトを最初から作り直す。
  2. 画像を保存する
  3. 本の通りにコードを入力

*コードの入力は、昨日まで作ったものをコピーして貼り付けました。念のためメモ帳にいったんペーストしてテキストになっているのを確認してからAndroidStudioに貼り付けました。(この手順が必要が分かりませんが念のため)

結果は、、、昨日と同じく画像が取得できていない

ショック-ーー。やっぱり関係ないのか。

 

【その2】サンプルプロジェクトのコードをコピーして自分のプロジェクトに貼り付けてみる

本に付属しているサンプルプロジェクトはDownloadして常にチェック用として見ています。そちらは、きちんと正しく画像も取得され、きれいに動いています。

もし、サンプルプロジェクトのコードをコピーして貼り付けて、自分のプロジェクトでもきちんと動けば、私の入力したコードにミスがあったということになるはず!

結果は、、、、、私が作ったプロジェクトと同じく画像が取得できていない

きゃー、つまりコードは問題ないってこと??困った、、、厄介だ。

前向きに捉えれば、私の入力にミスはなかったってこと??

じゃあどこに問題があるんだろう、、、、。

 

エミュレーターで見るサンプルプロジェクトの違い

▼私が作ったプロジェクト

f:id:hipopocroco:20150806235834p:plain

 

▼サンプルプロジェクト(私が作った画像を入れ替えました。きちんと画像も取得されてきれいに動いています)

f:id:hipopocroco:20150806235853p:plain

 

今作っているサンプルプロジェクトが載っている本はこれです

*追記 デザインショボ。。。。今年の年賀状をとりあえずテスト用にサイズを変えて作ってみました。うーー恥ずかしい。でもいまさら恥ずかしがってもしょうがないかと開き直りました。もうちょっときちんとデザインも勉強したいです。

 今日の終わりに

次の手が浮かばない。

こんな時は、とりあえず、、、、

現実逃避だ!!

今晩、私を逃避させてくれる曲

▼オーストラリアのオーディション番組で歌われたHuman Nature 

ギター一本でこんな聴かせるのはすごい。

TaylorHenderson このオーディションをきっかけにデビュー

Taylor Henderson sings Human Nature Bootcamp ...

 

▼原曲はこれ、Michael JaksonのHuman Nature

名曲です。


Michael Jackson - Human Nature HQ - YouTube

▼JohnMayerのHuman Natureも捨てがたい。


Michael Jackson Memorial - John Mayer (Human ...

 

まずはしっかり寝よう。

 

 

 

108日目 プログラムは動くのに画像が壊れる理由を探る

 readBitmapの関数内でブレークさせてみました

この方法は前回のエントリーで教えていただいた方法です。ブレークさせてチェックするやり方がまだ慣れないのでこのやり方で合っているのか??と不安ですが、いろいろな発見がありました。

結論からいうと、、、

正しい画像の値が設定されているようです。(というのも、サンプル画像でも同じ場所でブレークさせても同じ値が入力されていることが確認できたので)

残念。これでミスが発見できれば楽になると思ったのに見つかりませんでした。

サンプルプロジェクなしで、プログラムが正しいかどうかを判断させることなど初心者の私にはまだまだハードルが高く難しいですが、すごーーーーーく勉強になりました。この問題が解決できたらデバックについてまとめてしっかり復習してみたいです。 

hipopocroco.hatenablog.com

新たなに生まれる疑問 

こんなにコードを見なおしてもErrorが発見できない。

しかも、Genymotion上でプログラムは動いているのです。背景画像とスタートボタンの画像が取得できていませんが。

今回、作っているプロジェクトは、途中から、サンプル画像を拝借し何度か入れ替えています。その時に何かおかしくなってしまったのではないか??という疑問が生まれてきました。

というのも、今日画像を移動させたて戻したらManifest.xmlファイルが壊滅的なErrorになりました。

以前HPを作ったときに、保存名や保存場所が異なるだけでリンクがつながらなかったことが思い出されます。

保存したファイルの名前が違うような単純なものではないにしても、画像をコピーして移動させた時、一見フォルダ名や画像そのものに問題はないように見えても複雑に変化してたりして、、、と思うようになってきました。

  1. 新しいプロジェクトをつくる
  2. 画像を保存する
  3. コードを書く

という手順に意味がある(はず?)なのに、それを知らずに途中で画像を動かしているためうまくつながっていないような気がしてなりません。

そこで、最初からもう一度全部作りなおすことにしました。

2回めの作り直し。

「次の手がある」って思えるだけでなんだが頑張れそうな気がします。締め切りがあったら諦めちゃうかもしれませんが勉強には締め切りはない!!

 

 

 

 

107日目 今日も解決できず。仕方がないので、丁寧にコードを日本語に訳してみる

簡単なパズルゲームをAndroidStudioで作っています。サンプルコードを写経して自分なりにアレンジを加えるはずがおかしい。プログラムは動くのですが、背景画像やスタートボタンが取得できない。

今日行った検証

①resフォルダの中身を確認する

  • サンプルコードのresフォルダと見比べる
  • 中身を一度取り出してサンプルコードの画像を移し替えてみる

でも、、、、解決できず。

 

②順番にデバックする

サンプルプロジェクトと、自分のプロジェクトを並べてデバックして、エミュレーターを動かしながら実際の画面がどのコードで異なるか探していきます。でも、結局異なるポイントはやっぱり、

g.drawBiitmap(bmp[0] , 0,  0);

コードでの違いは見つけられない。

 

③1行ずつコードを日本語に変えて訳してみる

今まで買った本、GoogleをつかってJavaのサンプルコードを日本語に変えてみることにしました。何回もコードを見なおしてもミスがみつけられないので。

大変ですが、JAVAの勉強のために、もともとやりたかったことなのでまあいいかーと思いながら始めました。英語の長文読解みたいなものです。すると、ここ分からないな~ということがたくさん浮かびあがります。今日は3分の1くらいまでおおまかな、日本語訳が終わりました。明日続きをやってみます。

 

でも、やっぱりコードの問題だけでなくて、もっと本質的なところで間違えているような気がする。。。もし、これが解決できたら相当嬉しいです。

気分転換について

深夜、分からないプログラミングの勉強していると、眠気が襲ってきます。そこで、最近のBillboardChartをYouTubeで聞いて気分を紛らわしています。久しぶりに自分の中でテンションの上がる曲が見つかったので載せちゃいます。プログラミングに疲れたらどうぞ。

▼80、90年代に洋楽に親しんだ方には懐かしいテイスト満載の曲じゃないかな。


WALK THE MOON - Shut Up and Dance - YouTube

▼原始的なアニメーションの技術を組み合わせて作る”映像が”カッコイイ!!久しぶりにPVでワクワクしました。


Skrillex and Diplo - "Where Are Ü Now" with ...

 

106日目 今日も解決できない

簡単なパズルゲームをAndroidStudioを使って作っています。

プログラムは動くのですが、背景画像が取得できていません。

今日行った検証方法

Downloadしたサンプルコードと同じ場所を順番にデバックして、違いをチェックしています。そうしているうちにやっと一つ気づいたのが

g.drawBitmap(bmp[0], 0, 0); 

以前もこのErrorに悩まされていましたが、意味がわかったような気がします。

このbmp[0]の0って画像の名前のこと???

すると、全部つながります。0の画像が取得できていません。

今日の終わりに

明日は何からチェックすればいいのか。。。。

もう一回、画像の取得について勉強だ!

105日目 背景画像が取得できない

無事プログラムは動いています。

でも画像が壊れています。

背景画像やスタートボタン用の画像が取得できていません。

書かれているJavaを理解でいていないままサンプルプロジェクトに挑戦している”つけ”が回ってきたようです。

「まずはアプリを1個リリースするぞ!」

と横着してJavaの勉強をサボっていたのがいかんかった。

どうやって画像を取得しているか、わかっているつもりでわかっていなかった。

明日からの勉強方法どうしようかな~。

 

もう一回、画像を取得する方法を復習してみよう。

 

母親業は体力勝負です

夏!熱い!朝から水遊び、夜はお祭り。娘の調子がいいうちにいろんな夏のたのしいことを!!!

と日中は子どものペースで駆け抜け、夜は勉強。さすがに疲れました。

子どもと過ごすことは体力勝負!!でも、ママ友にも恵まれ、余分な人間関係に悩む必要がいまのところないので、そういう疲れがないのが救いです。

104日目 AndroidStudio ブレークポイントを使ってデバックをする(復習)

昨日、ブレークポイントについて教えていただきました。

break文と勘違いしていました。どうりで全然うまく行かないはずです。

ブレークポイント!以前写経したテキストにも載っていたはずなのに、スルーしていました。知りませんでした。

ここで使い方を確認しておきます。

ブレークポイントを使ったデバックのやり方

①ブレークしたい箇所をクリックして赤い丸印をつける

②デバックボタンをクリック するとしばらくしてエミュレーターの選択画面が浮かぶハズ。自分の使っているエミュレータを選択して実行する。

③debuggerタグの中をチェックする

f:id:hipopocroco:20150728011301p:plain

Debuggerタグ右側の矢印表示を押すと行をステップさせながらデバックできました!すごい!ありがとうございます。

エミュレーターもブレイクポイント以前まではきちんと動いていることがわかりました。これから使用頻度が高くなりそうな機能です。

デバックの仕方は分かってもまだまだ理解できない

でも、書かれている内容はまだ理解できません。なんとなく、これのこといってるのかな???くらいのレベルです。もっと勉強しなくてはいけません。

ちなみに、今回はコードの入力ミス。

getPackageName としなくてはならないのを、

getPackageCodePath と間違えていました。

そのミスをVariablesからは発見できませんでした。

難しい。。。

もし、ここに書かれている事がわかるようになれば相当楽になりそうです。

もっと精進せねば。

 

スポンサーリンク