2013年5月30日(木)のツイート履歴

【Android】WebView内のJavaScriptやHTMLと相互連携する方法

JUnitについての書籍が遂に発売します!
Java開発時のユニットテストを加速する「JUnit速効レシピ」



今回は、WebView内に書かれたJavaScriptをアプリ側から起動したり、
HTML内のリンクタップをアプリ側で検知したり、
アプリ側からJavaScriptを介す事によって値をWebView内へ渡したり、
逆にWebView内の値をアプリへ渡す様な相互連携を行う方法について
サンプルコード付きで解説します。


まずは、アプリを外部のインターネットへ接続出来る様に権限を指定する必要がありますので、
権限の付加方法から解説しましょう。



  1. マニュフェストの設定でインターネット通信を許可しよう
  2. アプリ内のブラウザ。webViewを設置しよう
  3. WebViewに対してJavaScriptを実行しよう
  4. リンクタップ等、ロケーションの変更を検知する
『【Android】WebView内のJavaScriptやHTMLと相互連携する方法』を続きを読む »

2013年5月29日(水)のツイート履歴

【Android】GooglePlayによるアプリ内課金実装方法

JUnitについての書籍が遂に発売します!
Java開発時のユニットテストを加速する「JUnit速効レシピ」


Androidアプリにて課金処理を行う方法を解説します。
アプリの重要な収入源となりますので、なるべく習得しておきたい技術ですね。

Androidアプリにて課金を行うには、GooglePlayの機能を使います。

まずはGooglePlay決済に必要なモジュールをインストールしましょう。
専用のモジュールとして『IInAppBillingService』が用意されています。

  1. IInAppBillingServiceモジュールのインストール
  2. IInAppBillingServiceモジュールに接続しよう
  3. GooglePlayの課金の仕組みとは?
  4. 商品情報の詳細を取得しよう
  5. 開発段階で、テスト用のプロダクトIDを用意出来ない場合は?
  6. 商品を購入しよう
  7. ユーザの注文情報を取得しよう
  8. 過去に購入した商品の消費を通知しよう
『【Android】GooglePlayによるアプリ内課金実装方法』を続きを読む »

2013年5月28日(火)のツイート履歴

  • Androidが用意している基本ダイアログは四種類。アラート表示『AlertDialog』インジケーター表示『ProgressDialog』日付選択用『DatePickerDialog』時間選択用『TimePickerDialog』根柢クラス『Dialog』の拡張でオリジナルも可
    17:50
  • Androidで非同期処理を行いたい時は、『AsyncTask』クラスが便利。前処理『onPreExecute()』メイン処理『doInBackground()』後処理『onPostExecute()』をオーバーライドで実装。『execute()』にて非同期処理開始
    14:45
  • 『Google Maps SDK for iOS』の導入に必要な開発環境は『Xcode 4.5以降』『iOS 6.0以降』です。アプリ実行に必要な環境は『iOS 5.1以降』で、グーグルマップのURLスキームを使用するアプリは別途『Google Maps』アプリが必要です
    14:09
  • Android開発において、GooglePlay課金を行う為接続したバインドは、アクティビティ終了時に必ず解除しましょう。『unbindService( コネクション );』解除を行うタイミングは、アクティビティが破棄される直前の『onDestroy()』が良いでしょう。
    10:17
  • Android開発において、GooglePlay課金を行う為に必要なパーミッションは『<uses-permission android:name="com.android.vending.BILLING" />』です。『AndroidManifest.xml』へ追記しましょう。
    10:14

2013年5月27日(月)のツイート履歴

  • Androidアプリ開発において、『MapActivity』等のGoogleMap関係を読み込む事が出来ない場合は、ビルドターゲットのAPIが違う可能性があります。プロジェクト名⇒右クリック⇒プロパティ⇒Androidで表示される中から、GoogleAPIsを選択しましょう。
    16:35
  • Android開発にて、ビルドは通るのに『NoClassDefFoundError』というエラーが出てしまう時は必要なものがエクスポートされていない可能性あり。プロジェクト名⇒右クリック⇒プロパティ⇒Javaのビルド・パス⇒順序およびエクスポートの中身にチェックが入っているか確認
    16:33
  • Android開発において『Re-installation failed due to different application signatures.』というエラーはインスト―ルしたPCと実行したPCが異なる場合に発生。アプリを削除し、テストしたいPCから再インストールで実行
    16:28
  • Javaでは、メソッドの引数にデフォルト値を指定して、省略可能にするという書き方は出来ません。基本的に、同様の事をしたい時はオーバーライドにて上書きする形で実装します。
    15:44

