カテゴリー ‘ スマートフォン

Nexus7を使ってみたレビュー iPadとの比較


こんにちは@9ensanです。

Nexus7を海外から取り寄せてから1ヶ月くらいがたち、日本でも普通に購入出来るようになりました。

Nexus7購入した人も、購入を検討されている人も多いかと思います。

 

そこで、1ヶ月間仕様したユーザーレビューを書いていこうと思います。

私の場合の主な使用用途は、寝る前の読書用端末です。

続きを読む

iPhone5(iOS6)でGoogle Mapをホーム画面に登録する方法


こんばんは、@9ensanです。

iPhone5(iOS6)が出てGoogle Mapアプリが削除されAppleマップに変わりました。

それがこれです。

ですがAppleマップは、Tim Cook CEOから謝罪がでたように酷いものです。

Timも以下のように認めています。

先週提供を開始した新しいマップは、自分たちに課したその基準に達することができませんでした。

 

色々なサイトでも酷いと酷評されているように、現状まともに地図として使用できません。

参考サイト

 

 

なので今まで通りGoogle Mapを利用する方法を伝授します。

続きを読む

iPhoneにNFCが搭載されるのか?


ここ最近、iPhone5が多分9月21日に発売されるだろうと言う話でもりあがっており、

その中で一番の注目したいのは、

NFCが搭載されるのかどうか?

私の願望は、NFC搭載されて欲しい。

問題は、今までのiPhoneは全て金属で覆われている事、

NFCは、13.56MHzの電波をアンテナが受信出来ないと情報の送受信が出来ない。

金属は、電波を遮る為に相性が抜群に悪いなので今のiPhoneと同じフォルムでNFCを搭載することは限りなく不可能に近い

そこで、このように上部と下部が強化ガラスになるだろうと言われている。

この部分ならガラスなので電波は、金属ほど遮断されない。

この部分にNFCのアンテナが設置されるだろうと言う事らしい、

でその実際のNFCアンテナが、この赤い枠内の物体がそうだろうと言う事らしい。

NFCが搭載されない理由は、ガラス部分がとても範囲が少ない為らしいです。

来月の今頃には結論は出ていると思いますが

もう一度言いますが、

「私は、NFCがついて欲しいです。」

NFCの可能性は、

を見てもらえたら可能性は垣間見てもらえる事になると思います。

日本でも、駅改札での「Suica」「Pasmo」、コンビニなどで使える「おさいふ携帯」などで使用されており、実は日本はNFC先進国でもあるのです。

日本で使われているNFCの分野は、企業内での在庫管理や、先ほど言った「Suica」「Pasmo」や、会員カード、免許証など一般に広がっていると言ってもごく一部の部分のみです。

NFCの一番の魅力は、ペイメントの分野だと思います。

お金が直接からむ部分なので動くお金の額も違い、色々な企業が手を出すと思います。でも大企業がペイメントの分野は押さえてしまうだろうとも思っています。

私はペイメントの分野よりも、それ以外のもっと生活に密着した分野でも、今では思いもよらない箇所で企業や個人の開発者が盛り上げてくれると信じています。

数年後には、みんながNFCのタグが入っている携帯を持ち歩いて普通に使用している世界が広がっていると思います。

Androidの加速度センサーの使い方


Androidのセンサーが色々あるのでそれぞれの使い方のお勉強まずは、

加速度センサー

まず、前提としてAndroidの加速度センサーは、3軸加速度センサーなのでX軸、Y軸、Z軸の3軸方向への加速度を捉える事が出来ます。

X、Y、Z軸はそれぞれ以下の内容になっています。

  • X軸:端末の右側から受ける加速度
  • Y軸:端末の上側から受ける加速度
  • Z軸:端末のディスプレイ側から受ける加速度

それでは、加速度センサーの使い方をコードを元に勉強していきたいと思います。

センサーを使う為には、まずは、「SensorManager」のインスタンスを生成します。

次に、センサーのイベントリスナーの設定です。

イベントリスナーの設定には、「SensorManager」クラスの「registerListener」メソッドを使用します。

この時に、対象のセンサーが存在しているかどうかは、「SensorManager」クラスの「getDefaultSensor」メソッドまたは、「SensorManager」クラスの、「getSensorList」メソッドの戻り値を利用して確認します。

イベントリスナーをセットしただけでは、アプリケーションを落としてもセンサーがずっと動作し続けるので、

