‘Android’ カテゴリーのアーカイブ

LifeTouch Wでの開発ことはじめ

2011年8月8日 月曜日
LifeTouch W

LifeTouch W

最近弊社でNEC様のLifeTouch W及びその開発キットを購入したので、いろいろと試してみているところです。

この端末の大きな特徴は、やはり2つの画面を備えるクラムシェル型の筐体です。さらにこの端末においてはフレームワークが大きく拡張されており、Activityをそれぞれの画面で同時に起動することが出来るようになってい​ます。

今回は、開発環境の設定から2画面表示の簡単な確認辺りまでを試してみました。

2画面プラットフォームでの表示の基本概念

この端末には2つの物理的なディスプレイが備えられており、主となる側をPrimary(見開きで左側)、もう一方をSecondaryと呼びます。

これらの2つの画面をActivityがどのように占有するかによって、3種類の表示先指定があります。

  • Primary : ActivityがPrimary側の画面を占有する。
  • Secondary : ActivityがSecondary側の画面を占有する。
  • Dual : ActivityがPrimaryとSecondary両側の2画面を占有する。

ただし制限として、同一タスクの1画面表示ActivityをPrimaryとSecondaryの両側に振り分ける事は出来ません。ので、それぞれの画面にActivityを振り分けての表示をしたい時には、別タスクとな​るように起動する必要があります。

開発環境の設定

一般的なAndroid開発環境がインストール済みの場合、Android2.2用SDKをSDKマネージャでダウンロードし、Android SDKのadd-onディレクトリ(winXP+現在最新のAndroid SDKならC:\Program Files\Android\android-sdk\add-ons 辺り)に開発キットのLT-Wアドオンディレクトリをコピーして配置すると、開発が行えるようになります。

開発キットにはUSBドライバも含まれており、これを用いることでLifeTouch WをPCにUSB接続し、デバッグを行う事が出来ます。

実際に2画面表示アプリを作ってみる

Eclipseでのプロジェクトの作成手順は通常のAndroidの場合と同じで、Target Nameとして「LT-W」を選択してください。他は何でもかまいません。

Activityを2画面(Dual)表示する為に、以下の項目をmanifestファイルにて設定する必要があります。ここでは具体的な設定方法や詳しいタグ名については触れません(開発キットに付属のPDFに詳しく記述​されています)。

  • runsOnSecondaryDisplay : manifestタグ内にbooleanで設定。これがtrue以外の場合、Secondary及びDual表示を行う事が出来ない(=通常の Androidアプリにおいては未設定なのでPrimaryのみ表示可能)。
  • displayMode : Activityタグ内にstringで設定。single(PrimaryかSecondaryのいずれか) / dual(Dualのみ) / any(どれも可)が設定として有効で、Activityがどの表示先設定で表示される事を許容するかという設定である。

今回は2画面表示Activityを作るので、runsOnSecondaryDisplayはtrue、displayModeはDualに設定します。

また上記以外に、applicationタグ内にuser-libraryタグでcom.nec.android.dualscreenライブラリを指定する必要があります。

上記のマニフェスト設定が完了したものを実行すると、上に掲載した写真のような表示となります。

第一回Androidアプリコンテスト

2011年6月10日 金曜日

システムサイエンス研究所では、Android技術向上のため、社内でAndroidアプリコンテストを実施いたしました。応募作品を Android Market にアップしておりますので、使って見てください。 なお、社内審査の結果、作品名「mappaint」が最優秀作品に選ばれました。そのほか、作品名「時刻表ウィジェット」、作品名「いちご」が入賞し、それぞれ、表彰されました。

■作品一覧
Android Market からダウンロードできます。

時刻表ウィジェット

visitrecorder
mappaint
かくだいぞうさん
いちご
Txtocker
以上6作品です。

AP-3300を購入しました

2009年12月4日 金曜日

システム3部鈴木です。

