SSブログ
Androidアプリ開発 ブログトップ
前の10件 | -

WiFiで位置情報 ロケーションサービスを実験する [Androidアプリ開発]

えーと本日は、WiFiアクセスポイントを使った位置情報の話題である。

私は、日々の日課として、お散歩をしている。散歩中には、スマフォを携帯している。ということで、WiFiをONにするだけで位置情報が取得できるのかを実験してみた。

実験は単純である。

1 スマフォのGPS機能をOFFにする
2 スマフォのWiFi機能をONにする
3 地図アプリを起動する
4 移動中に安全な場所で現在位置を取得する

どうも最近スマフォの調子が悪い。夜間に充電しておくと、朝になってフル充電になるのであるが、それと比例してメモリの空きがなくなってしまうのである。
なんか、変なアプリ入れたから?メモリクリーナー的なアプリを入れてみたが、やはり朝起きるとメモリ不足で極端に遅くなる。困ったものである。しょうがないので、androidをリブートするのである。リブートしてから散歩に出かけた。

基本、家のWiFiに接続されている間は、自宅位置が正確に地図上に表示される。多分、家のWiFi APがデータベースに登録されているのであろう。データベースに登録して欲しくない場合は、SSIDの末尾を「_nomap」にすれば良いらしいが、別に位置情報が登録されているからって、何か悪いことがあるのか?と疑問符が付くので、とりあえず何もしていない。多くの家庭ではSSIDなんて設定しないでデフォルトのまま使っている、っていうことが多いかも知れない。

スマフォの場合、無料のWiFiにつなげると、自動的に位置情報がアップされてしまい、喫茶店でサボっているのがわかってしまう、といった問題があるらしい。WiFi APのMACアドレスから自宅住所がバレるという問題もある。夜逃げできないっていうことですかね。

まぁ「知らぬがほとけ」なのである。

でもって、実験に戻る。地図アプリを起動させながら、家から100メートルほど離れた。
もう、自宅のWiFiには接続できないくらい遠い。しかしながら、なんか結構正確に現在地が表示されている。
もうちょっと離れてみよう。少々、危険だが、歩きスマフォで移動してみる。まぁ、交通量もそう多くないし、端っこを歩いていけば、大丈夫でしょう。でも真似はしないでね。
移動すると、現在地を示すカーソルも移動する。多分、これはジャイロを使って、移動を検出していると思われる。
でもって、WiFi電波を拾って位置情報がわかると、その位置にカーソルがスススッと移動する。

うちは一軒家が多い住宅街にある。ご近所さんのWiFi電波は、自宅にいても拾えている状況なので、隣の家に移動したら隣のWiFi APの電波を拾って、次の家まで移動したら...という感じで連続的に位置情報がわかっている感じ。

そんな調子で最寄り駅まで歩いてきた。いつもの散歩コースから外れてしまったが、まぁいいや。途中、若干怪しくなったが、概ね正確に位置情報がつかめていた模様。

これは、市街地でデータベースに登録されているWiFi APが多くあるような場所なら、結構使えるんじゃない。
じゃあ、畑の真ん中では位置情報は取れないのか?

いそいそと畑の真ん中でWiFiを叫びに行くのである。所沢市には畑が多くあります。何せトトロが住んでいるくらいなので。駅から20分程度歩くことで、畑の真ん中に移動してきた。現在地を確認すると...

お、やっぱりずれている。

橋を渡って、畑の真ん中まで来たのに、川の向こうの川岸の住宅近くに居ることになっている。
多分、あそこにはWiFi APがあるんだろうなぁ、と思わせる。

さらに畑を進んでいくと、国道463に出る。国道沿いには、ラーメン屋さんなど建物がある。国道に近くなると、WiFiをつかんだのか、スススッーとカーソルが移動した。

なるほど。

 WiFiを使った位置情報の検出は、市街地ならある程度は、使える。
 当然、WiFiが飛んでいない山の中では使えない。

ということですね。

畑の真ん中なんかでは、GPS使った方が正確。状況により使い分ける、っていうのが最良の解なのか。

