OkHttpの同期処理と非同期処理の書き方

下記はOkHttpで同期、非同期2通りのやり方で、サーバー上にあるPHPファイルにカテゴリ文字列と検索文字列を持たせてPOST通信でアクセスし、データベースからJSON形式で情報を取得している。

■同期処理

 

■非同期処理

Android開発で実機からローカル環境のファイルにアクセスする

Android開発でエミュレータからローカルファイル(パソコン内のファイル)にアクセスするには、

http://10.0.2.2/xxx.php

などと記述。しかしこの方法は実機ではアクセスできない。パソコンのIPアドレスを指定する必要がある。

パソコンのIPアドレスの調べ方

Windows8.1の場合
「スタート」→「検索」、右側に出てきたフォームに「cmd」と入力しEnter。

コマンドプロンプトが起動するため、「ipconfig」と入力しEnter。表示された情報の「IPv4 アドレス」に書かれているのがパソコンのIPアドレス。

ソースコードにURLを指定する場合、

http://192.168.xx.xx/xxx.php

などと記述。これでローカル環境に構築したデータベースにもアクセス可能。

AndroidでWebViewとAdmobを両方表示する方法

方法1

Relativelayoutで囲みWebViewを上、Admobを下に配置。

方法2

LinearLayoutでWebViewに、

の一文を加える。

方法1はWebViewに重なるようにAdmobが表示され、方法2は上下それぞれ独立したエリアで表示される。

AndroidでListViewの追加方法

xmlファイルの所定の部分に下記を追加。

■xmlファイル

■MainActivity.java

クリック(タップ)すると、選択された項目名がトーストで表示される。

Android Studioのアプリケーションの実行

Android Studioでアプリケーションの実行をすると、インストール端末選択ウィンドウが表示される。

この時「Use same device for future launches」をチェックすると、以降の実行時にウィンドウは表示されない。Android Studio再起動で初期化される。

Use same device for future launches

Androidでナビゲーションドロワーの実装方法

NavigationDrawerはDrawerLayoutを使い実装する。手順は、

1.レイアウトファイルにツールバー、ナビゲーションドロワ(中に配置するリストビュー)を設定
2.javaファイルに一連の処理を記述

■activity_main.xml

ツールバーを設置したのは、ツールバーの左上にトグルボタンを置くため。タップするとナビゲーションドロワが出し入れされる。ツールバーとアクションバーが同時表示されないよう、styles.xmlで「NoActionBar」を含んだテーマにする。

最新のAndroid StudioはBlank Activityで新規作成すると、xmlファイルがメニュー用(activity_main)、コンテンツ用(content_main)に分かれているが、それだとクリック処理が効かず、取り敢えず一つにまとめる。

layout_gravityは、

start
選択されている言語により、画面右または左から表示。
left
画面左から右に表示。
right
画面右から左に表示。

■ActivityMain.java

円形の当たり判定アルゴリズム

円形の当たり判定はピタゴラスの定理を使い斜線の距離から割り出します。ピタゴラスの定理とは、直角三角形の斜辺(c)の二乗は他二辺(a, b)をそれぞれ二乗した値の和に等しい、という定理。

a² + b² = c²

円形の当たり判定の図1

斜辺以外の二辺の長さが分かれば斜辺の長さも分かる(a + bの値を素因数分解)。下図のように二点間の円形の当たり判定を求める場合、まず直角三角形を作る。

円形の当たり判定2

円形の当たり判定3

点と点の場合、cが0以下か0を超えるかで判定。円は半径があるため、互いの半径の合計と比較。比較対象が二乗されているので半径も二乗する((pr + er) * (pr + er))。二点間の距離が0かそれを超えるか知りたいだけのため、素因数分解までして正確なcは求めない。

下はFlashで作った円形当たり判定のデモ。緑円をドラッグし赤円に当たると「HIT!」と表示される。

Get Adobe Flash player

当たり判定部分のコードは以下。

下が円形の当たり判定を行うCircleHitTestクラスのソースコード。

Android Studioのアイコンリソースの追加

アイコン等の画像リソースは以前はdrawableだったが、現在はmipmapに入れる。mipmapはAndorid 4以降に導入されたため、以前のAndroid端末に対応するためdrawableにも入れたほうが良い。

追加したい画像をクリップボードにコピー、mipmapを選択し右クリックから「Paste」を選択。

AndroidStudioの画像リソース追加1

どの画像サイズフォルダに入れるか聞かれるので選択。

AndroidStudioの画像リソース追加2

ファイル名の決定。

AndroidStudioの画像リソース追加3

追加されている。

AndroidStudioの画像リソース追加4

直接フォルダを確認しても、hdpiフォルダに追加されている。

Adobe AIRでapplication.xmlの情報を取得

Android StudioでSQLiteの中身を確認する

Tools→Android→Android Device Monitorを選択。

sqliteの中身を見る

File Explorer→data→data→パッケージ名→databasesを開き、DBファイルを選択。右上のpull a file from deviceを押下でエクスポート。

sqliteの中身を見る2

SQLiteのDBファイルを閲覧可能なソフトを使い閲覧。