これまでアットマークテクノ社のArmadillo-500 FXへのAndroidのポーティングを解説してきましたが、本日新たなパネルコンピュータがやってまいりました。

アルゴシステム社製・Algo Smart Panel AP-3300です。CPUはルネサステクノロジSH7723 400MHz、OSはLinuxを選択しました。
製品の詳細はこちら→AP-3300(旧型式:AP-320)【AlgoSmartPanel(アルゴスマートパネル)】

今後はAP-3300にAndroidを移植する過程をポストしようと思います。

では、前例に倣ってAP-3300を画像で紹介してみたいと思います。

AP-3300 梱包

こんな箱に入っていました。

AP-3300 画面

画面です。すっきりしていますね。ボタンが見当たらないので、AndroidのHome/Menu/Backボタンはソフトウェアの対応が必要ですね。

AP-3300 下側面
AP-3300 左側面
AP-3300 上側面
AP-3300 右側面

下側面からぐるりと一周しました。Androidと違って側面もケースに覆われていますね。

AP-3300 右側面・フタの中

右側面のフタを開けてみました。SDカードスロットとLinuxのコンソール用コネクタがありました。

AP-3300 裏側

裏側です。MADE IN JAPAN の表示が。

AP-3300 メニュー画面

起動してしばらくするとこんなメニュー画面になります。

以上、AP-3300の紹介でした。

AndroidでSDカードを使ってみる(2)

2009年10月1日 木曜日

システム3部鈴木です。

前回問題点としてあげていたwarningは、どうやらFATのフォーマットに関係があるようなので、調査しました。

もっとも、AndroidにマウントしたSDカードにviで新しいファイルを作ることができたので、「File system has been set read-only」というメッセージにどの様な意味があるのか良くわからないのですが。

mkdosfsのインストール

FATフォーマットをWindowsで行っているのが良くないのでは?ということで、LinuxでDOSのファイルシステムを作るためのmkdosfsを使ってみます。
参考サイト:[Armadillo:02384] Re: fsck.vfat について

atmark-distには入っていないので、arm用のバイナリをDLして、Armadilloのユーザーランドに追加します。

[PC ~]$ wget http://ftp.jp.debian.org/debian/pool/main/d/dosfstools/dosfstools_2.11-2.1+b1_arm.deb
(GCC4.1の場合)

パッケージを展開して、中身をArmadilloのユーザーランドにコピーします。