モバイルルータなんかは、積極的に登録することで、結構便利になったりするんじゃないかしら。
例えば、今や飛行機でWiFi使えますよね。飛行機なら自分の位置は正確にわかっているでしょうから、頻繁に登録すれば、リアルタイムで現在地を特定させることができたりしないかしら。そういうシステムあるんだっけか。
カーナビにWiFi AP機能を付けて、スマフォで通信できれば、似た仕組みができたりして。

自分の位置を積極的に公開したい、という場合には良い仕組みと思われる。しかし、ストーカーが悪用する可能性もあるので、そのあたりも考えなくては。
MACアドレスは秘密にしておかないといけない、ということね。それに、夜逃げするときは、WiFiのAPは持っていかないこと。かな。



サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

Android 久ぶりにアンドロイドの記事を書いてみたいと思う [Androidアプリ開発]

すみません。久しぶりにアンドロイドの記事を書いてみたいと思う。

最近、組み込み系のお仕事を頂いており、組み込み系のプロトコルを扱うことが多い。
知っている人は知っていると思うので、簡単にしか紹介できないが、ModbusとかMCプロトコルとか、RS232Cやら、485とかの世界である。

普通のWebシステムやSQLの世界だと、ギガバイトは当たり前な世界になってくるのだが、組み込み系では
メガなら大きい方」といった世界である。

組み込み系のソフト開発では、デバイスが必要になる。なんたらコントローラからデータを受信して、それを加工してサーバーに上げて、といった処理を行う。
デバイス間の通信に使われているメジャーなプロトコルがModbusであったり、MCプロトコルであるわけです(最近では、OpenADRなるXMLベースのプロトコルもあるようではあるが)。

さて、前置きが長くなったが、最近組み込み系の仕事が多く、ソフト開発するにあたり、デバイスのシミュレータを作らなくては「いけない状況」が多くある(何にせよテストは大変なわけです)。
普通に、テキストベースの簡単なプログラムをLinuxPC上で作成していたのではあるが...ふと。


これって、AndroidやiPhoneのアプリで作ったらカッコよくない?

と思って作り出した。
RS485は無理だが、普通にModbusTCPならいけんじゃね?
といったノリである。
もちろん、スマフォユーザーなわけなので、何時も持ち歩いている、ケータイがModbusシミュレータになったら便利じゃない、という発想である(本当は、RS485とかを付けて、実デバイスにダイレクトに接続できると「本当に」便利なんだけどね、RS232Cの代わりにBlueToothという手もあるが、デバイス側にはそんなものは付いていない)。

それはさて置き。

まぁ、アンドロイドについては、かなり「プログラムを作れる方」だと思っているので、やり始めた。Modbus通信はそれほど難しくないプロトコルだし、オープンソースのライブラリもあるので、NDKがあれば楽勝。
実際のところlibmodbus使っているし。

まず、Android SDKをダウンロードしたのではあるが、なんか、ちょっと様子が違う。
基本は同じなんだろうけど。変化するのが早過ぎる。

ちゃんとGUIで画面レイアウトを作成することもできるし、いんじゃない、と思いつつ、ここはどうだったけ、と思い出しながらのプログラミング作業をしていった。

NDKのインストールも簡単にできた。
どのタイミングでビルドしてくれるのか少々わからないところもあるが、使いこなしていけばそのうちわかるでしょう。
使っていた、Modbusのライブラリも無事ビルドできた。

まぁ、大抵のLinuxで動いているライブラリなら、AndroidのNDKでもコンパイルできるでしょう。C言語はそれなりに「枯れた」技術になっている。

しかし、使い物にするためには、さらに精進が必要そう。
アイコンの作り方もなんか変わっているし。バージョンアップも半端ないし。

今のところ、自分で使う分には、それなりに使えるものにはなった。
まだまだ、公開するには、未熟である。Modbusシミュレータを必要としている人達がどれだけ居るのかわからないが、煮詰まってきたらそのうち公開したいと考えているので、期待して欲しい。

どのように配布するかは、まだ決めていないが、無料で、広告付きかな。

ではまた。

Screenshot_2016-01-21-08-43-25.png


サイト内を検索

nice!(1)  コメント(0) 
共通テーマ:携帯コンテンツ

