[Firefox OS] Peak+の製造中止とRevolutionについて

この記事はFirefox OS Advent Calendar 2013 十二日目の記事です。

どうも。shintaniです。いつもTizenの記事ばかり書いていましたが、今回はFirefox OSの記事を書いてみました。

内容については、7月下旬に予約したのに、いつまでたっても届かなかったPeak+(最終的には製造中止)と近日中?に発売されるRevolutionについてです。

Peak+とは、Geeksphoneにより、当初2013年9月に発売を予定されていたFirefox OS端末です。
今年7月頃から予約受け付けが開始されましたが、発売日が延期に延期を重ね、最終的に今年の11月下旬に製造中止となりました。
ちなみに、社内でFirefox OS端末を購入することになり、購入手続きを私が担当していました。。。

Firefox OS搭載の最新端末について触れられるということで個人的に非常に楽しみにしていたのですが、製造中止ということで非常に残念でした。

が、

11月下旬頃、Peak+製造中止に伴い販売元のGeeksphoneからメールが届き、以下の中のいずれかの対応を行うことになりました。

  1. 予約代金の全額払い戻し
  2. 現在発売中のPeakと予約代金の差額の払い戻し
  3. 新しく発売されるFirefox OS 端末 Revolutionへの予約切り替え

これは、Revolutionへの予約切り替えを行うしかないと、3を選ぶ方針で、上司に進言を行い、
最近になりようやくRevolutionへの予約の切り替えが完了しました。

Revolutionについては、あまり多くの情報が得られませんが、Geeksphoneの公式サイトやこちらの記事によると、これまで同社より発売されてきた「Keon」や「Peak」より高速なプロセッサが搭載されることになりそうです。

Geeksphoneから届いたメールの文言を信じる限り、近日中に発売されるとのことでしたので、到着まで楽しみに待っていようと思います。

ちなみに、以下がメールの一部抜粋となります。

>The new device will be available soon. (訳:新しいデバイスは、すぐに利用できるようになります)

>The new device will be available soon. (訳:新しいデバイスは、すぐに利用できるようになります)

>The new device will be available soon. (訳:新しいデバイスは、すぐに利用できるようになります)

大事なことなので3回書いておきました。

また、Revolutionが無事届きましたら、このブログで感想を書かせていただければと思います。

TizenでAndroidのpreference代替機能を探してみた

この記事はTizen Advent Calendar 2013 九日目の記事です。

どうもshintaniです。今回は、TizenでAndroidのpreferenceの代替機能
を探してみた時の話を記載します。

はじめに

preferenceとは、Androidアプリ開発時にアプリで使用するパラメータを
保存する目的で使用されるものです。このpreferenceの代替機能がないか
調べてみました。

結論としては、Registryクラスのメソッドを使用することで、preference
の代替とすることができました。

Registryクラスとは

Registryクラスとは、レジストリファイルを作成したり、レジストリファイルへの
入出力を行う機能を提供しています。(Windosのiniファイルのようなものを管理するクラスというイメージ)

主なメソッド

・Construct()
 レジストリファイルのオープン(ない場合は作成)

・AddSection()
 セクションの追加

・AddValue()
 セクションへの値の追加

・SetValue()
 セクションに設定した値の変更

・GetValue()
 セクションに保存した値の取得

ソースコードを書いてみた

Registryクラスを利用する場合は、下記の流れで処理を行います。

1. レジストリファイルを作成する

2. セクションを追加する

3. パラメータの読み書きを行う

Registryクラスを利用してソースコードを書いてみましたのでご紹介します。

下記の例では、LteCheckerPreference()にて、レジストリファイルをオープンし、
setUseNotification()でパラメータの保存、isUseNotification()にてパラメータの取得を行っています。

LteCheckerPreference::LteCheckerPreference(void)
: PREFERENCE_NAME(L"lte_checker")
,PREF_USE_NOTIFICATION(L"use_notification")
,prefPathName(L"BLM.ini")
,sectionName(L"setting")
{
	result r;
	
	 //①"BLM.ini"ファイルをオープン(なければ作成)
	 r = pref.Construct(App::GetInstance()->GetAppDataPath() + prefPathName, "a+");
	
	 //②"setting"という名前のセクションを追加
	 r = pref.AddSection(sectionName);
}