[PC ~]$ dpkg -x dosfstools_2.11-2.1+b1_arm.deb pkg
[PC ~]$ cp pkg/* atmark-dist/rootfs/sbin/

イメージを作り直します。

[PC ~]$ cd atmark-dist
[PC ~/atmark-dist]$ make image

Armadilloのフラッシュメモリに書き込みます。
例えばFTPで romfs.img.gz を /home/ftp/pub フォルダに転送し、下記のコマンドを実行します。

[armadillo ~]# netflash -nkur /dev/flash/nor.userland /home/ftp/pub/romfs.img.gz

フォーマット

SDカードのパーティションを切りなおし、FATでフォーマットします。

fdiskで既存のパーティションを削除し、新規パーティションをデフォルトで作成します。
その後、以下の設定をします。

Command (m for help): a
Partition number (1-4): 1

・・・ブート可能に。

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

・・・System IDを6に。

作成したパーティションをSDカードに書き込んだら、FATにフォーマットします。

[armadillo ~]# mkfs.vfat -F 32 /dev/mmcblk0

不思議なことに、この状態のSDカードをfdiskで見てみると…

Command (m for help): p

Disk /dev/mmcblk0: 14 MB, 14745600 bytes
4 heads, 16 sectors/track, 450 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot    Start       End    Blocks   Id  System

…パーティションがありません。どういう現象なのでしょう???

それはともかく、Androidを起動してみたところ、例の警告は出ませんでした。

ただし、このSDカードをWindowsPCに挿し、ファイルを書き込もうとすると、フォルダは空なのに容量がないと言われます。
仕方ないのでFATでフォーマットし、mp3ファイルを書き込んでみました。

Androidでマウントしても警告は出ませんし、mp3も再生できたので、ひとまず解決とします。

ただ、このSDをfdiskで見てみると…

        Device Boot    Start       End    Blocks   Id  System
/dev/mmcblk0p1   ?    12158374    29994462   570754815+  72  Unknown
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(357, 116, 40) logical=(12158373, 2, 5)
Partition 1 has different physical/logical endings:
     phys=(357, 32, 45) logical=(29994461, 2, 3)
Partition 1 does not end on cylinder boundary.
/dev/mmcblk0p2   ?     2635774    32886216   968014120   65  Unknown
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(288, 115, 43) logical=(2635773, 3, 3)
Partition 2 has different physical/logical endings:
     phys=(367, 114, 50) logical=(32886215, 0, 2)
Partition 2 does not end on cylinder boundary.
/dev/mmcblk0p3   ?    29216898    59467339   968014096   79  Unknown
Partition 3 has different physical/logical beginnings (non-Linux?):
     phys=(366, 32, 33) logical=(29216897, 3, 10)
Partition 3 has different physical/logical endings:
     phys=(357, 32, 43) logical=(59467338, 1, 9)
Partition 3 does not end on cylinder boundary.
/dev/mmcblk0p4   ?           1 18446744073699274417 18446744073380681216    d  Unknown
Partition 4 has different physical/logical beginnings (non-Linux?):
     phys=(372, 97, 50) logical=(0, 0, 1)
Partition 4 has different physical/logical endings:
     phys=(0, 10, 0) logical=(56831663, 3, 16)
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order

…これはこれで別の問題を孕んでいそうですが、当面は放っておくことにしました。

WindowsPCでSDカードをFAT32形式にフォーマットしようとすると容量が少なすぎると言われるので、もっと大容量のSDを使用すると、また違った結果になるかもしれません。

Armadillo-500 FXのタッチパネルを改造(2)

2009年9月28日 月曜日

システム3部鈴木です。

在庫切れのため、間に合わせのタッチパネルが取り付けられていた我等がArmadillo-500 FXですが、新品のパネルを装備して帰ってきました。
前回に引き続き、画像で紹介してみたいと思います。
相変わらず携帯のカメラなので見づらいですがご容赦ください。

全体像

正面から見た全体像です。はっきり言ってぱっと見は全然変わっていませんね。
液晶の表示が前より綺麗になっているのですが、この写真では伝わらないですね・・・。

前回、画面の左右が黒くなっていて格好が悪かったので、壁紙を入れ替えました。
壁紙DL元:555 [DESIGN] > wallpaper

全体像・裏側

裏側です。タッチセンサーのケーブルが、USBではなく、インターフェイスボードに接続されたため、すっきりしました。

タッチセンサーのズレ

画面の端に沿ってボールペンの頭を動かしたときのポインタの軌跡。左右の端が外側に若干ずれていますが、使ってみた感覚としては問題なしです。
むしろHOME画面のランチャーが引き出しやすいかと。
上下も端までタッチできるので、ボタンの誤射はほぼ無いです。

タッチセンサーのケーブル1

タッチセンサーのケーブルはタッチパネルとインターフェイスボードの隙間に入ったので、SDの出し入れも安心です。

タッチセンサーのケーブル2

USBが2つとも使えるようになったのは助かります。
見た目もすっきりしました。

タッチセンサーのケーブル3
タッチセンサーのケーブル4

ちょっと分かりづらいですが、タッチパネルとインターフェイスボードの間をくぐっているタッチセンサーのケーブルと、その接続部分です。

以上、生まれ変わったArmadillo-500 FXでした。
前回同様コアスタッフさんにお願いしたのですが、夕方17時に直接回収に来ていただき、翌日の9時半に届けて下さるという対応をしていただきました。
今回つけていただいたパネルが本来のものなので、別途の加工費は無しでした。
凄いですコアスタッフ。