かんたんAndroidアプリ作成入門 真北と磁北についての訂正 [Androidアプリ開発]

真北と磁北

「かんたんAndroidアプリ作成入門」の売れ行きであるが、おかげさまで、まぁまぁな方らしい。
でもって、売れるとそれなりに読者の方から質問がくる。本日は、「磁北の位置が違います」という指摘がきた。
日本からみると磁北は西側に偏っている。なので、図の地球の中心より左側にないとおかしいんじゃない?という指摘。
本文の説明で、日本近辺では西に偏ってます。と書いてある。図と食い違っているじゃない。ということである。


かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)



確かに、図を見ると違っている。
アプリを作成する上では、補正をすればよいというだけの話なので、地球は大きな磁石で、磁北がどこにあって、という話はおまけ程度にしか考えていなかった。
しかも、磁北って書いてあるけど、正確には北磁極だし。われながら、いいかげんだなぁ...

元々は、北米を中心に地球の絵を書いていた。DTP作業で地球を描くときに、日本が中心の絵になった。まぁ、ずれているっていうことだけわかれば、補正しないといけないんだな、と思ってくれると思ったので正確に北磁極の位置がわからなくたって、いいよね。と適当に原稿の絵を書いたのがいけなかったか。けっこう細かい所にこだわる方もいらっしゃるようで。

13-23 磁北と真北.png

で、正確に北磁極の位置を地球の絵にプロットしようと検索して調べた。北磁極は年々移動している。そういえば、GeoMagneticFieldでも日付をパラメータで与えて補正値を計算する。もちろん、緯度、経度も与えるのだが、なんで日付まで?と思ったが、過去にさかのぼって補正値を計算してくれるのか...
なんか、太陽からの電磁波も影響するみたいなので、太陽の方向も考慮して計算してる?
それは、置いておいて、現在は、グリーンランドの辺りに北磁極がある。

北磁極を検索

そうか、じゃあ、図中での磁北はこのあたりか、と思って赤で●を記入してみた。

あれ?やっぱり東にならない?太平洋の上にはないので、奥に移動することにはなるが、日本からみて西にはならないぞ...

さらに調べることに。

位置は、カナダの北、グリーンランド付近で正しい。日本と北磁極の位置関係も合っている。偏角も日本近辺では「西に偏る」で正解。どうも、北磁極の方向に磁力線が真っすぐ伸びているわけではないらしい。
どうしてなのかは、「よくわかっていない」っぽい。

そもそも、どうして地磁気が発生しているのかの、メカニズムがちゃんと解明されていない、とのこと。多分、地球内部が回転していて、磁力を発している、っていうことなんだろうけど、回転の具合がところどころで違うので、磁力線の具合もところどころで違うということみたい。

えーと、だいたいわかった。どうやって本を修正すればわかりやすいか... 北磁極の位置はちゃんとするにしても、西に偏るっていうのは、図だけでは矛盾するなぁ。磁力線を描くか... ちゃんと描くのは難しいなぁ。文書で説明するか。


ということで、この場を借りて、訂正をしたいと思う。

図中の磁北の位置。

DSC_0067.jpg

ということで、本の訂正は以上(すみません、なんかしょぼくて)。
ここからは、ブログでの余談。

北磁極は北極近くにある。反対側の南極近くには、南磁極がある。この磁極、過去には、北と南が入れ替わっていた時期があるらしい。

そういうと、ある日突然、方位磁石が指し示す方角が、180度変わってしまう...という印象だが、そうではない。何千年をかけて、徐々に変わっていくものみたいである。
SFのネタとしては、面白いかも知れない。実際にそんな映画があったような。世界の終末も地磁気の極地転換が原因で...なんてトンデモ話がけっこうありそうだが、地磁気を研究している人にしてみれば、「なにそれ?」っていうことなんだろうなぁ。

地磁気と地震の関係とか、火山の関係を調べている大学や研究所もある。なんとも奥が深い「地磁気」であった。



サイト内を検索

nice!(2)  コメント(0) 
共通テーマ:携帯コンテンツ

アスペクト比について考える gluPerspective glFrustum 縦・横 [Androidアプリ開発]

Androidでのアスペクト比

