Android 「Google Mapsで問題が」

こんにちはうさです。 Android StudioでGoogle Mapsのアプリを起動させて、 あるポイントにズームするようにしましたが、こんな表示ができきてしまった。 スクリーンショット 2015-01-29 14.19.42 こちらのエラーメッセージを確認してみると ../../sdk/emulator/opengl//host/libs/Translator/GLES_CM//GLEScmImp.cpp:glColorPointer:433 error 0x501 上記のコードのようにあるポイントを指定してズームをしようすると、 GoogleとAndroidのロリポップエミュレータでアプリケーションがクラッシュしてしまうようです。 エミュレータの設定を変えたりしてみたのですが、 改善しない!! 原因はよくわかりませんが、 new LatLng(35.671241 , 139.765041) , 15); のズームは(15)に設定されているみたいなのですが、 この値を(13)以下に設定するととりあえずは動いた。 スクリーンショット 2015-01-29 14.29.38 今後これでは利用しづらいので、 ズームの値を変えなくても、アプリが起動出来るように 改善していく。

Android StudioでGoogleMapsを利用

こんにちは、うさです。 今回はAndroidStudioの開発環境でGoogleMapsの利用をしてみました。 少し設定が必要ですがそんなに難しくなく助かりました。 1から手順を踏んでいきます。 ①まず、APIをを利用する為に「Maps API Key」なるものの入手が必要になってくるみたいです。 それを入手する為に、JDKのフィンガープリントというキーコードを確認します。 その確認の仕方(Macの場合)は、ターミナルを開いて 「keytool -v -list -keystore ~/.android/debug.keystore」とそのまま入力します。 すると、『キーストアのパスワードを入力してください』と表示されるので、Enterを押すと 証明書のフィンガプリント: MD5: ◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯ SHA1:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯ SHA256: ◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯:◯ といった具合に表示があるので、「SHA1」の部分だけメモしておきます。 ②次に先ほどの「SHA1」を使って「Maps API Key」の入手にははいります。 「https://code.google.com/apis/console/」にアクセスして 「API」の「Google Maps Android API v2」の「OFF」を押して「ON」にします。 スクリーンショット 2015-01-29 12.01.31 続いて、「認証情報」の「新しいキーを作成」を押して スクリーンショット 2015-01-29 12.06.28 「Androidキー」を押します スクリーンショット 2015-01-29 12.06.41 そして下の枠に、先ほどメモした「SHA1のフィンガプリント」をコピペでもして「;」で区切って、 後で新しいプロジェクトを作る時の「パッケージ名」を書きます。 スクリーンショット 2015-01-29 12.08.27 作成をすると「認証情報」に下記のように「Androidアプリのキー」が取得できました。 「APIキー」は後で使うのでこれもメモしましょう。 スクリーンショット 2015-01-29 12.10.30 ③APIキーが取得できたので、今度は「Android Studio」の方で「Android SDK Manager」を起動させて 『Android 5.0.1(API 21)』利用の場合、「Google APIs ARM EABI v7a System Image」と 『Extras』から「Google Play services」と「Google Repository」をインストールします。 ④インストールできたら、新しいプロジェクトを作っていきます。 このとき、「Project location」が「Androidアプリのキー」の「パッケージ名」と同じにします。 でないと、Mapが表示されなくなってしまいます。 「Create New Projectウィザード」で「Google Maps Activity」を選択して、 新しいプロジェクト作成は完了です。 ④そうしたら、「Project」ウィンドウの「google_maps_api.xml」を開きます。 この中の「YOUR_KEY_HERE」の部分を先ほどメモした「APIキー」の値に書き換えます。 ⑤最後にGoogle Maps専用のエミュレータを作ります。 今まで使っていたエミュレータと変えるところは、 「Android~」ではなくて「Google APIs~」を使います。 スクリーンショット 2015-01-29 12.45.26 そして、アプリを起動させると、 スクリーンショット 2015-01-29 12.48.56 「Google Maps」が表示されました。 これを使って、色々な表示をしてみたいと思います。 以上うさでした。 こちらに書いてある通りに行いました。
スクリーンショット 2015-01-28 18.30.53

Android 「SQLiteを用いて」

こんにちは、うさです。 本日は、「SQLiteDatabaseクラス」を用いて、データベースから特定のデータを検索するアプリを作りました。 ざっと、こちらのコードのポイントを見ていきます。 こちらは「query」には実行するSQL文(SELECT)が記載され、 「null」の部分は 例えばSELECT文が(SELECT * FROM namelist WHERE point = ?)となっていた時に「?」に対応する式が入ります。 「new int[]{条件}」こういった形ですね。 続いて、こちらは 特定のデータをひとまとめにしてビューに渡す時に利用するオブジェクトで 「ArrayList」を用いています。 表示はこんな感じ スクリーンショット 2015-01-28 18.30.53 以前に「MySQL」や「PostgreSQL」をやった分わかりやすかったという印象です。 この他に、テキストを書き込んで、それをデータベースに保存するというものもあるので、 データベースの利用の仕方は知っておく。 以上、うさでした
スクリーンショット 2015-01-27 15.39.03