2013年5月24日(金)のツイート履歴

  • Three.jsでは、ローカルで動作する事が出来ないものがあるので、(セキュリティポリシー)サーバーに上げながら開発を進めると良いでしょう。また、XAMPP等のサーバソフトと連携するのも良いかもしれません。
    10:29
  • Three.jsの光源として、『THREE.SpotLight』を使用する場合のレンダラーは『THREE.WebGLRenderer』である必要があります。ですので、『THREE.CanvasRenderer』では動作しません。影をつけるのもWebGL必須となります。
    09:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『トーラス結び目』を作成するには『TorusKnotGeometry』を使用します。『TorusKnotGeometry(半径,筒の半径,分割数,筒の分割数,巻き数,捻り数,奥行きの倍率)』
    08:12
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『トーラス』を作成するには『TorusGeometry』を使用します。『TorusGeometry(半径,筒の半径,分割数,筒の分割数,中心角)』
    08:11
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『回転体』を作成するには『LatheGeometry』を使用します。『LatheGeometry(頂点配列,分割数,中心角)』
    08:11
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『20面体』を作成するには『IcosahedronGeometry』を使用します。『IcosahedronGeometry(半径,面の分割数)』
    08:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『8面体』を作成するには『OctahedronGeometry』を使用します。『OctahedronGeometry(半径,面の分割数)』
    08:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『4面体』を作成するには『TetraGeometry』を使用します。『TetraGeometry(半径,面の分割数)』
    08:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『球体』を作成するには『SphereGeometry』を使用します。『SphereGeometry(半径,経度分割数,緯度分割数,開始角度,中心角,開始角度,中心角)』
    08:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『パラメトリック曲面』を作成するには『ParametricGeometry』を使用します。『ParametricGeometry(関数,横分割数,縦分割数,三角形分割)』
    08:10
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『円柱』を作成するには『CylinderGeometry』を使用します。『CylinderGeometry(上面の変形,下面の半径,高さ,円周の分割数,縦分割数,筒に蓋をするか否か)』
    08:09
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『立方体』を作成するには『CubeGeometry』を使用します。『CubeGeometry(幅,高さ,奥行き,横分割数,縦分割数,奥行き分割数,各面のマテリアル,各面の表示活性状態)』
    08:09
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『円』を作成するには『CircleGeometry』を使用します。『CircleGeometry(半径,分割数,開始角度,中心角)』
    08:09
  • Three.jsで生成する事の出来る3Dオブジェクトの一つとして、『平面』を作成するには『PlaneGeometry』を使用します。『PlaneGeometry(幅,高さ,横分割数,縦分割数)』
    08:09

2013年5月23日(木)のツイート履歴

  • Android開発において位置情報を取得する『LocationManager』へ登録する事の出来るプロバイダーは三種類。GPS『GPS_PROVIDE』、3GやWIFI『NETWORK_PROVIDER』、他のアプリ等で既に取得された情報を流用『PASSIVE_PROVIDER』
    18:43
  • 【Android】遷移先のActivityを『startActivityForResult』にて起動させた場合、遷移先が『finish()』にて破棄された時に、遷移元の『onActivityResult()』が起動され、遷移先でセットした値を取得する事が出来ます。
    17:22
  • 【Android】遷移先から値のコールバックがある場合は、intentによる遷移の方法として『startActivityForResult()』を使用します。第一引数にはintentを指定し、第二引数には、どこからのコールバックなのかを判別する識別番号を指定します。
    17:17
  • Androidアプリ開発において、パディングを指定したい時は『setPadding();』を使用します。引数には、パディングの値を四方向指定する必要があり、第一引数が左、第二引数に上、第三引数で右、第四引数に下のパディング値を指定します。
    14:25
  • プログラミングで時間を管理する時によく使う単位として、『ミリ秒』があります。時間にすると、1000分の1秒。『ms』や『msec』と表記されます。
    12:20
  • 【Android】onStatusChangedで取得出来るステータスは定数で比較する事が出来ます『LocationProvider.定数』利用可能『AVAILABLE』サービス圏外『OUT_OF_SERVICE』一時的に利用不可『TEMPORARILY_UNAVAILABLE』
    11:00
  • Android開発において、位置情報を取得するのに登録した『requestLocationUpdates()』にて、プロバイダーの状態が変化した時にコールバックで通知される『onStatusChanged()』メソッドへは状態を表すステータスが返却されてきます
    10:59