アスペクト比というのは、縦横の比率のこと。ディスプレイ画面でアスペクト比といったら、16:9とか、4:3とかのこと。
1920x1080のHDなら、アスペクト比は1.777くらい。

テレビやPCのディスプレイだと横長の状態で使うことが多いので、アスペクト比が変わることはない。
Android端末だと、ランドスケープ、ポートレイトを切り替えることができる。つまり、端末向きによってアスペクト比が変わってしまう。

ランドスケープなら、1920x1080で1.777...だが、ポートレイトだと1080x1920になり、アスペクト比は、0.5625になる。
アスペクト比は、1.0より大きいと横長になり、1.0より小さいと縦長になる。

5-14 ポートレイトとランドスケープ.png

だから何?

という感じだが、OpenGLでビューポートを設定するときに困ったことになる。OpenGLでビューポートを決定するのは、glViewportである。ここは問題ない。画面いっぱいに表示するのなら、ランドスケープなら、glViewport(0,0,1920,1080)で、ポートレイトなら、glViewport(0,0,1080,1920)として指定すればOK。
ビューポートを設定したら、フラスタムというのを設定しなければならない。これには、gluPerspectiveを使うと簡単。
gluPerspectiveには、アスペクト比を入れてやる必要がある。アスペクト比は「横の長さ/縦の長さ」で計算できるので、そのままwidth/heightで計算すればOKなのだが...

実際にやってみると、それなりに表示はされる。しかし、なんかおかしい。

どうしてなのか不思議に思っていたが、どうも、gluPerspectiveでは、横長のモニタで使用されることしか頭にないらしい。
gluPerspectiveでは、z-nearの値とカメラアングルからtanを使ってyの大きさを計算している。さらにyの大きさにアスペクト比をかけて、xの大きさを計算している。
ランドスケープなら、これで問題ないが、ポートレイトにすると、なんかおかしい。ポートレイトの場合、アスペクト比が1.0より小さくなる。先に、xの値を先に決めて、yをアスペクト比から決めてやったらイイ感じになった(しかし、画面サイズを変えるとアスペクト比は変わらないものの、カメラの視野角が変わってしまう感じ)。

gluPerspectiveは、ユーティリティであり、一般的なディスプレイのことしか考えてない。なので、ちゃんとglFrustumを使えっていうことなんだな。きっと。

というか、gluPerspectiveの引数をよくみると、次のようになっていた。
gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)

fovyとなっている。ここにカメラの視野角を入れてやるわけだが、yとなっている。fovyは、Field Of View Yの略っぽい。なので、Y軸方向の視野角を入れなさい。ということか。
ランドスケープとポートレイトで、xとy軸が入れ替わるので、視野角にしたって大きく変わるよなぁ。 

そもそも、xとyは画面サイズに合わせる必要があるにしても、透視投影のスクリーンのZ軸方向の位置って、画面サイズが変わってもそのままでOKなんじゃないのか...無理に再設定しなくても...

ちょっと調べたところ、以下のサイトに詳しく書いてあった。

http://www.wakayama-u.ac.jp/~tokoi/opengl/faq.html

void resize(int w, int h)
{
  double scale = NEAR * tan(toRadians(FOVY * 0.5));
  double x = w * scale * ASPECT / WIDTH;
  double y = h * scale / HEIGHT;
  glFrustum(-x, x, -y, y, NEAR, FAR);
}


ここで、NEARとFOVY、ASPECT、WIDTH、HEIGHTは、変化することが無いパラメータ。WIDTHとHEIGHTそれにASPECTは、ディスプレイのサイズ(ランドスケープの状態)で固定で良いかな。FOVYはカメラの視野角なので、50度くらいでよいでしょう。
NEARとFARは、今まで通りでよいか。NEARの値があまりに小さいと精度的に問題があるかも。
引数のwとhは、表示する画面のサイズ。ポートレイトとランドスケープで変化する。
後で、AREarthroidでやってみることにしよう。


関連記事
Androidアプリ開発 OpenGL 視点を変える gluLookAt

OpenGLの記事を最初から読みたいなら、以下からどうぞ。
Androidアプリ開発 OpenGLを使う GLSurfaceView



サイト内を検索