Android レイアウトについてのあれこれ

こんにちは、うさです。 今回はレイアウトについて復習と重点をメモ程度に書いていきます。 僕は今まで レイアウト用のコードは「XMLファイル」に プログラミング用のコードを「Javaファイル」に記載していきました。 そうすることで、レイアウトの展開イメージとプログラムの動作イメージが掴みやすいからです。 また、不具合がある箇所や改良すべき点が見つけやすくなります。 「XMLファイル」におけるレイアウトではプログラムの実行中に画面の配置を変えたり新たなウィジェットを配置する事ができないので、 そういった場合は「Javaファイル」で処理を書く必要がでてきます。 「XMLファイル」の記載方法とそれによるレイアウトについて確認していきます。 こちらのコードは3つのボタンを縦方向に並べたものになります。 並べ方は「vertical」が縦方向で「horizontal」が横方向への配置になります。 それぞれのボタンのサイズはandroid:heightとandroid:widthで設定出来ます。 単位としては「dp」でピクセルを基本にしています。 このピクセルの欠点は解像度によって表示されるサイズが異なってしまうことのようです。 それを改善する為には単位を「dpi」とすることで解像度が違っても同じサイズで表示できます。 続いて余白の設定についてですが、 android:paddingTop=””で上部に余白、android:paddingLeft=””で左側に余白を付ける事ができます。 ボタンにも活用ができます。 スクリーンショット 2015-01-27 15.39.03 レイアウトの基本をしっかりと抑えてUIを意識したアプリを目指します。 以上うさでした。
スクリーンショット 2015-01-27 13.57.07

Android 〜日付と時刻の取得〜

こんにちは、うさです。 本日は、ダイアログの表示において カレンダーから日付と時刻を取得するコードを紹介します。 まずはレイアウトファイルであるXMLがこちらになります。 レイアウトは見やすいように作っていきます。 僕は参考書通りに配置をしました。 続いて、処理を行うJavaのコードです。 上から重要なポイントをひとつひとつ見ていきます まずは、 varDateSetListener = new DatePickerDialog.OnDateSetListener() で日付設定ダイアログのOKボタンがクリックされたことを検知する為のインスタンスを生成 続いて public void onDateSet(DatePicker view , int year , int monthOfYear , int dayOfMonth){ editText.setText(year + “/” + (monthOfYear + 1) + “/” + dayOfMonth); でonDateSet()でダイアログで設定された日付パラメーターをエディットテキストに書き込む Calendar calendar = Calendar.getInstance(); は現在の日付データを取得しています。 DatePickerDialog dateDialog = new DatePickerDialog( MainActivity.this, varDateSetListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH) ); こちらは、日付ダイアログのインスタンスを生成しています。 dateDialog.show(); で、日付設定ダイアログを表示しています。 また、基本的に日付と時刻データの取得同じように行っていきます。 そして、起動させた時のエミュレータ上の画面はこちらになります。 スクリーンショット 2015-01-27 13.57.07 日付ボタンを押したら日付ダイアログが表示されます。 スクリーンショット 2015-01-27 13.57.20 「OK」を押すとエディットテキストに選択した日付が表示されます スクリーンショット 2015-01-27 13.57.40 同じように時刻ボタンを押すと時計の表示が出てきて、時刻を指定できます。 スクリーンショット 2015-01-27 13.57.49 すると、時刻の表示がされます。 スクリーンショット 2015-01-27 13.58.01 アプリを開発する際は時刻の取得と表示は必要になると思うので、 なんとなくでもいいので覚えておく。 以上うさでした。
スクリーンショット 2015-01-26 18.50.11

Android ダイアログをいくつか

こんにちは、うさです。 本日もAndroidの基本的な機能を勉強しております。 本日は主にダイアログについて!! まずは、チェックボックスを使ったダイアログ スクリーンショット 2015-01-26 18.50.11 パラメーターを全て「false」に設定してあり [ALERT DIALOG]のボタンをクリックするとダイアログが次の図のように表示されます。 スクリーンショット 2015-01-26 18.51.38 チェックして「OK」を押すと、「false」が「true」に変わるというものです。 スクリーンショット 2015-01-26 18.54.54 ダイアログは基本的なところになるで、どんな機能があるのかを把握していく。 また、オリジナルなダイアログも作れるので、その作り方も覚えてそれぞれのアプリに合ったダイアログを利用していく。     続いては、プログレスダイアログという時間のかかる処理の進捗状況を伝えるものを作っていきます。 「show」ボタンを押すと、右図のように時間経過とともにバーが動いていきます。 スクリーンショット 2015-01-26 18.59.45 スクリーンショット 2015-01-26 18.59.35 ソースコードを記載します。 CountDownTimer(10000 , 10)で 処理が終わるまでの時間(ミリ秒)と稼働中の処理を行う間隔を決定しています。    