JavaとObjective-Cの比較一覧まとめ【iPhone|Android】

JUnitについての書籍が遂に発売します!
Java開発時のユニットテストを加速する「JUnit速効レシピ」


iPhone/iPad/iPodアプリ開発者がAndroidアプリも開発する場合。
Androidアプリ開発者がiPhone/iPad/iPodアプリも開発する場合。
大元のアプリがあって、相互にコンバートする場合。

その様なシーンで使える、JavaObjective-Cで、同じ事をしようとした時に、
それぞれの言語ではどの様に実装するのか。そういった比較表を作成しました。

コンバート時や、同時開発時に参考にして下さい。


どんどん充実させる為に、随時追記していきます。

  1. 事前準備と大前提
  2. JavaとObjective-Cで使用される主な型名の違い等
  3. 定数の宣言
  4. コメントアウト
  5. 型変換関係
  6. 配列,連想配列関係
  7. 文字列関係
  8. 時刻関係
  9. その他
『JavaとObjective-Cの比較一覧まとめ【iPhone|Android】』を続きを読む »

2013年5月22日(水)のツイート履歴

  • Android開発にてTextView内の水平位置を指定するには『setAlignment()』で定数を指定。中央寄せ『Alignment.ALIGN_CENTER』通常『Alignment.ALIGN_NORMAL』通常と逆『Alignment.ALIGN_OPPOSITE』
    18:34
  • Androidアプリ開発にて、テキストを表示するTextViewに対して、フォントサイズを指定するには『setTextSize()』を使用し、実際に表示させる文字列を指定するには『setText()』を使用します。
    18:30
  • Android開発で使用する『LinearLayout』は『setOrientation()』にて渡す定数によって縦と横を切り替えます。 縦のレイアウトでは『LinearLayout.VERTICAL』 横のレイアウトでは『LinearLayout.HORIZONTAL』を指定
    18:19
  • Androidアプリ開発に使用する事の出来るレイアウトは全部で5種類存在します。『LinearLayout』『TableLayout』『FrameLayout』『RelativeLayout』『AbsoluteLayout』
    17:54
  • Androidアプリ開発において、『removeUpdates()』を実装しても、『LocationListener』の『onLocationChanged()』が呼ばれなくなってしまった場合は、端末を再起動すると治る事があります。
    17:43
  • Androidアプリ開発において、位置情報の通知先として『LocationListener』の『onLocationChanged()』が呼ばれない場合は、『removeUpdates()』の実装を疑って下さい。
    17:43
  • Androidアプリ開発において、位置情報を取得するのに『LocationManager』の『requestLocationUpdates()』を使用する場合は、必ずActivityを終了する時に『removeUpdates()』でリスナーを解除する必要があります。
    17:42
  • Three.jsにて、平面のジオメトリーを扱う場合は『PlaneGeometry』を使用します。『new THREE.PlaneGeometry( 幅, 高さ, 横の分割数, 縦の分割数 );』
    16:49

人気の投稿

Category

Algorithm (2) Android (8) ASP/aspx (1) Blogger (2) C/C++ (1) Chrome (5) CSS (9) Firefox (4) Fortran (1) Google (9) GoogleMap (2) HTML (12) IE (3) Information (4) iOS (2) iPhone/iPad/iPod (2) Java (6) JavaScript (16) jQuery (9) JSP (1) LifeRecipe (5) Linux (2) Macintosh (2) MapKit (4) Marketing (7) MySQL (3) NAMAZU (2) Objective-C (7) Other (7) Perl (1) PHP (9) Python (1) RSS/Atom (2) Ruby (1) Safari (2) SEO (11) Smarty (2) SQL (2) Tex (1) Three.js (1) Twitter (1) TwitterLog (313) UIKit (5) Unix (1) VBA/VBS (1) Windows (5) WordPress (3) Writing (5) XAMPP (1) XML (1) Yahoo (2) ZendFramework2 (14)

Archives