タグ:OpenGL Android
nice!(1)  コメント(0) 
共通テーマ:携帯コンテンツ

Android SDK r21.1では自動生成されるメニューのリソースファイル名が変更されています [Androidアプリ開発]

本日は、Android本の宣伝も兼ねて、Android SDKの話題である。

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)


「かんたんAndroidアプリ作成入門」の読者質問が来た。おお、反応が速いかも、と思いつつも、内容は、メニュー用のリソースファイル名が異なっている、というもの。
メニュー用のリソースファイルは、Androidプロジェクトを作成すると自動的に作成される。これが、執筆当時のAndroid SDKでは、activity_gui_sample.xmlであった。これが、どうもgui_sample.xmlに変更されてしまったらしいのである(gui_sampleの部分はプロジェクト名)。

Android SDKは頻繁にバージョンアップする。執筆中にも結構バージョンアップがあり、ちょっと大変だった。これじゃあ、追いつかないよ。という感じのスピードでコロコロ変わっていく。
開発する方にとっては、機能が増えて使いやすくなると思うのだが...
使い方の本を書く方にしたら、そうコロコロ変えられると困ったことになる

「かんたんAndroidアプリ作成入門」にも、Android SDKが頻繁にバージョンアップするので注意してね。的なことは書いてある。
けど、そんな注意書きはあまり読まないよねぇ...

「画面の設定項目が少し増えている」というくらいなら、なんとかわかってもらえると思うのだが、今回のように「ファイル名が違う」ということになると、読者としては???になってしまう。

ということで、「かんたんAndroidアプリ作成入門」をご購入頂いているみなさんに報告である。
最新版のAndroid SDK(r21.1)では、プロジェクトの自動生成で、生成されるメニュー定義ファイルのファイル名が異なります。

Android SDK r21.0
menu/activity_gui_sample.xml

Android SDK r21.1
menu/gui_sample.xml

幸い、ファイルの中身については、大きく変わってはいない。メニュー定義が自動生成されているのだが、そう大きくは変化が無いようである。しかし、細かく見ていくとあちこちで微妙に変えられている。
ファイル名が異なるということは、リソースクラスで参照するときの名前も異なるわけで...
フォルダーの構成もちょっと異なるし...

まぁ、わかってもらえるとは思いますが...

layoutフォルダーにも同じようなレイアウト用のリソースファイルが作成されるのだが、こちらのファイル名は変更されていない。r21.1でも同じファイル名で生成される。

layout/activity_gui_sample.xml

しかし、自動生成される内容は、ちょっと違っている。
まず、Hello worldの表示位置が変わっている。リレイティブレイアウトを使ってレイアウトを行っている。r21.0のときは、画面の中央に表示されるようになっていたが、r21.1になって、画面の左上に表示されるように変更されている。
さらに、なんかマージンが設定されているし。

「かんたんAndroidアプリ作成入門」では、Hello worldを削除してレイアウトを作っていくので、大きな問題にはならないかも。助かったか。


関連記事


サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

「かんたん Androidアプリ作成入門」が電子出版されることになりました。 [Androidアプリ開発]

先日紹介した、「かんたんAndroidアプリ作成入門 (プログラミングの教科書)」本屋さんで見かけた方もいらっしゃるのではないだろうか?
世の中の流れというものは恐ろしく速いもので、なんと「電子出版」されることになった。
いくつかのサイトで販売される予定なのだが、今のところ、技術評論社の「GIHYO DIGITAL PUBLISHING」で電子出版されている。

GIHYO DIGITAL PUBLISHING
https://gihyo.jp/dp/

「かんたんAndroidアプリ作成入門」
https://gihyo.jp/dp/ebook/2013/978-4-7741-5709-2

興味のある方は、ぜひ覗いてみて欲しい。
ページにツイートボタンがついていたので、おもわずツイートしてしまった。

