2012年12月31日月曜日

2012年もおわり

あと2時間弱で2012年が終わり、2013年になります。

sirocoの初めてのアプリを公開したのが、2012年1月10日ですので、
もうすぐ1年たつことになります。
(短かったような長かったような)

年末は忙しくて(特にみんごるw)、なかなkアプリの開発はできませんでしたが、
2013年は既存アプリのレベルアップ、新しいアプリの公開、sirocoUI(仮)の開発、
等々、精力的に活動していこうと思いますので、引き続き宜しくお願いします。

それでは良いお年を~

2012年11月26日月曜日

【こんなときに画面消灯しないでよ】ver1.3.0 リリース



こんなときに画面消灯しないでよ
⇒マーケットはこちら



対応内容
Android4.2で上手く動作しない不具合を解消しました。
ただし、暫定的な対応となります。
引き続き原因調査を行い、正式な改修を行う予定です。



みんなのゴルフ6

久々にプライベートなことも。

職場で「みんゴル6」が流行っています。
sirocoは初代からやっていたので、かなり気になりますw

難易度が高めでリアルのゴルフに近いというところも惹かれます。
今日あたりポチりそうですwww

2012年11月22日木曜日

Settings.System 画面消灯させない設定

先日から「こんなときに画面消灯しないでよ」の不具合対応をしていますが、
今のところ修復の目途が立ちません。

画面消灯をさせないようにするには、Setting.SystemのputInt()メソッドで
"SCREEN_OF_TIMEOUT"に対して"-1"を設定することで実現しています。

これがAndroid4.2(API level17)で上手く動作しないのが現状です。

色々と試してみると、、、
 - "-1"は設定されているが10秒後に画面消灯してしまう
 - その他の値を設定すると、正しく動作する("30000"を渡すと30秒後に画面消灯する)
 - その他のAPI levelだと正しく動作する

最初はマルチユーザに対応した為に、実際の設定値の保存先である
settings.dbの参照が上手くいっていないのだと考えていました。
ですが"-1"以外の値では上手く動いているところをみると、そうではないようです。