void
LteCheckerPreference::setUseNotification(int use){
	result r;
	
	//③"setting"セクションに、"use_notification"キー、値を設定
	r= pref.SetValue(sectionName, PREF_USE_NOTIFICATION, use);
	
	//"use_notification"キーに該当するキーがなければ
	if(r == E_KEY_NOT_FOUND) { 
		//④"setting"セクションに、"use_notification"キー、値を追加
		r = pref.AddValue(sectionName, PREF_USE_NOTIFICATION, use);
	}

	r = pref.Flush();
}

int
LteCheckerPreference::isUseNotification(void){
	result r;
	int use = 0;
	
	//⑤"setting"セクションの、"use_notification"キーに対応する値を取得
	r = pref.GetValue(sectionName, PREF_USE_NOTIFICATION, use);

	if(r == E_KEY_NOT_FOUND || r == E_DATA_NOT_FOUND ){
		use = 1;
		r = pref.AddValue(sectionName, PREF_USE_NOTIFICATION, use);
	}

	return use;
}

感想

他にも良い方法はあるかも知れませんが、Androidのpreferenceのようにパラメータの保存・取得を簡単に行う方法をご紹介しました。C++でイチから書くよりソースコード量が少なくすみますので、パラメータ保存・取得を簡単に行いたい方は、是非試してみてください。

[Firefox OS][FxOS]Firefox OS搭載の消費者向けスマホ「Peak+」の事前予約受付が開始されたようです

どうも、shintaniです。

Firefox OS搭載の消費者向けスマホ「Peak+」の事前予約が開始されました。

CNET Japan] 「Firefox OS」搭載の消費者向けスマホ「Peak+」、事前予約受付が開始
http://www.asahi.com/tech_science/cnet/CNT201307260040.html

開発者向けモデル「Peak」から電源管理が改善されバッテリ持続時間が長くなり、グラフィックス性能も向上しているとのことです。

149ユーロ(197ドル)の特別価格で、事前予約を受けつけるということなのでこの機会に購入するのもよいかも知れません。。

[Android ][Tizen][Firefox OS]スマホでブートするOSを選択できるシステムを検証中

どうも、新谷です。

現在、Android、Tizen、Fire Fox OSとスマートフォンのOSが入り乱れている状態です。

このため、Android版しか存在しないアプリをTizen上で動作させようとする場合などに移植するコストがかかります。

上記問題を解決するため、スマートフォンで端末起動時にブートさせるOSを選択できるシステムを開発できないかと考えています。(実現できれば1台の端末で3種類のOSのアプリが使用できる)

現在、メモリ上に上記3種類のOSのイメージを配置して、ブート時に起動パーティションを変更する方法を検証しています。

[Tizen]event injectorを使ってみた

どうも。shintaniです。

Tizenでアプリケーションを開発する場合、
エミュレータを使用することが多いと思いますが、
event injectorというツールを使用することで
エミュレータ内でイベントを発生させることができます。

今回は、このevent injectorを利用して
エミュレータで保持している位置情報を変更する
手順を紹介します。

以下の解説は、Windows 上でTizen SDK2.14を
用いた場合の手順となります。

[準備]

 ・Tizen SDKをインストールしておきます

[手順]

 
1.Tizen エミュレータを起動します
 
2.event injectorが保存されているパスまで移動します
  以下のパスにあるフォルダを開き、eventinjector.batをダブルクリックします。  

event injector保存パス:tizen-sdk\tools\emulator\bin

  すると、event injectorコマンドラインが表示されます。

 
3.event injectorコマンドを使用して位置情報を変更する。
  
  下記のようにコマンドを打ち込むと、エミュレータの緯度・経度を0,0に設定できます。

>location set 0 0

  ”OK”という表示がでるとイベントの発行が完了します。

他にも、発生させられるイベントはあるようなので
event injectorの詳細については、Tizen公式HPをご覧ください。