著者へのサービスなのか、無料ギフトコードを発行して頂いた。早速ダウンロードしてみる。GIHYO DIGITAL PUBLISHINGでの電子書籍の購入には、ユーザー登録が必要とのこと。早速、ユーザー登録を行った。
ユーザーでログインして、無料ギフトコードを入力すると、「かんたんAndroidアプリ作成入門」が蔵書一覧に表示された。
「PDFダウンロード」ボタンをクリックすると、PDFファイルのダウンロードリンクが表示される。横にPDFのサイズが表示されているが、約100メガバイトであった。結構大きいのね。このリンクをクリックすると、ブラウザで内容が表示される。

ダウンロードは、何回もできる。やろうと思えばローカルに保存することも可能っぽい。というか、Androidでダウンロードしたら、そのまま端末に保存される。100メガバイトのダウンロードは、3G回線だときつかった。WiFiで端末にダウンロードしてみた。

DSC_0796.jpg

さすがに、画面の小さい「スマホ」では読むのはつらい。10インチ程度のディスプレイを持った端末じゃないと読めない。
一度ダウンロードしたPDFファイルは、別の端末やPCに持って行ってもそのまま表示できる。特にコピーガードのようなものはかかっていない。

それは、便利だが、著者の立場からしてみると、ネットでばらまかれやしないか...と少し不安に。
しかし、良く見るとページの左上にユーザーID(メールアドレス)が薄らと表示されている。しかも、各ページに。

ブラウザに表示された「かんたんAndroidアプリ作成入門」.png


GIHYO DIGITAL PUBLISHINGのヘルプ(FAQ)のページにも書いてあるが、コピーガードはかけていないし、私的なコピーならOKとなっている。
しかし、ダウンロードしたPDFには、自分のメールアドレスが透かしのように入っている。仮にネットに放流したとすると、直ぐに「ばらまいた人がわかる」ということか。なら、簡単にばらまくことはできない。なるほど、考えましたね。

しかし、こういうのは「イタチごっこ」になりやすい。透かしを解除するようなツールが出来たら、放流されてしまうのだろうなぁ... まぁ、表面上の透かしを取り去ることができても、内部に隠された箇所にも「透かし」が入っているであろう(念のため、断っておきますが、内部事情は知りません)。そんな悪意を持ったツールが登場しないことを祈るだけである。

ともあれ、「電子出版おめでとう」ということで本日は終了。




2013年の5月に確認したところ、Google Playでも電子版が発売されている。

Google Playの「著者:朝井淳」のページ

Google Playでも購入可能となった。どうぞよろしく。


サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

かんたんAndroidアプリ作成入門が発売されます [Androidアプリ開発]

みなさん、「かんたんAndroidアプリ作成入門」が発売されました。
私が、書いた本です。

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)


このブログでもAndroidネタ(といってもOpenGL系が多いが)をたまに紹介している。これが、Androidアプリ作成の入門書となって、発売されたというわけである。

もう少ししたら、書店に並ぶことであろう。興味がある方は、ぜひお手に取って、パラパラとめくってみて欲しい。

内容としては、Androidアプリ作成の本である。EclipseやJDK、Android SDKのインストールから始まって、アクティビティやら、ビューやら、ダイアログやら、センサーやら、Google Mapsやら、とアプリを拡張しながらアプリを作ってしまおう。という話が中心の本となっている。
図も多いし、それほど、コードを書かなくてもよいので、結構わかりやすいのではないか、とわれながら思っている。

Amazonをみると、予約受付中になっているではないか。おおお、しかし、予約してまで購入してくれる人は、あまりいらっしゃらないであろう。特に宣伝もしていないしね。

どうでもいいが、このブログのサイドバーにあるAmazonの広告(ブログパーツ)を変更してみた。ブログの内容により自動的に変更するようなのだが、本日みたら、なんと自分が書いた「書籍だらけ」になった。

これは、なんか気恥しい。いや、自分でも広告を貼っているではないか。とそんな自問自答をしながら、よく見ると、「かんたんAndroidアプリ作成入門」も早速表示されている。なぜか、SQLポケットリファレンスの第1版が、ベストプライス「¥1」とか表示されている。第1版は、もう売ってませんよね?中古っていうことか?でも1円って...

「すぐわかるSQL」なんて、画像もないし、1円だし... orz
どういう基準で、決めているのだろうか。

えーと、どうでもよいことをダラダラと書いてしまったが、とりあえず「かんたんAndroidアプリ作成入門」をよろしくお願いしたいと思います。