「SensorManager」クラスの、「unregisterListener」でイベントリスナーを解除します。

これで、加速度センサーからの値を取得する準備ができたので値の取得処理です。

これは、「SensorEventListener」をimplementsして「onAccuracyChanged」「onSensorChanged」の2つのメソッドを実装します。

onAccuracyChanged センサーの精度の更新に対するメソッド
onSensorChanged センサーの取得値の更新に対するメソッド

なので、今回は、「onSensorChanged」メソッドを実装します。

これで、加速度センサーからの値が取得できている事が確認出来たかと思います。

実際に使用する為には、もう少し計算式を使用して誤差を省かないとそのままの値では、手による細かな振動なども入ってしまったりするので注意が必要です。

サンプルプログラム


Androidのセンサーを調べてみる


Android端末は豊富なセンサーの機能を持っています。

これで、遊ばなくて何で遊ぶ?って位のものです。

で、どんなセンサーが存在するのか、分からなかったので一覧を作ってみました。

SensorクラスのTYPEで設定されているものが、Androidがサポートしているセンサーです。

TYPE_ACCELEROMETER 加速度センサー
TYPE_AMBIENT_TEMPERATURE 温度センサー
TYPE_GRAVITY 重力センサー
TYPE_GYROSCOPE ジャイロセンサー
TYPE_LIGHT 照度センサー
TYPE_LINEAR_ACCELERATION リニア加速度センサー
TYPE_MAGNETIC_FIELD 地磁気センサー
TYPE_PRESSURE 圧力センサー
TYPE_PROXIMITY 近接センサー
TYPE_RELATIVE_HUMIDITY 湿度センサー
TYPE_ROTATION_VECTOR 回転ベクトルセンサー
TYPE_ORIENTATION 方位センサー(非推奨)
TYPE_TEMPERATURE 温度センサー(非推奨)

11個のセンサーがサポートされています。

手元の端末で、どのようなセンサーが端末に搭載されているのか確認してみたいと思います。

確認するためには、「SensorManager」クラスの「getSensorList」で保持してるセンサーを取得して確認します。

こんな感じです。

これで確かめた、手持ちの端末が以下になります。

Nexus S

  • Sensor:KR3DM 3-axis Accelerometer
  • Sensor:AK8973 3-axis Magnetic field sensor
  • Sensor:GP2A Light sensor
  • Sensor:GP2A Proximity sensor
  • Sensor:K3G Gyroscope sensor
  • Sensor:Rotation Vector Sensor
  • Sensor:Gravity Sensor
  • Sensor:Linear Acceleration Sensor
  • Sensor:Orientation Sensor
  • Sensor:Corrected Gyroscope Sensor

Galaxy Note

  • Sensor:K3DH Acceleration Sensor
  • Sensor:AK8975 Magnetic field Sensor
  • Sensor:AK8975 Orientation Sensor
  • Sensor:GP2A Light Sensor
  • Sensor:GP2A Proximity Sensor
  • Sensor:K3G Gyroscope Sensor
  • Sensor:BMP180 Pressure Sensor
  • Sensor:Gravity Sensor
  • Sensor:Linear Acceleration Sensor
  • Sensor:Rotation Vector Sensor

Galaxy Nexus

  • Sensor:GP2A Light sensor
  • Sensor:GP2A Proximity sensor
  • Sensor:BMP180 Pressure sensor
  • Sensor:MPL Gyroscope
  • Sensor:MPL Accelerometer
  • Sensor:MPL Magnetic Field
  • Sensor:MPL Orientation
  • Sensor:MPL Rotation Vector
  • Sensor:MPL Linear Acceleration
  • Sensor:MPL Gravity
  • Sensor:Rotation Vector Sensor
  • Sensor:Gravity Sensor
  • Sensor:Linear Acceleration Sensor
  • Sensor:Orientation Sensor
  • Sensor:Corrected Gyroscope Sensor

 

どれもこれも、Sumsung端末…。

それぞれが何なのか、詳しくは分からないですが、この「getSensorList」で対象のタイプ例えば、圧力センサーがあるか調べたければ

「List<Sensor> sensorList = mSensorManager.getSensorList(Sensor.TYPE_PRESSURE);」として、戻り値があるかどうか確認する事で対応しているかどうか確認が出来るようです。

 

今回使用した、サンプルプログラムはgithubにアップしてあります。

サンプルプログラム

return top