その他で考えられるのはAPI level17から、画面消灯しない値が"-1"でなくなったこと。。。
この線で調査を進めています。
ただこの値は非公開なので苦戦しています(汗

SDKのソース追って行ったら見つかるのだろうか??

来週くらいで暫定的に対応したアプリも出そうかと考えていますが、
なんとかせねば~

2012年11月18日日曜日

【こんなときに画面消灯しないでよ】不具合報告

先日公開されたAndroid4.2に対して、本アプリ「こんなときに画面消灯しないでよ」の
不具合が発見されました。

内容としては、4.2の端末を使用した場合、画面消灯する/しないの
切り替えができない、というものです。

現在、上記症状が確認できているのはNexus7ですが、
マルチアカウント機能の追加が原因と考えています。
(たぶんNexus4などでは正常に動作していると考えています、再現出来てないですが。。。)

ご迷惑をおかけしますが、
不具合の改修は対応中ですので、今しばらくお待ち下さい。

2012年11月4日日曜日

Google ドライブ Client ID の取得

Google ドライブを使用するためには、
Client ID と、Client secret が必要になります。

今回はその取得方法について書いていきます。

まずはGoogle APIs Console にアクセスします。

次に、アクセスした画面の「Create Project...」をクリックします。
※開発用のGoogleアカウントでログインして下さいね。


次に、左のメニューが「Services」になっていると思いますので、
API一覧の中にある「Drive API」を"ON"にします。
※「Services」になっていなかったら選択して下さいね。



次に、左のメニューから「API Access」を選択します。
表示されるボタン「Create an OAuth client ID.」をクリックします。


別ウインドウで次のような画面が表示されますので、
「Product name」、「Product logo」を入力して「Next」ボタンをクリックします。
※「Product logo」は任意で良いようです。


続けて、「Application type」で"Installed application"を選択(sirocoの場合)、
「Installed application type」で"Other"を選択して、「Create client ID」ボタンをクリックします。
※"Android"を選択したいとろこですが、Client secret が取得できなかったので、"Other"を選択しています。
 (実装して違ったら直しますw)



以上までを行うと、Client ID と、Client secret を取得できます。
次回は実際にAPIを使用してみたいと思います!

2012年11月3日土曜日

Amazon kindle化リクエスト始まる

Amazonからkindleが発売されることは以前も書きましたが、
それに関連してか、Amazon.co.jpで「kindle化リクエスト」が始まりました。


上記イメージの赤枠のところに表示されているリンクをクリックすると
リクエストができるようです。

日本での発売で話題が高まっていますが、
電子書籍の販売数やジャンルの豊富さなど懸念されてもいますので、
こういったサービスはありがたいですね!

sirocoもいくつかリクエストしましたw

※結構前から始まっているサービスですが、意外と気づきにくい気がしたので書いてみました。

2012年10月26日金曜日

Kindle が日本でも発売に!

以前は盛んに噂されていたKindleが日本でも販売されるようです。
もう出ないと思っていたので、完全にノーマークでしたが、出るとなると欲しいものです。

発売されるのは、3種類。


「Kindle Paperwhite」は電子書籍リーダーで内蔵型ライトで書籍が読みやすく、
電池持ちが驚愕の8週間!

「Kindle Fire」「Kindle Fire HD」は7インチのタブレットで、AndroidOSを搭載しています。
ですが、Amazon独自のストアしか使用できず、通常のPlayストアの使用はできません。


因みに「Kidle Paperwhite」は3Gモデルもあり、そちらは12980円となります。
この3Gモデルは、端末料金のみで3G回線を使用できるもので、キャリアへの登録等は不要です。
docomoの回線を利用と取り上げられている事が多いですが、実際はAT&Tの回線を使用しており、
プラスエリアには対応していないようですので、注意が必要です。


sirocoはPWのwifiモデルが欲しいのです。。。
最近は色々とガジェットが出すぎで困るわwww

2012年10月25日木曜日

Drive API の導入

Google Drive を扱うためのAPI群、『Drive API』を導入します。
まずはライブラリをダウンロードします。

ダウンロード元はこちら⇒http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API
「google-api-services-drive-v2-rev13-1.8.0-beta.zip」をクリックしてダウンロードします。
(バージョンはダウンロードの時期で変わると思います)



ダウンロードが完了したら、zipファイルを解凍します。


drive直下にあるファイルgoogle-api-services-drive-v2-rev13-1.8.0-beta.jarをコピーし、
Androidプロジェクトのlibsディレクトリにペーストします。


コピペが完了したらビルド・パスの設定を行います。
Androidプロジェクトを選択し、右クリック。「プロパティー」を開きます。
「Java のビルド・パス」を選択し、右側の「Jar 追加(J)...」ボタンをクリックします。



該当のAndoridプロジェクトのlibsディレクトリ内にコピペしたjarファイルを選択し、「OK」をクリックします。


これでAPIを使用できる環境は整いました。
試しにeclipseのオートコンプリートを表示させると、、、


com.google.api.services.driveパッケージのAPIが表示されました。


無事にAPIを呼べるようになりましたが、導入までに2日掛かりました。。。
ググっても関連のものがほとんど出てこないので(日本語のものが)、苦戦しています。
APIについては色々試して、使えそうなものを紹介していきますw

2012年10月23日火曜日

GoogleドライブSDKについて

久々にコーディングする気が出てきました。
試験も終わったし時間を作ってやっていこうと思います。

今日はGoogleドライブについて。
GoogleドライブはGoogleが提供するオンラインストレージで、
すでに使用している人もいるかもしれません。

Googleドライブの公開と同時に、そのSDKも公開されていて、
アプリからの連携も可能になっています。

と、言う事で、当分の間はGoogleドライブとAndoridアプリの連携について
書いていきます。

公式ページが英語表記なので、時間が掛かるかもですが、
少しずつ進めていきます。
(sirocoは英語が不得意なのですw)


2012年10月18日木曜日

モバイルバッテリー Cheero Power Plus

前回のblogで書いたモバイルバッテリーですが、
早速ポチっちゃいましたw

購入したのはこちらの方。


付属品はこんな感じ。

左から充電専用USBケーブル、Apple Dock、Galaxy Tab、miniUSB、microUSB、Samsung、Nokia。

初回は充電に14時間くらい掛かるみたいなので、
使用した感想は次の機会に。

これでNexus 4、5をポチる準備は整ったぞw
問題はmoneyなんだが。。。orz

2012年10月15日月曜日

モバイルバッテリー

を買おうと考えていたのですが、
だいぶん品ぞろえも安定してきたので購入を決意しました。

ほんとは12000mAhのが良いけど、コスパで10000mAhの方かなw


最近ガジェットの事ばかりで、アプリやプログラミングのこと書いてないな。。。

2012年10月3日水曜日

【Dart】String

久々にDartのことを。

前回、文字列について書きましたので、それに関連してStringについて書きます。

String name = 'Siroco';
var hairColor = "White";

おさらいになりますが、文字列は'(シングルクォート)や"(ダブルクォート)で囲んで代入します。
どの文字列リテラルもString型となります。

Stringは変更できないオブジェクトですので、Stringを返すメソッドでも、
それは別のオブジェクトを返すことになります。

var device = "nexus7";
var newDevice = device.replaceAll("7", "5");
print(device == newDevice);  // falseと表示される

StringのメソッドであるreplaceAll()を使用しましたが、元のオブジェクト(device)に変更は加えずに、
新しいオブジェクト(newDevice)を返しています。
そのため、2つのオブジェクトを比較した結果は、falseと表示されます。

その他の機能としては文字列に@プレフィックスを付けることで、
エスケープシーケンスを無視することができます。

var notIgnored = 'In a raw string, even \n is ignored.';  // 改行される
var ignored = @'In a raw string, even \n is ignored.';  // 改行されない

文字列・Stringについてはこんなところでしょうか。

感想としてはかなりJavaに近い形で使えるなぁと思いました。
また、ちょっとずつ進めていきます。

2012年9月26日水曜日

Nexus 5はHTCから!?

すでに色々なサイトで噂が紹介されていますが、
時期NexusシリーズのNexus 5がHTCから出るのではとのことです。

名前の通り5インチのファブレット(PhoneとTabletをあわせた造語だってw)端末で、
1080p(1920×1080ドット表示)に対応したディスプレイ、Snapdragon S4 Proプロセッサ、
1,200万画素カメラ、2,500mAhバッテリ、64GBストレージ、LTE対応など噂されています。


siricoはNexusPrime(GalaxyNexus)、Nexus7を所有していますが、
HTCのNexusOneのデザインが一番気に入っているのもあり、すごく気になります!
(モトローラとかLGのもキニナルな~)

今からお金貯めなきゃw

きっと日本ではキャリアが扱わないでしょうから
また輸入になっちゃうだろうなwww

2012年9月25日火曜日

Nexus 7 が日本でも発売されました

Google PlayでNexus 7が発売されました。
16GB版のみのようです。
(端末ってタブが増えてたw)

初回販売から遅れること2ヶ月ほど。。。
でも日本で発売されて良かったですねw

https://play.google.com/store/devices?feature=corpus_selector
↑こちらから行けます。

それにしても大量に在庫を抱える転売屋は大変だwww
乙です。。。

2012年9月9日日曜日

【Dart】文字列・文字列補完

最近アプリ作りから遠のいているsirocoです。
久々の更新です。

 Dartの学習を少し進めたので、記録します。 

Dartで文字列を扱う場合、''(シングルクォート)や""(ダブルクォート)で囲みます。
String str1 = 'String1';
String str2 = "String2";

 シングルクォート若しくはダブルクォートを3つ続けて囲むと、
複数行の文字列を表現できます。
String str3 = '''String3 is
written in multiple lines.''';

// 次のように表示される
// String3 is
// written in multiple lines.

文字列内に$(ドルマーク)を使用することで、変数値や式の結果を表現する
字列補間(String interpolation)が使用できます。
void main() {
  final int n = 256;

  // $変数名 => 変数値
  print('n = $n');

  // ${式} => 式の結果
  print('n = ${n / 16}');
}

実行結果は
 n = 256
 n = 16.00
となります。

 今日は以上です。
最近、アプリ作りに時間取れないな~orz

2012年8月24日金曜日

【Dart】HelloWorld!

昨日に引き続きDart学習2日目です。
昨日はまさかのダウンロード失敗でしたが、今日は上手くいきました。

ダウンロードしたzipファイルを解凍すると、dartというフォルダが生成されます。
その中にあるDartEditor.exeを起動するとDartを開発できます。

早速起動。
eclipseベースと言う事もあって、馴染みのあるエディタに見えます。
(というか、まんま)


早速、新規アプリケーションを作成してみます。
「File」タブから「New Application」を選択。


別ウインドウが立ち上がるので、「Name:」にアプリケーション名を入力します。
「Directory:」はeclipseでいうworkspaceでしょう。
実体となるファイルが保存される先を指定します。


入力できたら「Finish」をおす。
すると左側の窓(eclipseでいうパッケージエクスプローラの部分)に先ほど作成した
アプリケーションが表示されます。



サンプルソースは次の通り。

#import('dart:html');

num rotatePos = 0;

void main() {
  query("#text").text = "Click me!";

  query("#text").on.click.add(rotateText);
}

void rotateText(Event event) {
  rotatePos += 360;

  var textElement = query("#text");

  textElement.style.transition = "1s";
  textElement.style.transform = "rotate(${rotatePos}deg)";
}

「Click me!」というテキストをクリックすると360度回転するといったところでしょうか。
今回は動作確認ということで、そのまま「run」をクリック。(上部にあるなやつね)



ほほう。
回転しましたw

どんな言語でも実行結果が表示されると嬉しいですよね!
(なんも書いてないけど)

今後は具体的に学習していきますので、都度、メモって行きます。でわw

2012年8月22日水曜日

【Dart】ダウンロード

きのう書いたとおり、「Dart」を学習しようと思ったので、
インストールしてみた。

まず公式サイトはここ


「Download now」をクリックすると、ダウンロードページに行く。


sirocoの場合Windowsなので、「32-bit Dart Editor + SDK + Dartium (Windows)」をクリック。
ダウンロードを開始する。
(64bitの人はそっちを選んでね。)

んでもって、ダウンロードしたzipファイルを解凍するんだけどエラーwww
sirocoの環境、ADSLだし、無線だから良く切断するんだよね。。。
それでかな(;一_一)

また明日、ダウンロードしなおしてみよう。。。

最近は。。。

プライベートや仕事が忙しくて、アプリ作りをしていない。。。
ブログも約1カ月放置。。。
だが、明日からは本気だす\(^o^)/

久々に書いたので近況報告です。
上に書いた様に忙しいのですが、色々とやりたいことは増えています。
アプリ作りもぼちぼち進めようかとw

情報試験の勉強とかもしてるので時間がなかなか取れないですが、
少しずつやっていこうと思います。

今日は欲しかった本を、たまたま寄ったツタヤで見つけたので、紹介します。



コーディングの方法を説明した本なのですが、意外とこういった本は無いので、
ずっと気になっていました。
また読んだ感想を書こうと思います!
興味のある方はどうぞw

新しく言語を覚える

最近、「プログラマが知るべき97のこと」という本を図書館で借りて読んだ。
技術的な内容ではなくて、有名なプログラマのノウハウや大切にしている事を
集めたエッセイ集といった感じ。



その中で良く出てくる書籍の「達人プログラマー」。
sirocoも読んでみたいと思っている本です。



プログラミングを上達させるには1年に1つの新しい言語を学ぶといいらしい。
真に受けたsirocoは新しい言語を学ぶことを決意しました!
(なんて単純)

色々と考えたけど、googleが昨年開発した『Dart(ダート)』にしてみようと思います。
上記の書籍にもあったけど、仕事の役に立つ立たないでなく、
色々な言語に触れることが大切だと。
(sirocoはgoogle信者ですし)

今後はDartについても書いていきます。
近々環境構築してみます!

2012年7月29日日曜日

【こんなときに画面消灯しないでよ】掲載情報

sirocoが作ったアプリ「こんなときに画面消灯しないでよ」が、
ドコモスマートフォンラウンジ神戸で8月のお勧めアプリとして掲載されるようです!

神戸にお住まいの方は行ってみて下さいね~

どんな感じで掲載されるんだろ??
実際に行かれた方がいましたら、コメント頂けるとありがたいです!!

ダークサマナー課金プレイの感想

以前 blog に掲載した通り、「ダークサマナー」というソーシャルゲームを始めています。
基本的には無課金でプレイしていますが、
今後の参考までに一度だけ課金してみました。
その感想です。

まず、使ったシチュエーションですが次の通りです。

  • イベント開催中
  • イベント中に告知があり「ここでしか手に入らないレアなモンスターがいる」とのこと
  • モンスターを捕まえるのにアイテムがいり、無課金のものと課金のものがある
  • 課金のアイテムだと100%モンスターが捕まえられる
といった感じです。

sirocoもイベント内でレアなモンスターが捕まえられるかもしれない状態になり、
ここで課金アイテムを使用してみました。

課金アイテムの入手についても至ってスムーズで次のような感じでした。
  • まずゲーム内通貨を購入
  • 購入はPlayストアで行える
  • 通貨を購入後、課金アイテムをゲーム内通貨で購入
上記の一連の流れをイベント内で済ますことができ、
そこに大きなハードルは感じませんでした。

またゲーム内通貨についても工夫されていて、
アイテムの価格(200ゲーム内通貨)より少し多めの単価(310ゲーム内通貨)で購入します。

アイテムを購入しても110ゲーム内通貨ほど余るため、
追加で課金したい気持ちにさせる効果があります。

sirocoはソーシャルゲーム自体初めてで、勿論、課金も初めてでしたが、
なかなか上手く作ってるな~と感心しました。
コンプガチャが問題になったばかりですが、売る側の戦略と言った意味では
参考になると思いました。


。。。課金アイテムでgetしたモンスターはB+(レアでも何でもない)でしたorz
もう課金なんてしてやんないぞ(>_<)


2012年7月23日月曜日

Nexus7 が届いたよ

待ちに待ったNexus7 が届いた。
B&H で $249 + $47.25 で購入したんだけど、なぜかヤマトに着払い500円請求された(=_=)
まあ、それをあわせても24000円程度だから、安い方だろう。

早速、開封。


付属品はマイクロUSBケーブルと、アダプタ(?)。


背面。


タブレット端末は始めてだけど、7インチの為、片手でも持てていい感じw
それに軽いwww
ipadと比べると更に軽く感じる。
(インチが違うからそもそも比較するのもおかしいけど)

今日は開けて、必須アプリを入れただけだけど、
これから色々と弄っていきます!!

まずはrootとらにゃw

2012年7月22日日曜日

ダークサマナーを始めてみた

数日前から『ダークサマナー』を始めてみた。
いわゆるソーシャルゲーム。

いままでソーシャルゲームはやったことなかったけど、
今後のアプリ開発の参考にする意味も含めて始めた。

感想は素直に面白いw
タップした際の反応の悪さはあるものの
ゲームバランスも良く、参考になるな。

興味のある人はやってみてはいかがでしょう??
ID:2530201994 を始めるときに入力したら特典あります(*^^)v
sirocoのIDでもあるので、フレンド申請してねw

2012年7月11日水曜日

Nexus7 購入! ~手数料なしってサイコー~

とうとうNexus7を購入しました!!

以前のブログで友人に頼んで~って書いてたんですけど、
その方法だと金銭のやり取りとか面倒で、結局ショップで購入しました。

sirocoが選んだショップはB&H。
http://www.bhphotovideo.com/c/search?Ntt=NEXUS+7&N=0&InitialSearch=yes&sts=ma
ここは手数料がなく、$199と送料だけで買う事ができました。
(sirocoは16G版を選択しました)

アメリカのショップなので、これから購入を考えている人の為にメモっときますね。

◆まず上記URLへ遷移すると、次のような画面が表示されます。


◆「ADD TO CART」ボタンをクリックすると、次のようなポップアップが表示されます。


◆「View Cart」ボタンをクリックすると、次のような画面が表示されます。


◆「Country」で"JAPAN"を選択(日本の場合)。
「Choose a Shipping Method」を選択(sirocoは送料が安い"UPS Worldwide Saver"を選択)。
「CHECKOUT」ボタンをクリックすると、次のような画面が表示されます。

◆「First」「Last」を入力(名前ですね)。
「Country」を選択(国)。
「Address Line 1」~「Address Line 3」を入力(市町村以降の住所)。
「City(State)」を入力。(都道府府県)
「Postal Code」を入力(郵便番号)。
「Billing / Home Phone」を入力(電話番号)。※「Ext:」は日本の場合"81"を入力。
「Email Address」を入力(メールアドレス)。
「Countinue Checkout」ボタンをクリックすると、次のような画面が表示されます。

◆「Shipping Options」を選択します(配送オプションですね。sirocoは送料で決めました)。
「Countinue Checkout」ボタンをクリックすると、次のような画面が表示されます。

◆クレジットカードの選択と、カード情報を入力します。
「Countinue Checkout」ボタンをクリックすると、確認画面が表示されますので、
問題なければCheckoutすると手続き完了です。

以上です。
会員登録のところは省いちゃっていますが、氏名等の入力ですので、
住所情報登録のところを参考にしたらいいと思います。

早く届かないかな~w

2012年7月5日木曜日

Nexus7の購入に向けて

Nexus7 がどうしても欲しくて色々方法を模索した。

①輸入代行業者に頼む
②英国のショップから購入
③国内のショップから購入

①は上記の中では一番価格面で折り合いがつくんだけど、
トラブルがないとは限らない。

②は送料込みで30000くらい。少し高いな。。。

③は送料込みで34000くらい。高すぎじゃない??

といった感じで、$249(約2万円)の端末を手に入れるには
何かしらの手間賃が掛かってしまう。

仕方なく②で行こうと思ったんだけど、
海外旅行に良くいく友達がいることを思い出し、連絡。
するとカナダに友達がいるとのこと!
無理をいって交渉してもらっています。
おkがでれば$249と送料のみで買えそうです!!

楽しみだな~w
早く連絡こないかな~w

結果はまた後日。


P.S.
プロフィールのsiroco画像を新しくしました。
4.1にアプデしましたw

2012年7月4日水曜日

Jelly Bean の使用感



Galaxy Nexus に Jelly Bean 環境を導入したので、感想を書いてみます。

まず全体的なUIはICSとさほど変わらない気がします。
(余り変わりすぎてもユーザが困りますしね。。。)


スクロールのなめらかさなどは良くなっていて、新たに追加された
画面遷移の際のアクションは格好良いと思います。
(siroco的にお気に入りw)

大きく変わったのはNotificationBar(スクロールバー)でしょうか。
表示されている情報を長押しでアプリ情報を表示できたり、
メールの文面が表示されたりします。
あとはスクロールバー上のアイコンは消せるようになったみたい。。。
(こないだ頑張って消す実装したのにorz)
↑ この機能ないみたいでした。どこで見たんだろ??

ウィジェットについても配置の際の動作が変わっていました。
今まではすでに配置してあるウィジェットのところには配置不可でしたが、
4.1 では配置ができるようになっています。
(元々あるものを下に追いやって割り込む感じ)
これは便利だと思いました。

既存のアプリについては一部動作しないものもありますが、大体は大丈夫そうです。
(sirocoのアプリはすべて動作しましたw)

キャリアからの公式アプデは当分ないでしょうが、
Android がどんどん進化していくのが楽しみですね!!






【ST4D】ver1.0.0 リリース



ST4D
⇒マーケットはこちら




機能概要

本アプリは開発者の為の設定やツールをまとめたアプリです。
「USBデバッグ」や「提供元不明のアプリ」など開発中に良く使用する設定画面への遷移や、
インストールした端末でLogcatを確認することができます。
Logcatの表示に関しては「TAG」や「priority level」によるフィルタリングなど、
adbライクな表示が可能です。


主な機能
- 「開発者向けオプション」画面への遷移
- 「セキュリティ」画面への遷移
- Logcat による Log 情報の収集&表示
- Android 公式リファレンスページへの遷移

推奨OS
Android 2.1 以降

コメント
sirocoが作ったアプリ第3弾です。
siroco自身が開発をする際によく使う設定を、一つにまとめました。
テストやデバッグの助けになるように、端末で Logcat を確認できる様にしました。
開発者の皆さんに使ってもらえるとうれしいです。

2012年7月2日月曜日

【こんなときに画面消灯しないでよ】アンドロイダーに掲載されました!

かの有名な『アンドロイダー』に新着レビューアプリとして載っちゃいましたw
すごくうれしいです!

siroco自身も銀河Sを買ったときにお世話になったサイト(&本)なので、
自分のアプリが載るなんて夢のようです~

この調子でどんどん良いアプリを作っていこ(^-^)

掲載ページ : http://androider.jp/a/4029cb7acec23bce/
アンドロイダー : http://androider.jp/

2012年7月1日日曜日

【ST4D】使い方について


=== 概要 ===

本アプリは開発者の為の設定やツールをまとめたアプリです。
「USBデバッグ」や「提供元不明のアプリ」など開発中に良く使用する設定画面への遷移や、インストールした端末でLogcatを確認することができます。
Logcatの表示に関しては「TAG」や「priority level」によるフィルタリングなど、adbライクな表示が可能です。


開発者用の設定・ツール
開発者向けオプション"USBデバッグ"等の設定が可能な「開発者向けオプション」画面へ遷移します。
※Android 3.x 以前は「開発」画面へ遷移
セキュリティ"提供元不明のアプリ"等の設定が可能な「セキュリティ」画面へ遷移します。
※Android 3.x 以前は「アプリケーション設定」画面へ遷移
Logcatの表示Logcatを表示します。(詳細は後述)
公式リファレンスAndroid公式リファレンスページへ遷移します。
その他
About本アプリについての説明画面を表示します。
Help本アプリの使い方画面を表示します。
(つまりは、この画面)

=== 詳細 ===

- 開発者向けオプション
 「開発者向けオプション」画面へ遷移します。

- セキュリティ
 「セキュリティ」画面へ遷移します。

- Logcatの表示
 Logcatを表示します。
 日付、呼び出し時刻、重要度/タグ、および元となるプロセスの PID を表示します。
 表示色はVerbose:白、Debug:青、Info:緑、Warning:黄、Error:赤、Fatal:紫です。
 画面下位のボタンでLogの更新、フィルタリング、ファイル共有など行えます。

  1.更新(1番左のボタン)
   Log情報を更新します。
   ※フィルタリングを行っている場合は、フィルタリングした状態で最新情報を取得します。

  2.TAG検索(左から2番目のボタン)
   TAGでフィルタリングを行います。
   表示したいTAGをテキストボックスに入力して「YES」ボタンを押下することで実施します。
   フィルタリングは完全一致のみ可能です。


  3.プライオリティレベルの設定(真ん中のボタン)
   画面に表示するLogの最低レベルを設定します。
   "Warning"を設定した場合、ワーニングレベル以上のLogのみ表示されるようになります。
   ※TAG検索を実施している場合、フィルタリングしているTAGに対してレベルが設定されます。


  4.ファイル共有
   画面に表示中のLogをファイルに保存し、テキストファイルを他アプリに共有します。
   ファイルの保存先は */sdcard/ST4D/st4d.log です。(*の部分は端末により異なります)


  5.Logクリア
   表示中のLogをクリアします。
   クリア後に更新を行った場合、それ以降のLogが表示されます。
   ※クリア後にTAG検索やプライオリティレベルの設定を行った場合は、
     クリア前のLogも再取得されます。

- 公式リファレンス
 Android 公式リファレンスページを表示します。


以上です。
不明点等ありましたら、遠慮せずにご質問下さい。

2012年6月30日土曜日

R.javaが消える件

アプリ作ってて、xmlの修正した後でリソースIDの参照がおかしくなることがある。
例えばstrings.xmlのAを参照している作りなのに、なぜかBを参照してしまうような感じだ。

この事例はたまに発生していて、さっきも起こっていた。
eclipseの挙動もおかしかったからクリーン起動すると、、、

???
R.java がない!!!???

おかげでこのざま。


もう真っ赤。
作成中のアプリだけでなくリリース済みのアプリも全部。

余りの出来事に放心状態になったが、とりあえずググって事象を整理した。

・eclipse クリーン起動すると R.java が消えることがある
・原因はres内のxmlファイルのエラー、またはAndroidManifest.xmlのエラー
・xmlファイルの場合、命名規則のエラー(大文字が使われているなど)が原因のことが多い

とりあえずxmlファイル確認したけど、それらしいエラーも見つからず
また放心状態。。。

でもまてよ、、、全部のアプリにエラーって、、、と思い、考える。
AdMob...?

AndroidManifest.xmlのAPIレベルを13に変更し保存。
R.java復活!!
助かった(:_;)

AdMobを下位OSで使用するためにAPIレベルを下げてた事が原因だったみたいです。
(表示上はワーニングなので注意)
※aidlファイルを参照してるところもエラーになりますが、これはファイルを再保存したら消えます。


流石に今回は焦ったのでメモっときます。
AdMob使っている人は気をつけて下さいね(^_^;)

Actionbarの導入

今作成中のアプリにアクションバーを使用したかったのだが、
APIを使用するとなるとAPI Level を11以上にする必要がある。

OSの割合の大半が2.3のタイミングでこれは出来ないな~って、
判断してやめようと思う。
個人的にアクションバー使ったUIが好きなんだけどな~

早くICSやJBが普及すればいいのに<(`^´)>

2012年6月21日木曜日

SDK Manager の更新と、その副作用


昨日 SDK Manager のアプデを行ったんだけど、その後 eclipse の挙動がおかしくなった。
xmlファイルは変更してないのにエラーはいたり、
作成中のアプリの動作が挙動不審になったり。

仕方がないので eclipse をクリーン起動させた。
すると次のようなエラーが!

This Android SDK requires Android Developer Toolkit version 17.0.0 or above.  
Current version is 16.0.1.v201112150204-238534.  Please update ADT to the latest version.

なんか以前もあったような。。。
前は相当ハマったけど、今回は2回目なのですんなり対応できた。
でもメモった方がよさそうなので書いときます。

このエラーはSDKのバージョンと、ADT(Android Developer Toolkit)のバージョンが
不一致を起こしているために起こります。
対処法としては、、、

「ヘルプ」⇒「新規ソフトウェアのインストール」⇒「作業対象」
ロケーション:https://dl-ssl.google.com/android/eclipse
を選択して(ない場合は追加して)、最新バージョンの開発ツールをインストール。

eclipse 再起動でおkです(^^♪

2012年6月20日水曜日

【Java】配列

久々にJavaのこと書きます。
配列について。

これはAndroid開発でも出てくるから覚えておいた方がいい構文のひとつ。
配列とは複数の値を持つことができる変数です。
int[] intArray;
String[] textArray;
こんな感じで宣言すると配列になります。
上がint型の配列、下がString型の配列。
int[] intArray = new int[10];
String[] textArray = new String[10];
配列を使用するにはnewして実体を与える必要があります。
上の例だとどちらの配列も10個の要素を持つ配列になります。
int[] intArray = new int[10];
intArray[0] = 0;
intArray[1] = 1;
intArray[2] = 2;
intArray[3] = 3;
というような感じで値を代入していきます。
ここで[]の中の数値をindexといい、0から始まる数字で表します。
(1から始まらない点に注意)
10個の要素を持つ配列の場合、indexは0~9で
配列の各index番目に値を入れることができます。
int[] intArray = new int[10];
intArray[0] = 0;
intArray[1] = 1;
intArray[2] = 2;
intArray[3] = 3;

int three = intArray[3];
配列から値を取得する場合も代入のときと同じで、
欲しい値が設定されているindexを指定することで取得できます。

因みに、、、
String[] textArray = {"a", "b", "c"};

// "b"が代入される
String b = textArray[1];
配列は宣言時に初期値を設定することもできます。
{ }で囲い、","で区切り代入する値を記述します。
上の例だと"a"、"b"、"c"という3つの値を持ったString型の配列となります。
値の取得方法は変わりません。

配列の利用方法としてはfor文と組み合わせて使用すると
便利なことが多いです。
String[] textArray = {"金", "銀", "銅"};

for (int i = 0; i < textArray.length; i++) [

    // "金"、"銀"、"銅"と順に表示
    System.out.println(textArray[i]);
}
textArray.lengthはtextArrayの要素数を示します。
上の例だと i < 3 と同意ですね。
ここで注意するのはindexは2までですが、lengthは3という点です。
慣れてきたらすぐですが、初めのうちは混乱するかもね(^_^;)


配列については以上です。
次回は配列に良く似たものでコレクションについて触れていきます。
でわでわ。

SDK Manager の更新

久しぶりにSDK Manager 立ち上げたらアプデ来てたから、
インスコし始めた。
良く考えたらその間コーディング出来無いじゃん\(^o^)/

光通ってないから遅いんだよね。。。

皆さんもアプデのタイミングには気をつけましょう!

2012年6月11日月曜日

ACTION_APPLICATION_DEVELOPMENT_SETTINGSへのstartActivity()

タイトルの通り、「開発者向けオプション」画面へ遷移させたくて、
// 「開発者向けオプション」画面へ遷移
startActivity(new Intent(
    android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
って指定したら"ActivityNotFoundException"だって。

ググって色々調べてみたら、
「開発向けオプション」画面はDevelopmentSettingsというActivityで、
intent-filterで設定されている文字列には"com."がついてて、 android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGSとして宣言されている文字列は "com."がついてないんだって。。。
<activity
    android:name="DevelopmentSettings"
    android:label="@string/development_settings_title">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action
            android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

おそろしや~

sirocoの性格

sirocoの性格について。
結構、心変わりする。

アプリ作りにしても、
この間アイコンを載せた「通知消去」ではなく、
すでに別のアプリを作っている始末。

と言うか、したいことがたくさんあると、
並行でしようとするタイプかな?

いま作ろうとしているアプリのアイデアが、
4点くらい溜まってる。

いいのやら、悪いのやら。。。

2012年6月3日日曜日

【こんなときに画面消灯しないでよ】1ヶ月後

「こんなときに画面消灯しないでよ」がリリースして1カ月を迎えました。
インストール数は1000を超え、レビューも12件頂きました。

レビュー12件というのは、このインストール数にしては多い方で、
大変嬉しく思います。
更に嬉しいことに、レビューの評価が皆★5つで
siroco自身びっくりしています。

これからも良いアプリを作っていきますので、
宜しくお願いします。

とりあえずは、レビューで頂いた、端末再起動時の
ステータスバー表示の制御を可能にすべく、
改定を進めていきます。

それでは。。。

2012年5月29日火曜日

【Forest君用】問題その2

練習問題その2です。
 次のような画面を作成します。


「現在時刻を入力して下さい」というテキストと、テキストボックス、
「時」というテキスト、そして「あいさつ」というボタンで構成されています。

テキストボックスに入力してボタンを押すことで、入力内容に合わせた結果を表示する
振る舞いを実装して下さい。

結果の表示条件は次の通り。

・入力内容が"6"~"11"の場合、"おはようございます"と結果表示
・入力内容が"12"~"17"の場合、"こんにちは"と結果表示
・入力内容が"18"~"21"の場合、"こんばんは"と結果表示
・入力内容が上記以外の時間の場合、"睡眠中zzz"と結果表示
・入力内容が数値以外の場合、"へそまがり"と結果表示

それでは環境作り。
この間の練習問題で作ったプロジェクトに次のファイルを追加して下さい。

res/layout/main2.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="現在時刻を入力して下さい" />

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/editText"
            android:layout_width="50dp"
            android:layout_height="wrap_content" />

        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="時" />

    </LinearLayout>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="あいさつ" />

    <TextView
        android:id="@+id/result"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>


src/作成したパッケージ/Test2Activity.java
import android.app.Activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.TextView;

public class Test2Activity extends Activity implements OnClickListener {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  // main2.xmlをViewに設定
  setContentView(R.layout.main2);
 }

 // ボタンが押されたときの振る舞い
 @Override
 public void onClick(View v) {

  // ボタンを押した後に表示する文字列
  String message = "";

  // テキストBOXに入力された文字列を取得
  EditText editText = (EditText) findViewById(R.id.editText);
  String time = editText.getText().toString();

  // ここにmessageに文字列を設定する条件を書いてね!
  // message = ...



  // ボタン押下後のテキストの表示
  TextView result = (TextView) findViewById(R.id.result);
  result.setText(message);
 }
}

あとはAndroidManifest.xml内の"TestActivity"を"Test2Activity"に変更したら下準備完了!

Javaソースの32行目のところにコーディングして、
ボタンを押したらあいさつのテキストを表示させるようにしてくださいね。

練習問題その1より簡単になってるかな~。
まあ、でも、実装の仕方ではAndroidらしいコーディングが出来そうだから勉強になるよ、
きっと!

2012年5月24日木曜日

【Forest君用】変数への代入(復習)

プログラミング未経験者が一番最初につまずくのは変数の代入だそうです。
ということで、今回は復習として変数への代入について書いてみます。

シンプルに文字列を例に挙げてみます。
// まずは変数の宣言。変数名はtext
String text;

// 変数への代入。"代入"という文字列を代入
text = "代入";

ここまではOKでしょうか?
変数を宣言し、"="で値を代入します。
String型の変数の場合は""で囲んだ値(文字列)を代入できます。
イメージとしては、textという器に"代入"が入ってる感じかな。

String型は文字列の結合ができるので、ついでにおさらい。
// まずは変数の宣言。変数名はtext。"代入"という文字列を代入
String text = "代入";

// 変数textに"は簡単"という文字列を結合
text = text + "は簡単";

// text += "は簡単";とコーディングしても同じこと

文字列の結合は"+"を使います。
 "Xperia Play" + "欲しい"は"Xperia Play欲しい"となります。
イメージはtextという器にまず"代入"と"は簡単"が順番に入っている感じ。 

文字列の結合についてみましたが、 次の例はどうなるかわかりますか?
// まずは変数の宣言。変数名はtext
String text;

// int型の変数を宣言。変数名はnumber。1を代入
int number = 1;

// textに文字列とint型変数を結合して代入
text = "Androidが" + number + "番好き!";

textは最終的に"Androidが1番好き!"が代入されています。
変数numberはint型なのにString型に代入できるの?って思った方、するどい!!
本来であればコンパイルエラーとなりますが、
javaにはオートボクシングという機能があり、自動で文字列に変換してくれています。
但し、text = number;みたいにint型の変数のみを代入しようとするとエラーになります。
文字列と合わせてならOKって事です。

因みに初心者が陥りやすい間違え。sirocoもよくやったな。。。
// まずは変数の宣言。変数名はtext
String text;

// "1 + 1 = 2"と代入したい。。。
text = "1 + 1 = " + 1 + 1;

// "1 + 1 = 11"と表示される。
// 左から結合されるため"1 + 1 = 1" + 1となってしまう。
// text = "1 + 1 = " + (1 + 1); すれば希望通り

// 結合するつもりが再代入してしまう。。。
text = "私は";
text = "Androidが";
text  = "好きです";

// 最終的に代入されているのは"好きです"のみ。。。

などなど。
Stringに偏りましたが、代入について少しでも理解が深まれば幸いです(^^ ♪

色々と欲しいものが。。。

GalaxyNexusを購入したことで端末が2台になった。
6月にはJBの発表もあるらしく、Nexus5台(?)が秋に発売されるという
リークもある。

今後、端末もどんどん増えてくる予感がする。。。
sirocoはハマると止まらないから(>_<)

Android関連Goodsでも気になるものがたくさん出来たから
とりあえずメモしとこ~


とりあえず秋のNexusTabletに向けて貯蓄せねば!

2012年5月19日土曜日

新しいアプリのアイコン作った

タイトルの通り。
こんな感じ。


アプリ名まるわかりwww

最近nexus弄るのに夢中でアプリ作りどころじゃないsirocoでした。
rootとったから、そろそろsim移そうかな~

2012年5月11日金曜日

【Forest君用】問題その1

これまでAndroidアプリ「HellowWorld!」の作成や、Javaのコーディングの仕方を学んできたので、
ここらで練習問題。

まず次のソースをコピペしてね。
(適当なサンプルプロジェクト立ち上げてやってね)

res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/multiplication_table"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

src/作成したパッケージ/TestActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TestActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  // main.xmlをViewに設定
  setContentView(R.layout.main);

  // main.xmlで宣言したTextView(idがmultiplication_table)を取得
  TextView multiplicationTableView = (TextView) findViewById(R.id.multiplication_table);

  // multiplicationTableViewにgetMultiplicationTable()メソッドで取得した文字列をセット
  // ⇒つまり掛け算九九の表を画面に表示
  multiplicationTableView.setText(getMultiplicationTable());
 }

 /**
  * 以下の掛け算九九の表を生成し、
  * String型文字列を返却する。
  *
  *   1  2  3  4  5  6  7  8  9
  *   2  4  6  8 10 12 14 16 18
  *   3  6  9 12 15 18 21 24 27
  *   4  8 12 16 20 24 28 32 36
  *   5 10 15 20 25 30 35 40 45
  *   6 12 18 24 30 36 42 48 54
  *   7 14 21 28 35 42 49 56 63
  *   8 16 24 32 40 48 56 64 72
  *   9 18 27 36 45 54 63 72 81
  *
  * @return 掛け算九九の表
  */
 private String getMultiplicationTable() {
  String multiplicationTable = "";

  // ここに九九の表を作るロジックを入れてね!

  return multiplicationTable;
 }
}

コピペ出来たら、AndroidManifest.xmlのapplicationタグ内に以下の記述を追加。
(プロジェクト生成時にTestActivityの名称でActivity生成してたら不要かも?)
<activity
     android:name=".TestActivity"
     android:label="@string/app_name" >
     <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
</activity>

ここまで出来たら準備おk!
javaソース内のgetMultiplicationTableメソッド内にロジック書いて、
九九の表をアプリの起動画面に表示させて下さい。


>Forest君
出来たらメールでもちょうだいな(^。^)y-.。o○

2012年5月10日木曜日

新しいアプリ作り始めたのだ

5月頭に公開したばかりだけど、新しいアプリを作り始めました。
(と言っても、新しいプロジェクト起こしただけだけど)

前回のアプリ「こんなときに画面消灯~」(←名前長いよ)は1週間ほどで作りましたが、
今回のはきつそうです。
非公開のAPIとかも駆使しないときつそうな気がしていて、
sirocoの技量で出来るのか?少し不安ですが(;一_一)

まあ、なるようになるか~
因みにプロジェクト名は「ClearNotification」。
大体どんなアプリか想像つくかな??

それにしても「閃きカメラ」ができるのはいつなんでしょう??

【Java】繰り返し その2

最近 Forest君用のblog書いてなかったから久しぶりに。
(てか、Forest君がサボってたんだし。。。)

前回、繰り返し処理を for文で実現する方法を説明しましたが、
今回は"while"を使った繰り返し文について勉強します。

while文は次のように記述します。

while ( 繰り返しの条件式 ) { 繰り返す内容; }

int i = 1;
while (i < 6) {
    System.out.println(i + "回目");  
    i++;
}
これは前回 for文でやった
for (int i = 1; i < 6; i++) {
    System.out.println(i + "回目");  
}
と全く同じ結果が得られます。

while文は日本訳の通り、繰り返しの条件式を満たす間、処理を繰り返します。
上記の例ですと、int型の変数 i が6より小さい場合に、
"System.out.println(i + "回目");"と、"i++;"を繰り返します。
つまり、i を1からインクリメントしていき、何回目かを表示しています。

この例ではint型を使用しましたが、
int型を加算していくような繰り返しは for文が、
フラグなどが切り替わるまで繰り返すようなケースは、while文が適していると思います。

今回は以上です。

2012年5月6日日曜日

【こんなときに画面消灯しないでよ】ver1.0.0 リリース



こんなときに画面消灯しないでよ
⇒マーケットはこちら




機能概要
本アプリは端末の画面消灯設定を変更するだけのアプリです。
アプリ起動中にちょっと目を離すと画面が消灯していて、画面表示させると、「ちょ、アプリ終了してるし!?」という、誰もがする苦い経験を解消します。
操作はアプリ起動画面で画面消灯しないように設定するだけ。
ステータスバーやウィジェットでもワンクリックで変更可能です。

主な機能
- 画面消灯の設定切り替え
- 画面消灯させる場合の時間設定
- ウィジェットでの設定切り替え
- ステータスバーでの設定切り替え

推奨OS
Android 2.1 以降

コメント
siroco作成アプリ第二弾です。
同様の機能を持ったアプリはすでにPlayStoreに存在しますが、
sirocoが使いたいと思うものを作りました。
デザイン面でHitする方は使っていただけると幸いです。

Androidワンショルダーげっと

アスキーショップでずっと売切れてたアンドロイドショルダーが
再発売されたので購入した!

ドロイド君好きにはたまらない鞄だよ!!




これを持ち歩けば少しはデベロッパぽく見られるのかな??