最後に、いつもお世話になっている技術評論社の担当の方(名前は伏せます)、DTP作業を行ってくれた方々に、この場を借りてお礼を申し上げたい。

ありがとうございました。

関連記事



サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

Google Maps Android API v2 [Androidアプリ開発]

AREarhroidは、Google Maps Androidを使用している。バージョンは、1である。ここにきて、Google Maps Androidのバージョン2が正式にリリースされた。

Google Maps Android API v2
https://developers.google.com/maps/documentation/android

v2では、地図が3Dになっていたりして"かなりすごい"わけである。

それは、よしとするが、v1のサポートが終了するらしい。どうもAPIキーが発行されなくなるようである。

AREarthroidは使えなくなる?

と思ったが、地図表示の機能は引き続き使用できる。新しくAPIキーが発行されなくなるだけ、らしい。
Googleさんは、v2に移行したいのね。

といってもいつまでサポートされるかはよくわからない。AREarthroidもGoogle Maps v2に対応させないとなぁ。

と思って以下のページをみたりして、調べてみる。

Google Maps Android API v2 の v1 からの変更点メモ
http://qiita.com/items/7ad0244c0fb4b431e090

Google Maps Android API v2を使ってみた
http://www.adamrocker.com/blog/334/google-maps-android-api-v2.html

v1のときは、MapActivity、MapViewを使っていたが、これらのクラスはv2にはない。GoogleMapという名前のクラスで地図を表示する。
マーカーは簡単に追加できるぽい。オーバーレイ表示させなくてもOK。
地図の移動は、コントローラーのanimateToメソッドじゃなくて、animateCameraメソッドで行う。コントローラーっていうものはなくなっている。animateCameraなので、カメラの位置やズームを変更できる。回転させることもできちゃう。

なーんだ、これなら、AREarthroid要らないじゃん、というくらいの出来の良さ。くやしいかな...
嘆いていてもしょうがない。地道にバージョンアップしていくことにしよう。


かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)


「かんたんAndroidアプリ作成入門」では、Google Map v2対応です。


サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

Androidタブレット端末 Nexus7とA100 [Androidアプリ開発]

最近、Googleがタブレット型端末Nexus7をGoogle playで売っている。AdSensの広告がこればっかり表示される。
ちょっと覗いてみると、Android 4.1(Jelly Bean)搭載。CPUはクアッドコアのTegra 3。
RAM 1Gに内部ストレージは16G。気になるお値段は、19,800円。

Nexus7
http://www.google.co.jp/nexus/#/7

安いねぇ。タブレット端末っていまいち流行っていないので、テコ入れなのか。

Androidアプリの開発用にと、私が購入したタブレット端末は、AcerのA100。価格は、2万円くらいだったか。このA100。Androidのバージョンは3.2.1。なんか、米国ではAndroid 4.0へのアップデートが行われているらしいが、日本でのアップデートは「未定」であるそうな。
少しさみしい。
Wi-FiをONのまま一晩おくと、バッテリが半減していて、いつもなえる。Android 4.0だとそのあたりが改善されているっぽいのではあるが...

A100の代わりに、Nexus7買っちゃうか。4.1での動作確認もこいつでできるじゃない。ちょっとまてよ。念のために調べないと。

AREarthroidのデベロッパーコンソールでは、アプリが対応している端末を調べることができる。ここでGoogleのところをみると...

利用可能なデバイス.png

おや、Nexus7は、サポートされていない端末になっているではないか。
なんでだろう。

GPSは付いてるし。もちろんWi-Fiも付いているからインターネットアクセスできるし、カメラも付いているじゃない。
AREarthライブ壁紙の方をみると、ちゃんと対応端末になっている。

どうも、CAMERAパーミッションではなく、使用機能(uses-feature)でカメラを指定しているからぽいなぁ。

AndroidManifest.xml
	<uses-feature android:name="android.hardware.camera" />

とすると、カメラが複数ある場合は、ディスプレイの反対にあるカメラを使います。ということになるらしい。
Nexus7は、自分撮り用のフロントカメラしか付いていない。A100はふたつのカメラが付いている。
フロントカメラを使用する場合は、以下のように指定するらしい。