[Tizen]Smart Development Bridgeを使ってみた

どうも。最近、広島カープの負けが込んでいて気落ちしているshintaniです。

今日は、Tizen アプリ開発時に役立つツールについて紹介します。

Androidには、ADB(Android Debug Bridge)というアプリ開発を支援する
ツールありましたが、Tizen OSにも、SDB(Smart Development Bridge)という
アプリ開発支援ツールがあります。

今回は、このツールを簡単に紹介します。

SDBは、Tizen SDKに含まれているため、Tizen SDKのインストールが
完了していれば使用可能です。

以下の解説は、Windows 上でTizen SDK2.14(前回からこっそり更新しています)を
用いた場合の手順となります。

[手順]

1.Tizen エミュレータを起動します。

前回記事
をご参照ください。

2.Tizen SDBが保存されているパスまで移動

コマンドプロンプトを立ち上げ、tizen-sdk\toolsまで移動します。
下記のようにコマンドを打ち込む

>cd C:\tizen-sdk\tools

3.SDBコマンドを使用する

・shellを起動する場合

下記のようにコマンドを打ち込む

>sdb shell

以下の様に、画面に以下の様に出力され、shellの使用が可能になります。

sdb_shell

・データをエミュレータ上に保存する

下記のようにコマンドを打ち込む

>sdb push "保存するデータのパス" "保存先エミュレータのパス"
(例) >sdb push hogehoge.txt /mnt/ums

・エミュレータからデータを取得する

下記のようにコマンドを打ち込む

>sdb pull "エミュレータに保存されているデータのパス"
(例) >sdb pull /mnt/ums/hogehoge.txt

SDBについての詳細は、こちらをご参照ください。

[Tizen]ネイティブアプリを作成しエミュレータ上で実行してみる

どうも。犬より猫派のshintaniです。

今日は、Tizen OSのネイティブアプリケーション作成しエミュレータ上で動作確認するまでの手順について紹介したいと思います。

[準備]

1.Tizen SDKインストールしておきます。
Tizen SDKは、こちらからダウンロードできます。

以下は、Windows上でTizen SDK2.0を用いた場合の手順となります。

[手順]

1.Tizen IDEを起動する

スタートメニュー→プログラム→Tizen SDK→Tizen IDEを選択します。

Tizen_IDE

2.新規プロジェクトを作成する
File→New→Projectを選択します。

Tizen_IDE_Create_Project1

Tizen Native Projectを選択します。

Empty Applicationを選択します。

今回はプロジェクト名を”HelloTizen”します。

Finishを選択するとプロジェクトの作成が完了します。

3.プロジェクトをビルドする

Project Explorer内の”HelloTizen”プロジェクトをクリックしアクティブにします。

続けて右クリックでBuild Projectを表示させ選択します。

右下のBuild Projectが100%になるとビルド完了です。

4.エミュレータの作成と起動

スタートメニュー→プログラム→Tizen SDK→Emulator Managerを選択し、

Emulator Managerを起動します。

EmulatorManager

x86-standard下のCreate newを選択し、画面右下のCreateボタンを押下します。

次にデバイスの名称を設定します、今回は”TizenDevice”と入力します。

入力が完了したら、Confirmを選択するとエミュレータの作成が完了します。

エミュレータの作成が完了すると画面上にエミュレータ名”TizenDevice”が表示されます。”TizenDevice”を選択しLaunchをクリックするとエミュレータが起動します。

Tizen_Emulator

5.プログラムの実行

Tizen IDE画面に戻りProject Explorer内HelloTizenプロジェクトをアクティブにし右クリックします。

続けて、Run As→Tizen Native Applicationを選択するとエミュレータ上でHelloTizenアプリが起動します。

HelloTizen

[Tizen]Tizen向けバッテリーライフマネージメントアプリを作成することになりました。

弊社製品のバッテリーライフマネージメントアプリのTizen版を作成することになりました。

バッテリーライフマネージメントアプリとは、LTEの利用可能エリア情報の共有を行うアプリケーションです。

Android版のバッテリーライフマネージメントアプリの詳細は、こちら