Android 〜ウィジェットの学習〜

こんにちは、うさです。 本日はAndroidのウィジェット機能について AndroidStudioを利用して勉強しました。 例えばチェックボックスやラジオボタンを使っていくわけなのですが、 スクリーンショット 2015-01-23 17.45.52 このように左のウィジェットをドラッグして指定の位置にドロップするだけで簡単に機能を追加できてしまいました。 更に右のpropertiesで「id」や「text」を変えられるため、 この画面のレイアウトをしている『activity_main.xml』のコードを書いたり変更したりする必要がありませんでした。 後は、Javaでプログラミングをして処理をさせればいいわけですね。 まずは基本的なウィジェットを覚えて、グラフィックスやダイアログを用いての処理に移っていきます。

Android開発でエミュレータ起動を速く!!

こんにちはうさです。 昨日から始めたAndroidですが、 コードを書いて実行させるときはエミュレータなるものに表示をさせるわけですが、 まず起動させてみると、非常に遅いんですよ!! だいたい2、3分くらいかかってるのではないでしょうか!! 遅い時は10分なんてことも!! なので、少しでも速く起動させる為にプラグインを使っていきます。 こちらの記事を参考にさせていただきました。 ほぼ100%この通りにやれば簡単に設定できてしまいます。 こちらの記事にも書かれている通り、20秒かからないくらいで エミュレータが起動できてしまうので、是非入れたいプラグインですね。 Androidとは関係ないのですが、 本日、Javaで気になった事があったので、 メも程度に!! それは、数値を文字列化するメソッドです。 今までは、例えば と記述していましたが、 今使っている参考書では とvalueOf()を用いており何が違うのか調べてみました。 基本的な処理に関しては同じ結果になります。 違いとしては valueOf()はtoString()を呼び出して処理をしているということです。 すると、処理の仕方として、 valueOf()は数値を文字列に変換しているといったもので、 toString()は数値からStringオブジェクトを生成しているものだということです。 また、型の違う別の変換を渡してしまった時は valueOfはコンパイルを通してしまうらしいです。 結論としてはどっちを使ってもいいと思いますが、 プロジェクト内では統一した方がいいとのことです!! 以上うさでした。

AndroidStudioとは

こんにちはうさです。 本日からAndroidアプリの開発をすべく勉強していきます。 僕はいつも開発環境設定でつまずいてしまい、時間がとてもかかってしまいます。 今回も新しくAndriod開発を始めるという事で、 少々時間はかかりました。 しかし、今回参考にさせていただいている本はとても丁寧に解説してあり、 今までよりは早く環境設定ができました。 今までeclipseで何でもコードを書いていたのですが、 この参考書は「Android Studio」という2014年12月にGoogleが出した開発環境で記載されているため、 まずはeclipseではなくAndroid Studioで頑張っていきます。 この開発環境のいいところは書いているコードがリアルタイムで スクリーンショット 2015-01-21 16.47.35 このようにプレビューとして映し出されるところですかね。 わざわざ更新する手間が省けますね。 まだまだ、始めたばかりでどんな機能があるかはわかりませんが、 何が出来るのかとても楽しみであります。 また、AndroidStudioはメニューなど全て英語で書かれているため、 eclipse同様日本語化を試みましたが、 完全に日本語にはなりませんでした。(一部日本語か成功) もしかしたら他にやり方やプラグインがあるかもしれないので、 今後、完全に日本語かできるように色々試していきたいと思います。

JavaScript 総復習

こんにちは、うさです。 本日は、前回終えたJavaScriptの総復習を行い、 今、自分がわからないことの確認をしました。 色々とわからない事があると感じたのですが、 一番はメソッドですね!! メソッドでの意味がわからないとどんな処理がされているのかわかりませんし、 自分でWebページの作成をする時も 何も出来なくなってしまいますね!! 後は、ひたすらサンプルコードを書いていると、 「”」を付けるのか否か、 引数は何だっけ等といったミスがよくありました。 その辺も一つ一つ確認しながら行いました。 それでは、今回使った参考書によく出てきたメソッドを紹介します。 まずは『prompt()』 変数 = prompt(メッセージ , デフォルト値) といった形で記載します。 これは、ダイアログボックスに「メッセージ」が表示され、ユーザがダイアログボックスのテキストボックスに書いた文字が「変数」に挿入されます。 それを使った例としてはダイアログボックス上での足し算です。 ダイアログボックスの表示は以下の通り スクリーンショット 2015-01-20 16.35.48 このサンプルはダイアログボックスに入力をさせたが、 基本的にはHTMLでテキストボックスに書いた文字や数字を処理していく方が多いと思われる。 とりあえずはどんなメソッドがどんな処理をするのかをしっかりと覚えていく。 今日はこの辺で失礼します。