AndroidManifest.xml
	<uses-feature android:name="android.hardware.camera.front" />

カメラがひとつしか付いてない端末は、どうなるのかよくわからないが、状況からみて、きっとandroid.hardware.cameraを使用しているアプリは「だめ」っていうことになっている、と思われる。
以前に、オートフォーカス機能は使ってないから、という理由でandroid.hardware.camera.autofocusのuses-featureを削除したことがあった。そのおかげで、対応する端末数は増えた。
同じAcerでもA100はOK。後継機種であるA110はNG。A110は背面カメラがない。
やはり、これが原因か...

さらに調べる。どうも、カメラ機能は使用するけど「必須ではない」という設定にすればよいのか?

AndroidManifest.xml
	<uses-feature android:name="android.hardware.camera" android:required="false" />

AndroidManifest.xmlだけを変更したバージョンアップをするか。
バージョンアップすると、有効インストール数が一時的に減ってしまうのよね。もう少し様子みるか。


かんたんAndroidアプリ作成入門 (プログラミングの教科書)

かんたんAndroidアプリ作成入門 (プログラミングの教科書)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/04/16
  • メディア: 単行本(ソフトカバー)




サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

AndroidでVPN(PPTP)を試す [Androidアプリ開発]

本日は、Androidのネットワーク機能の話題である。

携帯電話であった頃は、VPNなんて使えなかったが、Androidなら簡単にできてしまう。なにせ、ベースがLinuxなんだから、TCP/IP通信なんてお手のものである。
VPN接続できるようにしておくと、外出先から自宅のサーバなどに、接続できて便利なわけである。
VPNには、いろいろと種類があるが、PPTPとIPSecが有名。PPTPが簡単なので、さっそくやってみることにした。
Android端末の方は、設定->無線とネットワークの「その他」->「VPN」で設定できる。

しかし、である。ここでなんだか「画面ロックの設定をしろ」という表示が。

点が格子状に表示され、最低4点を結べ、という指示。これがパスワードの代わりになるというのか?
ロックの設定しないと、VPN接続の設定に進めない。しょうがないので、設定した。秘密の答えも設定した。

これで、いいのか?と思いつつ、サーバーの方はどうするのじゃ、とネットで調べてみる。Linuxならpptpdを入れればOKな感じ。KDDIから支給されているルーターには、PPTPサーバ機能がないので、自宅サーバにやらせることにした。ルーターはPPTPパススルーを設定する。

で、Androidに戻って接続してみようとすると、ガーン。ロック解除の画面がさっき設定した、格子状に点が並んでいる画面になっている。VPNのパスワードに使うのじゃなく、ロック解除のときに使うのかぁ。やられた。えー、適当に設定したものだから、正確にパターンを覚えているか...
なんとか、画面ロックを外すことができた。

ふう。

単に、スライドさせるだけでも、ロックを外すのってめんどうなのに。こんなのいや。

ということで、前のロック解除画面に戻す方法を検索。

ICS4.0で画面ロックをしないでVPNを利用する方法。
http://www.fukabee.com/blog/2012/06/19_081953.php

なんだ、わざと間違えて、秘密の答えを入れて解除すればいいのか。

VPNの接続はできた。
Wi-Fiで繋げていない状態で、ブラウザを起動、プライベートIPアドレスのURLを入れてみて接続を確認。
ファイルマネージャで、サーバを検索。ユーザを設定して、ファイルが見れることを確認。しかし、ファイルマネージャとsambaの相性がよくないのか、Wi-Fiが安定しないのか、すぐにストールするのよね。

onkyo remoteやDLNAクライアントも起動してみたが、Wi-Fi接続がないと使えないようである。残念。



サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ
前の10件 | - Androidアプリ開発 ブログトップ


Copyright Atsushi Asai Google+朝井淳
[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/02/18
  • メディア: 単行本(ソフトカバー)

イラストで理解 SQL はじめて入門

イラストで理解 SQL はじめて入門

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/05/16
  • メディア: 単行本(ソフトカバー)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/03
  • メディア: 単行本(ソフトカバー)

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/05/25
  • メディア: 大型本

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。