ようへい

2012年3月29日木曜日

3/29 Android ニュースひとまとめ

 KDDIが、Androidスマートフォン向けの「Eメール(~@ezweb.ne.jp)」アプリのアップデートを行う。アップデートにより改善される内容は以下のとおり。

 一部メールが受信できず、受信遅延となる場合がある不具合を改善。
 メール一覧画面から詳細画面に移る際の表示パフォーマンスを改善(Xperia acro IS11S、HTC EVO WiMAX ISW11HT、HTC EVO 3D ISW12HTを除く)。
 「GALAXY SII WiMAX ISW11SC」にて、メールに添付された動画を表示する際に、映像が表示されない不具合を改善。

 アップデートは3月29日と4月2日に開始する。3月29日に開始する機種が「HTC EVO WiMAX ISW11HT」「MOTOROLA PHOTON ISW11M」「HTC EVO 3D ISW12HT」「ARROWS Z ISW11F」「DIGNO ISW11K」「MOTOROLA RAZR IS12M」「Optimus X IS11LG」「Xperia acro HD IS12S」「INFOBAR C01」「GALAXY SII WiMAX ISW11SC」。4月2日に開始する機種が「Xperia acro IS11S」「MEDIAS BR IS11N」「ARROWS ES IS12F」。
KDDI、Android向け「Eメール(~@ezweb.ne.jp)」アプリをアップデート - ITmedia +D モバイル
http://plusd.itmedia.co.jp/mobile/articles/1203/29/news064.html
au のEメールアプリにアップデートが来ます。
私のIS11Sは4/2に開始ですね。
色々改善されているみたいですけど、私はメールの添付ファイルの保存先を記憶できるようにして欲しいですね。
ユーザビリティがイマイチですよね。
 株式会社駅探は29日、鉄道の遅延状況などをリアルタイムに入手するためのAndroidアプリ「路線実況」を公開した。Android 2.2/2.3に対応しており。Google Play(旧Android Market)から無料でダウンロードできる。

 Twitterでつぶやかれているツイートの中から、鉄道の運行状況に関連するツイートだけに絞って時系列に表示するもの。ユーザーが選択した路線に関するツイートが、最新のものから順にタイムライン表示される。ツイートされているこうしたリアルタイム情報は、特に地震や台風などの災害時に有効だとしている。

 タイムラインを見たい路線は、路線一覧や検索、よく使うお気に入り路線から指定できるほか、GPSの位置情報から推定して自動的に路線を提示する機能もある。遅延などが発生し、運行状況に関連するツイートが流れている路線には「!」マークが付く。
駅探がAndroidアプリ「路線実況」、運行情報関連ツイートだけ抽出して表示 -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20120329_522422.html
ツイートの中から路線の情報見れるのは良いですね。
駅が出す情報より早いし。
まぁ、私の地域は対応エリアじゃないんですけどね。
関連記事

2012年3月28日水曜日

3/28 Android ニュースひとまとめ

PC で Android アプリが使える BlueStacks App Player のベータ版がリリースされました。米国のスタートアップ BlueStacks が開発する App Player は、XP以降の Windows OS 上に仮想Android環境を作りアプリを走らせるプラットフォーム。Androidアプリの動作モードはタブレットや大画面携帯など個別に選択することができ、ウィンドウ内やフルスクリーンのWindowsアプリと同様に動かすことができます。また物理キーボードやマイク、プリンタなど、PC側のデバイスやサービスをAndroid側から使えることも特徴のひとつ。

アプリの選択や管理はAndroidスマートフォンのホーム画面が現れるのではなく、BlueStacks 独自のホーム画面を使う仕組み。アプリの導入はプリインストール(リンク)や「お薦めアプリ」から、あるいはAmazon Appstore for Android や GetJar などのマーケットから串刺し検索することが可能です。さらにAndroid端末用のアプリ BlueStacks Cloud Connect を導入することで、スマートフォンやタブレットで利用中のアプリをPCのBlueStackに「プッシュ」してそのまま使うことができます。

今回一般向けにリリースされた beta-1 バージョンでは、独自の仮想化技術 " LayerCake " により、ARMプロセッサ用のネイティブコードを含む多数のアプリに対応し、またAMD GPU / APU でグラフィックのハードウェア支援描画が可能になりました。BlueStacks の表現では「45万のAndroidアプリを10億のPCへ」。ベータ版のインストーラはリンク先からダウンロードできます。続きはWindows上で Angry Birds Space などゲームを含む各種Androidアプリを動かすデモ動画。
WindowsでAndroidアプリが動くBlueStacks App Player ベータ公開、GPU支援・ARMコード対応 - Engadget Japanese
http://japanese.engadget.com/2012/03/27/windows-android-bluestacks-app-player-gpu-arm/
うぉー。
これは良いですね~。
OSとしての信頼性はAVD(Android Virtual Device)の方が上でしょうけど、安定性や、実機並みの性能を出すとなると、こちらの方が良いかも。
IntelプロセッサでARMプロセッサもエミュレートできるみたいです。
現在のところAMD GPUによるサポートのみのようなのでNVIDIA GPUもサポートしてもらえると嬉しいな~。
正式版が待ち遠しい。
日経ビジネスが「特報!」として、Google がコンテンツストア Google Play Store に月額課金制度を導入すると伝えています。Android マーケットあらため Google Play Store では、アプリ内決済も含め、これまでコンテンツの売り切り(あるいはレンタル)しかできませんでしたが、今後はより柔軟な販売システムを提供することになります。制度の開始は「4月にも」とのこと。

ちなみにライバルのアップルは電子新聞や電子雑誌向けに、一足早く定期購読モデルを提供しています。ただし、一般的なアプリについては未だ定期購読モデルを利用できませんので、Google が実現すれば、柔軟性の点ではライバルを逆転する格好になります。

ご存知のとおりスマートフォン以前のケータイビジネスでは、おおよそ売り切りのほうが納得感のあるゲームやコンテンツまで月額いくらと課金されることが多 く、キャリア決済のもとで少額のお金を広く長く回収していくのが一般的なビジネスモデルでした。日本発という Google のこの取り組みは、どうしても iPhone にまず目配せしがちな国内のコンテンツホルダーを Android 側に振り向けさせる効果がありそうです。
Google が月額課金システムを導入へ、Google Wallet 決済限定(日経報道) - Engadget Japanese
http://japanese.engadget.com/2012/03/28/google/
アップルのように書籍の定期購読タイプになるのか、auのスマートパスみたいになるのか、docomoのVIDEOストアのようになるのか・・・
続報を待ちたいと思います。
関連記事

[Android アプリレビュー] アストロ探検隊

情報
アストロ探検隊
アストロ探検隊
アストロ探検隊
強敵を仲間にしてもメリット無し
惑星で領土開拓をしながら、発展させていくゲーム。
これも、ゆけむり温泉郷ほどハマらなかった。
いくつか不満点がある。

惑星の地形が固定
ランダム地形なら、2週目以降も楽しめたかも。
地形エディット的な機能があれば、私のようなマス目をきっちり揃えて町並み作りたい人にも嬉しかった。
施設のアップグレードができない
カイロソフトのゲームであればお馴染みのような機能である、施設のアップグレードができない。
やり込み要素がほとんどなくなった。
イベントが少ない
基本的には、開拓→探索→住人発見 or 開拓→探索→戦闘というイベントしかない。
宇宙人と仲良くなって、観光客を増やし、資金を増やせるけど、それ以降の展開が無い。
後半は資金が溜まり続けるだけ。
SimCityのように天災があれば資金の投資先もあったんでしょうけど。
施設が少ない
建設可能な施設が、他のカイロソフトのゲームに比べて圧倒的に少ない。
攻略
接近戦はドリルが最強なので、わざわざ無限の縦穴に挑む必要はあまり無い。
チンパンGスーツや、カイロスーツで敵を住民にしたところで、得することは少ない。
アストロ探検隊
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

2012年3月25日日曜日

3/25 Android ニュースひとまとめ

Instagramは登場以来ずっとiPhoneオンリーだった。他プラットフォームでの実現可能性については、あまりに控えめな意見しか出てこず、Android版など出てこないのではないかと考える人も多かった。今でもまだリリースの日程などは発表されていないが、どうやら動きがあった。AndroidオーナーでInstagramに興味のある人はこちらのページから今すぐに登録しておいた方が良いのかもしれない。

今月初め、TechCrunchのAlexia TsotsisがSXSWにて、Instagram共同ファウンダーのKevin Systromにインタビューを行った。そのときにもAndroid版のリリースが間近であると話をしていた。デモの段階にはなかったようだが、「ある面では、iOS版よりも良いできだと思うよ」と語っている。
Instagram、ついにAndroid版の事前登録ページが登場(リリース日は未だ不明)
http://jp.techcrunch.com/archives/20120324instagram-android-sign-up/
一時期、偽者も登場したInstagramですが、いよいよAndroid版正式リリースになるみたいです。
早速登録しておきましょう。
関連記事

2012年3月23日金曜日

3/23 Android ニュースひとまとめ

Acer が Android タブレットの新モデル Iconia Tab A510 を北米向けに発表しました。昨年7月には日本でも発売された10型 Android タブレット Icania Tab A500 の後継にあたり、今年1月のCES 2012 ではNVIDIAブースで一般展示されていながらなぜかエイサーからは発表がなかった機種です。中身はプロセッサが Tegra 2 から「4-PLUS-1」クアッドコアの Tegra 3 へと順当にパワーアップしています。

主な仕様は10.1型 1280 x 800 液晶ディスプレイ (10点マルチタッチ対応)、NVIDIA Tegra 3 プロセッサ、1GB RAM、32GB内蔵ストレージ (今回発表の北米版は32GBモデルのみ)、microSDスロット (SDHC, ~32GB)、マイクロUSB 2.0ポート (充電対応)、マイクロ HDMI出力、802.11a/b/g/n WiFi、Bluetooth 2.1+EDR、背面5MPカメラ、前面1MPカメラなど。オーディオは Dolby Mobile 3 に対応します。
Acer Iconia Tab A510 正式発表、Tegra 3 採用の10型 Android 4.0 タブレット (「オリンピック・エディション」) - Engadget Japanese
http://japanese.engadget.com/2012/03/22/acer-iconia-tab-a510-tegra-3-10-android-4-0/
ASUS Eee Pad TF201も良いですけど、キーボードドック要らないならコッチかな。
日本での発売が楽しみです。
 「Angry Birds」のメーカーであるフィンランドのRovioは3月22日(現地時間)、新ゲーム「Angry Bireds Space」を、PC、Mac、iOS、Android向けに公開した。新iPad向けの高精細版もある。

 ゲームの説明には「卵を大きなハサミに持っていかれてしまったアングリーバードたち。敵を追ってワームホールに入り込んだ彼らを待ち受けていたのは摩訶不思議な新銀河……そしてそこは宇宙仕様のブタ達でいっぱいだった!」とある。
space

 プラットフォームによって異なる価格は以下の通り。Android版は広告付きで無料だ。

 新iPad版(Angry Birds Space HD) 250円
 iOS版 85円
 Android版 広告付きで無料
 Mac版 450円
 PC版 5ドル95セント
宇宙が舞台の「Angry Birds Space」公開 Android版は無料 - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/1203/23/news023.html
リリースされましたね。
相変わらずAndroid版は無料とのことです。
関連記事

2012年3月22日木曜日

3/22 Android ニュースひとまとめ

 Angry Birdの場合、ゲームをプレイするための表示や動作に使われるのはアプリが利用する電力全体のわずか20%。45%はサードパーティー製のFlurryエージェントが使用している。Flurryはモバイルアプリやアクティベーションに関するデータをアグリゲーションしており、GPSを利用したユーザー位置情報の取得やアップロード、3G回線を利用した位置情報ベースの広告のダウンロードなどで電力を消費しているという。

 ユーザーがアプリを閉じてもHeapWorkerがクリーンナップを行ない、まだ終了していないソケットを終了させるために3G接続状態が約10秒続いている。このような“Tail Power”のために28%の電力を消費することも報告している。
ASCII.jp:Androidスマホのバッテリー問題 広告付きアプリが原因か?
http://ascii.jp/elem/000/000/680/680461/
まぁ、言い出したら限がありませんけど。
広告に限らず、余計な処理が入っていれば、それにバッテリーは少なからず食われるわけですし。
要は最適化されていないということなのかな。
米Googleは3月21日(現地時間)、Android SDK ToolsとEclipseプラグインのアップデート(Revision 17)をリリースした。これまで開発者を悩ませてきたエミュレータが大幅に改善されており、Windows PCまたはMacでネイティブに近い速度で動作する。
Android SDKアップデート、Windows/Macでエミュレータが高速に | 携帯 | マイナビニュース
http://news.mynavi.jp/news/2012/03/22/015/
SDKアップデート来ました。
先ほどアップデートしてみましたが、まぁ、そんなに変わらないかな。
エミュレータは落ちるときがあるので、まずは起動速度よりも安定性を重視して欲しいな。
こないだ米国のゲームメーカーが「Androidは断片化激しくて対応にかかる手間の割には儲からない」と開発終了を決めたニュースが日本でも話題になりましたね。

Android支持派はよく「多くの端末が対応してるオープンソースのエコシステムの方が、Appleみたいな端末2モデルしかない壁に囲われた庭より成長ポテンシャルは大きい、考えてもみろよ、このポテンシャルを!」って言うんですけど、あまりにもポテンシャルがあり過ぎて、Androidのどのバージョンで書けば良いものやらさっぱり分からなくて開発者が尻込みしてしまってる、というのが正直なところかもしれません。

The Registerが伝えた最新の調査でも、Androidタブレット&スマートフォン対応アプリ開発への関心が最近薄れてきている実態が明らかになっています。
分断化嫌って開発者がAndroid離れって... 本当? : ギズモード・ジャパン
http://www.gizmodo.jp/2012/03/is-fragmentation-making-android-devs-jump-ship.html
OSのバージョンが散乱している現状では、このように考える方も多いでしょうね。
個人で開発を楽しむ分には、とりあえず自分の端末で動けば良いですけど、リリースするとなると話は変わりますからね。
Androidは端末側のスペックも様々なので、iOSのように簡単にOSをバージョンアップさせることも難しいですし。
う~ん。難しい。
関連記事

2012年3月20日火曜日

3/20 Android ニュースひとまとめ

 先月より配信開始されたiPhone/Android用アプリ「Draw Something」の人気が爆発中だ。海外ニュースサイトの報道によると、配信開始からわずか5週間で累計ダウンロード数は3000万回に達したという。

 ゲームの内容は単純だ。お題の絵を描いて、相手に送る。送られた相手はその絵が何であるかを想像して、答える。正解するとコインがもらえ、コインを溜めるとお絵かき時に使えるパレットの色を増やしたりできる。

 ランダムで知らない相手とも遊べるが、基本的にはFacebook上の友達と遊ぶのがメインとなる。知らない人と遊ぶよりは、知っている人と遊んだ方が圧倒的に盛り上がるし、楽しい。妙なイラストに爆笑したり、思いのほか上手で驚嘆したり……ああ、こりゃあ確かに広まるわけだ。
日々是遊戯:早くも3000万ダウンロード突破、お絵かきアプリ「Draw Something」が大ヒット中 - ねとらぼ
http://nlab.itmedia.co.jp/nl/articles/1203/20/news006.html
お、面白そう。
英語はサッパリだけど、絵心はあるつもりなので、やってみようかな。
あ、お題を出してもらう友達居ないな・・・。
ワロタ
関連記事

Hello, Views (DatePicker編)

Date Picker | Android Developers
http://developer.android.com/intl/ja/resources/tutorials/views/hello-datepicker.html 日付を選択するウィジェットです。
HelloDatePickerというプロジェクトを作成します。
今回から、xml内に記述する文字列をstrings.xmlに外出ししようと思います。(eclipseでハードコードのwarningが出るのも嫌なので)
res/values/strings.xmlを開き、以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, HelloDatePickerActivity!</string>
    <string name="app_name">HelloDatePicker</string>
    <string name="pick_date">Change the date</string>

</resources>
res/layout/main.xmlを開き、以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <TextView android:id="@+id/dateDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""/>
    <Button android:id="@+id/pickDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pick_date"/>
</LinearLayout>
HelloDatePickerActivity.javaを開き、以下のように変更します。
package com.blogspot.logroid.helloDatePicker;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class HelloDatePickerActivity extends Activity {
    
    private TextView mDateDisplay;
    private Button mPickDate;
    private int mYear;
    private int mMonth;
    private int mDay;

    static final int DATE_DIALOG_ID = 0;
    
    /** Called when the activity is first created. */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // capture our View elements
        mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
        mPickDate = (Button) findViewById(R.id.pickDate);

        // add a click listener to the button
        mPickDate.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

        // get the current date
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);

        // display the current date (this method is below)
        updateDisplay();
    }
    
    // updates the date in the TextView
    private void updateDisplay() {
        mDateDisplay.setText(
            new StringBuilder()
                    // Month is 0 based so add 1
                    .append(mMonth + 1).append("-")
                    .append(mDay).append("-")
                    .append(mYear).append(" "));
    }
    
    // the callback received when the user "sets" the date in the dialog
    private DatePickerDialog.OnDateSetListener mDateSetListener =
            new DatePickerDialog.OnDateSetListener() {

                public void onDateSet(DatePicker view, int year, 
                                      int monthOfYear, int dayOfMonth) {
                    mYear = year;
                    mMonth = monthOfYear;
                    mDay = dayOfMonth;
                    updateDisplay();
                }
            };

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            return new DatePickerDialog(this,
                        mDateSetListener,
                        mYear, mMonth, mDay);
        }
        return null;
    }
}
実行します。
今回出てきたキーワードについて解説。
findViewById
IDにマッチするViewを取得
setOnClickListener
クリック(タップ)した際のイベントリスナ登録
OnClickListener
クリック(タップ)した際のイベントリスナ
onClick
クリック時のイベント
引数には、クリック(タップ)されたビューが入る
showDialog
ダイアログを表示
引数には、ダイアログのIDを指定する
OnDateSetListener
日付がセットされた際のイベントリスナ
onDataSet
日付がセットされた際のイベント
引数には、クリック(タップ)されたビュー、選択された年、月、日が入る
onCreateDialog
ダイアログ作成時のイベント
引数には作成対象のダイアログIDが入る
DatePickerDialog
日付を選択するダイアログ
関連記事

2012年3月19日月曜日

Hello, Views (List View編)

List View | Android Developers
http://developer.android.com/intl/ja/resources/tutorials/views/hello-listview.html 他の言語にもあるリストビューですね。
早速始めましょう。
HelloListViewというプロジェクトを作成します。
アクティビティ名はHelloListViewActivityとします。
XMLファイル list_item.xml をルート要素 TextView で作成し、をres/layoutに保存します。
res/layout/list_item.xmlを以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:textSize="16sp" >
</TextView>
HelloListViewActivity.javaを開き、ListActivityを継承させ、以下のように変更します。
package com.blogspot.logroid.helloListView;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class HelloListViewActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String[] countries = getResources().getStringArray(R.array.countries_array);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // When clicked, show a toast with the TextView text
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}
res/valuesにXMLファイルを作成します。
リソースタイプは、Values、ファイルはarray.xmlとします。
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="countries_array">
        <item>Afghanistan</item>
        <item>Albania</item>
        <item>Algeria</item>
        <item>American Samoa</item>
        <item>Andorra</item>
        <item>Angola</item>
        <item>Anguilla</item>
        <item>Antarctica</item>
        <item>Antigua and Barbuda</item>
        <item>Argentina</item>
        <item>Armenia</item>
        <item>Aruba</item>
        <item>Australia</item>
        <item>Austria</item>
        <item>Azerbaijan</item>
        <item>Bahrain</item>
        <item>Bangladesh</item>
        <item>Barbados</item>
        <item>Belarus</item>
        <item>Belgium</item>
        <item>Belize</item>
        <item>Benin</item>
        <item>Bermuda</item>
        <item>Bhutan</item>
        <item>Bolivia</item>
        <item>Bosnia and Herzegovina</item>
        <item>Botswana</item>
        <item>Bouvet Island</item>
        <item>Brazil</item>
        <item>British Indian Ocean Territory</item>
        <item>British Virgin Islands</item>
        <item>Brunei</item>
        <item>Bulgaria</item>
        <item>Burkina Faso</item>
        <item>Burundi</item>
        <item>Cote d\'Ivoire</item>
        <item>Cambodia</item>
        <item>Cameroon</item>
        <item>Canada</item>
        <item>Cape Verde</item>
        <item>Cayman Islands</item>
        <item>Central African Republic</item>
        <item>Chad</item>
        <item>Chile</item>
        <item>China</item>
        <item>Christmas Island</item>
        <item>Cocos (Keeling) Islands</item>
        <item>Colombia</item>
        <item>Comoros</item>
        <item>Congo</item>
        <item>Cook Islands</item>
        <item>Costa Rica</item>
        <item>Croatia</item>
        <item>Cuba</item>
        <item>Cyprus</item>
        <item>Czech Republic</item>
        <item>Democratic Republic of the Congo</item>
        <item>Denmark</item>
        <item>Djibouti</item>
        <item>Dominica</item>
        <item>Dominican Republic</item>
        <item>East Timor</item>
        <item>Ecuador</item>
        <item>Egypt</item>
        <item>El Salvador</item>
        <item>Equatorial Guinea</item>
        <item>Eritrea</item>
        <item>Estonia</item>
        <item>Ethiopia</item>
        <item>Faeroe Islands</item>
        <item>Falkland Islands</item>
        <item>Fiji</item>
        <item>Finland</item>
        <item>Former Yugoslav Republic of Macedonia</item>
        <item>France</item>
        <item>French Guiana</item>
        <item>French Polynesia</item>
        <item>French Southern Territories</item>
        <item>Gabon</item>
        <item>Georgia</item>
        <item>Germany</item>
        <item>Ghana</item>
        <item>Gibraltar</item>
        <item>Greece</item>
        <item>Greenland</item>
        <item>Grenada</item>
        <item>Guadeloupe</item>
        <item>Guam</item>
        <item>Guatemala</item>
        <item>Guinea</item>
        <item>Guinea-Bissau</item>
        <item>Guyana</item>
        <item>Haiti</item>
        <item>Heard Island and McDonald Islands</item>
        <item>Honduras</item>
        <item>Hong Kong</item>
        <item>Hungary</item>
        <item>Iceland</item>
        <item>India</item>
        <item>Indonesia</item>
        <item>Iran</item>
        <item>Iraq</item>
        <item>Ireland</item>
        <item>Israel</item>
        <item>Italy</item>
        <item>Jamaica</item>
        <item>Japan</item>
        <item>Jordan</item>
        <item>Kazakhstan</item>
        <item>Kenya</item>
        <item>Kiribati</item>
        <item>Kuwait</item>
        <item>Kyrgyzstan</item>
        <item>Laos</item>
        <item>Latvia</item>
        <item>Lebanon</item>
        <item>Lesotho</item>
        <item>Liberia</item>
        <item>Libya</item>
        <item>Liechtenstein</item>
        <item>Lithuania</item>
        <item>Luxembourg</item>
        <item>Macau</item>
        <item>Madagascar</item>
        <item>Malawi</item>
        <item>Malaysia</item>
        <item>Maldives</item>
        <item>Mali</item>
        <item>Malta</item>
        <item>Marshall Islands</item>
        <item>Martinique</item>
        <item>Mauritania</item>
        <item>Mauritius</item>
        <item>Mayotte</item>
        <item>Mexico</item>
        <item>Micronesia</item>
        <item>Moldova</item>
        <item>Monaco</item>
        <item>Mongolia</item>
        <item>Montserrat</item>
        <item>Morocco</item>
        <item>Mozambique</item>
        <item>Myanmar</item>
        <item>Namibia</item>
        <item>Nauru</item>
        <item>Nepal</item>
        <item>Netherlands</item>
        <item>Netherlands Antilles</item>
        <item>New Caledonia</item>
        <item>New Zealand</item>
        <item>Nicaragua</item>
        <item>Niger</item>
        <item>Nigeria</item>
        <item>Niue</item>
        <item>Norfolk Island</item>
        <item>North Korea</item>
        <item>Northern Marianas</item>
        <item>Norway</item>
        <item>Oman</item>
        <item>Pakistan</item>
        <item>Palau</item>
        <item>Panama</item>
        <item>Papua New Guinea</item>
        <item>Paraguay</item>
        <item>Peru</item>
        <item>Philippines</item>
        <item>Pitcairn Islands</item>
        <item>Poland</item>
        <item>Portugal</item>
        <item>Puerto Rico</item>
        <item>Qatar</item>
        <item>Reunion</item>
        <item>Romania</item>
        <item>Russia</item>
        <item>Rwanda</item>
        <item>Sqo Tome and Principe</item>
        <item>Saint Helena</item>
        <item>Saint Kitts and Nevis</item>
        <item>Saint Lucia</item>
        <item>Saint Pierre and Miquelon</item>
        <item>Saint Vincent and the Grenadines</item>
        <item>Samoa</item>
        <item>San Marino</item>
        <item>Saudi Arabia</item>
        <item>Senegal</item>
        <item>Seychelles</item>
        <item>Sierra Leone</item>
        <item>Singapore</item>
        <item>Slovakia</item>
        <item>Slovenia</item>
        <item>Solomon Islands</item>
        <item>Somalia</item>
        <item>South Africa</item>
        <item>South Georgia and the South Sandwich Islands</item>
        <item>South Korea</item>
        <item>Spain</item>
        <item>Sri Lanka</item>
        <item>Sudan</item>
        <item>Suriname</item>
        <item>Svalbard and Jan Mayen</item>
        <item>Swaziland</item>
        <item>Sweden</item>
        <item>Switzerland</item>
        <item>Syria</item>
        <item>Taiwan</item>
        <item>Tajikistan</item>
        <item>Tanzania</item>
        <item>Thailand</item>
        <item>The Bahamas</item>
        <item>The Gambia</item>
        <item>Togo</item>
        <item>Tokelau</item>
        <item>Tonga</item>
        <item>Trinidad and Tobago</item>
        <item>Tunisia</item>
        <item>Turkey</item>
        <item>Turkmenistan</item>
        <item>Turks and Caicos Islands</item>
        <item>Tuvalu</item>
        <item>Virgin Islands</item>
        <item>Uganda</item>
        <item>Ukraine</item>
        <item>United Arab Emirates</item>
        <item>United Kingdom</item>
        <item>United States</item>
        <item>United States Minor Outlying Islands</item>
        <item>Uruguay</item>
        <item>Uzbekistan</item>
        <item>Vanuatu</item>
        <item>Vatican City</item>
        <item>Venezuela</item>
        <item>Vietnam</item>
        <item>Wallis and Futuna</item>
        <item>Western Sahara</item>
        <item>Yemen</item>
        <item>Yugoslavia</item>
        <item>Zambia</item>
        <item>Zimbabwe</item>
    </string-array>
</resources>
実行します。
今回出てきたキーワードについて解説。
getResources
リソースを取得
getStringArray
リソースを文字列の配列で取得
setListAdapter
オブジェクトをListViewにアイテムを追加するための橋渡し
ArrayAdapter
配列をAdapterに渡すためのクラス
setOnItemClickListener
項目をクリック(タップ)した際のイベントリスナ登録
OnItemClickListener
項目をクリック(タップ)した際のイベントリスナ
onItemClick
リストの中の1つがクリック(タップ)されたときのイベント
引数 1:クリック(タップ)された要素を含むView(今回の場合はListView)
引数 2:クリック(タップ)された要素(今回の場合はTextView)
引数 3:クリック(タップ)されたID(0始まり)
Toast
画面にメッセージを表示する
関連記事

3/19 Android ニュースひとまとめ

訴訟を起こしたのは、ロサンゼルス在住の Dodd Harris 氏と、Stephen Sabatino 氏。Harris 氏は「Learn Chinese Mandarin Pro」を4.83ドルで、Sabatino 氏は「aBTC」を4.99ドルで Android Market(現 Google Play )から購入し、後にアプリが動作しないものであることを発見した。だが、両氏はアプリの検証に15分以上かかったため、Google から返金を受けることはできなかった。両氏は、Google が欠陥のあるアプリを販売し、売り上げの30%を得ていることを不適切として返金と賠償金を請求している。
Android スマートフォン利用者、アプリの返金方針を巡り Google を提訴 - インターネットコム
http://japan.internet.com/busnews/20120319/2.html
わかります!!
私もアプリ購入→子供の寝かしつけ→よし!プレイしてみよう→アレッ!?起動しないし・・・。ってなったことありますよ。
この時はデベロッパーと直接やり取りしてバグ報告をあげたうえで対処してもらいましたが。
15分はいくらなんでも短すぎる。
せめて1時間。
アプリの中には追加データを1GBとかダウンロードする必要があるアプリもあるんです。(Spectral Soulsとか)
もうちょっと考えて欲しいですね。
パターンを使ったAndroidフォンの画面ロックは、米連邦捜査局(FBI)が困ってしまうほど安全なようだ。

FBIは連邦裁判所に提出した書類(PDF)で、科学捜査の専門家が韓国Samsung社製のAndoridフォンのコンテンツにアクセスしようと「複数の試み」を実施したが、ロックを解除できなかったと述べている。
「Androidのパターンロック」にFBIが降参 (WIRED.jp) - ニュース:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20120319/386961/
ほぉほぉ。
ノーガード戦法の私には関係ないな。
関連記事

[Android アプリレビュー] ゲーム発展国++

情報
ゲーム発展国++
ゲーム発展国++
稀に感想が被りますw
ゲーム発展国++
定期的に新しいハードが発表されます
ゲーム発展国++
ゲーム発展国++
ゆけむり温泉郷や冒険ダンジョン村に比べるとハマれなかった。
私は基本、オブジェクト配置して眺めて楽しむってスタイルが好きなのかな。

社員を雇って、ゲームを開発していくシュミレーションゲーム。
社員は転職が可能で、ハードエンジニアに転職すればゲームハードも開発可能。
もちろん、ハードを開発しなくても任天堂、ソニー、セガ等からゲームハードが出るので、ライセンス料を払って、そのハードからゲームをリリースするという事も可能。
ハードウェアは現実のように、売れないハードもあるので、シェアを予想してゲーム開発しないと悲惨な売り上げになることもあります。

このゲーム内ではジワ売れは無いので気を付ける。
新しいゲームをリリースすると、それまで販売していたゲームが販売終了になるみたい。併売できないのかな・・・。
攻略
主な攻略ポイントは以下
  • 序盤は宣伝してもさほど効果が無い。宣伝するよりも、パンプキン商会のアイテム販売に備えて貯蓄。
  • 最上級のハードを開発するためには、ハードエンジニアを6人育成する必要がある。6人*5回転職で30回の転職が必要。
  • 最上級のハードを開発するならパンプキン商会が来た際は、転職の教科書のみ購入する。リポビタン
  • ゲーマーの方なら、実際に存在するゲームのジャンル、内容の組み合わせを想像して開発すれば、高得点を狙える。
    ex. RPG+ファンタジー(FFとか)、シミュレーション+ゲーム会社/街開発/ビル建築(カイロソフト系、Sim、The Towerとか)、シュミレーションRPG+ロボット(スパロボとか)
  • ハードは、販売終了があるので、古いハードでゲームを開発する場合は気を付ける。なるべく新しいハードで開発する。
  • 21年1月1週でいったん終了。引き継ぎ要素は、ジャンルと内容のレベル
お勧めの社員は、スティーブ・ジョビン、ミスターX。共に基礎能力が高い。 教育は均一に行うのも良いけど、2人くらい集中的に教育をする社員を決めると、良いゲームが作れるようになる。 高い能力の社員が1人だけだと、毎回仕事をその社員に頼むことになるので、力が出し切れない。 高い能力の社員が2人であれば、交互に仕事を依頼することが出来る。
関連記事

[Android アプリレビュー] 開店デパート日記

情報
開店デパート日記
開店デパート日記
開店デパート日記
周辺地域を開拓して顧客を増やします
開店デパート日記
施設毎に相性があります
The Towerのようなデパート経営シュミレーションゲーム。
いつものように寝不足になるくらいハマるかと思ったのですが、イマイチ。
7年目でマンネリ化して、プレイ中断してます・・・。
The Towerのように、店舗だけではなく、居住施設やオフィス等配置できれば、また違ったのかな。そうなると、デパートじゃないけど。
時間があればクリアまでやってみようかなと思います。
次は、アストロ探検隊やってみようと思います。
こちらは、街を開発したり、ゆけむり温泉郷や冒険ダンジョン村と同じ感じなので楽しめそう。
攻略
施設は有料で再配置が可能なので、最初はビルのレベルアップ条件を満たせるよう、好きに配置していく。
配置による相性は、ビルが広くなってから考えればいい。
また、施設毎にサービスを新たに導入する事が可能で、サービスを導入する事で来客数もアップする。
最初は投資よりもサービス導入を行って、客の満足度を上げていく。
お金が貯まってきたら住宅地に投資したりして顧客を増やす。
ストーリーを進めていくと、ビルが拡張できるようになるので、再配置等で相性アップを狙う。
開店デパート日記
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

2012年3月14日水曜日

3/14 Android ニュースひとまとめ

ASUSTeK Computerは14日、同社が提供する10.1型のディスプレイを搭載したAndroidタブレット「Eee Pad TF201」向けにOSアップデート提供すると発表した。アップデートを適用することで、Android OSのバージョンを3.2.1から4.0に刷新できる。3月21日の12時より提供を開始する。
ASUSの10.1型タブ「Eee Pad TF201」がAndroid 4.0に刷新 - 3月21日より | パソコン | マイナビニュース
http://news.mynavi.jp/news/2012/03/14/143/
いよいよTF201にAndroid 4.0が提供されます。
先日妻から5万円を誕生日プレゼントに貰ったので、値崩れが始まったら購入予定。
いつになったら買えるかな・・・
 米シマンテックは2012年3月12日、Androidなどで動作するウイルス(悪質なプログラム)の配布に、Twitterが使われるケースが増えているとして注意を呼びかけた。ツイート(書き込み)中に、ウイルスサイトに誘導するリンクが記載されている。8時間で13万件以上の悪質ツイートを確認したこともあるという。
ウイルス配布に使われる「Twitter」、8時間で13万件の悪質ツイート - ニュース:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20120313/386001/
今回もAndroidがターゲットですか。
いよいよOSレベルでマルウェア/ウィルス対策を行って欲しいですね。
Android 5.0では搭載されるという噂ですが・・・
関連記事

2012年3月12日月曜日

3/12 Android ニュースひとまとめ

 米AppleのiOSと米GoogleのAndroidで人気のRPGゲーム「Battleheart」のメーカー、米Mika Mobileは3月9日(現地時間)、Android版ゲームの開発を終了すると発表した。Android版の開発・販売は採算が合わないという。

 同社は、iOS版モバイルゲーム「Zombieville USA」とBattleheartでその名を知られるゲームメーカー。昨年5月にAndroid版もリリースした。いずれも有料(BattleheartのAndroid版は日本では242円)で、Battleheartは少なくとも5万本以上ダウンロードされている。
「Androidはもうからない」――人気ゲームメーカーが開発終了を発表 - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1203/12/news025.html
まぁ、iPhoneと違ってAndroidはユーザの環境が無数にありますからね。
企業として1ユーザ毎に対応していたら限が無いのも分かります。
Battleheart プレイしていたのに残念。
結果は、ドコモの「しゃべってコンシェル」の勝利というところでしょうか。日本語というローカルな言語を理解している、「Siri」より後発というアドバンテージを生かした感じです。「Siri」も、丁寧な受け答えや、気の利いたアメリカンジョーク的な受け答えも魅力的なので、日本語版もバージョンアップしてもらいたいものです。
ドコモ、iPhoneに圧勝? 音声認識サービス「Siri」 VS. 「しゃべってコンシェル」(動画あり) : Kotaku JAPAN
http://www.kotaku.jp/2012/03/iphone_sirivssc.html
Siriは分からないことあるとWeb検索させるのか。
しゃべってコンシェル良い感じですね。
ただ、地図等がGoogleのサービスじゃないのがな~。
日本語の理解力は、さすが日本のメーカーという感じ。
AndroidのMajelにも、これくらいの日本語理解力を付けて欲しいですね。
関連記事

2012年3月8日木曜日

3/8 Android ニュースひとまとめ

 米Googleは3月6日(現地時間)、クラウドベースのコンテンツサービス「Google Play」を発表した。モバイルアプリストアの「Android Market」、米国でのみ提供している音楽サービス「Google Music」、一部の地域で提供している電子書籍ストア「eBookstore」がGoogle Playに統合された。日本では、スタート時点ではAndroidアプリと映画コンテンツのみが提供される。
さようなら「Android Market」:Google、クラウド型コンテンツサービス「Google Play」を開始 - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/1203/07/news018.html
今日の朝、マーケット起動しようとしてビックリしました。
日課のアップデートチェックをしようとマーケットをタップしたら・・・「アクティビティを起動中にエラー
ん・・・!?
おかしな事したっけな・・・Titanium Backupでリストアするか・・・あれ、マーケットのバックアップとって無い。
ん~と悩んでいると、アプリ一覧に見慣れないアイコン。
Google Play?
タップしてみるとマーケットの画面が。
ビックリしましたね。
というより、映画買わないし前のマーケットで充分だったのですが。
多くのAndroid愛好家にとって、端末のroot権限を取得できることはAndroidプラットフォームの魅力の一つであった。しかし今回Googleはroot取得済みのAndroid端末について新たな制限を課した。

Googleは、root取得済み端末ではAndroid Marketの映画レンタルを利用できないようにした。
root取得済み端末で映画レンタルを利用しようとすると、「ライセンスの取得に失敗しました」というエラーメッセージが表示される。

この件については、一概にGoogleの方針転換と言うことはできない。
Android Marketのヘルプメニューには、「著作権保護に関する要件のために、root取得済みのデバイスはサポートされていません」と書いてあり、これを理由にしてroot取得済み端末を拒否することは確かに筋が通っている。「root取得済み端末はDRMを回避することができるだろう」とGartnerのアナリストは語った。
Android Marketの映画レンタル、rooted端末からは利用不可 (英語)
http://www.wired.com/gadgetlab/2011/05/android-movie-rental/
って、映画見ない以前に、root端末では利用不可ですか。
まぁ良いか。
Androidアプリ作成サービス App Inventor Edu が一般向けの公開ベータを開始しました。App Inventor はプログラミング言語を使わずにアプリが作れるツール。画像やテキスト、GUI部品に加えて条件分岐なのどロジックも「ブロック」として配置することで、簡単なアプリが作成できます。特徴はGPS やセンサー入力、ネット接続やSMS送信など、Androidスマートフォンの機能が部品として用意され簡単に組み込めること、完成品は Android のネイティブアプリとしてインストールできること。
手軽にAndroidアプリが作れる MIT App Inventor Edu オープン、Google から移管 - Engadget Japanese
http://japanese.engadget.com/2012/03/07/android-mit-app-inventor-edu-google/
App Inventor復活ですか。
時間があれば試してみようかな。
関連記事

[Android アプリレビュー] ゆけむり温泉郷

情報
ゆけむり温泉郷
ゆけむり温泉郷
ゆけむり温泉郷
温泉の効能は引継可
ゆけむり温泉郷
一部の環境アイテムも引継可
ゆけむり温泉郷
大浴場も引継可
ゆけむり温泉郷
VIP室も引継可
温泉宿を経営する経営シュミレーションゲーム。
これも体験版をプレイし、気に入ったので購入。
敷地内に客室や、施設を配置し、宿を経営していく。
宣伝等を行う事で、集客する事も可能。
冒険ダンジョン村のように施設が再配置できるかと思ったら、ちょっと前のアプリのせいか、まだそのようなシステムは無いようです。
また、施設ごとに相性があり、ゲーム内で相性を確認する事が可能。

要望があるとすれば、ザ・コンビニのように、店員の給料とか設定できたり、従業員の雇用、清掃、施設の整備/保守等細かく運用できれば私としては完璧でした。
また、従業員が部屋を片付けたり掃除したりという絵が無いのもちょっと不自然かなと思いました。

また、カイロソフト特有のUIを改善してほしい。フューチャーフォンからの移植も多いと思うので、仕方ないとは思うが・・・。
指でタップしたりするにはボタンが小さかったり、思わぬ箇所をタップして施設を破棄していたりすることがある。
操作パネルを呼び出せるので、タップが使いにくい人はお試しを。操作パネルも微妙ですが。
ゲーム内容は最高。カイロソフトの虜になりそうだ・・・。
続いて、開店デパート日記をプレイします。
攻略
最初は、既存の施設を壊さず拡張して利益を稼ぐ。
序盤では、定期的にターゲット層を変更し、新たな客層を確保することが重要。
これにより、来客数が増えます。
時々手に入るアイテムは、使用すると、使用した施設全体へ影響するので、惜しみなく使っていく。
ゲーム内で確認できる相性表を確認し、配置するのもいいが、自分の作りたい宿を作っていっても問題ない。
施設の組み合わせで相乗効果を生み出す場合もあります。
また、客層の満足度が上がると、投資項目が追加されていきます。
お金が溜まったらジャンジャン投資しましょう。
冒険ダンジョン村よりも周回で攻略する楽しみがあります。
現在3週目。
温泉効能シュミレータ作りました。
ゆけむり温泉郷 温泉効能シュミレータ - ログろいど
ゆけむり温泉郷
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

2012年3月7日水曜日

3/7 Android ニュースひとまとめ

Jelly Bean とはどんな OS だろう? 米 Digital Trends は、同 OS の仕様を次のように予想している。

・Jelly Bean は Android 3.0「HoneyComb」同様、タブレットなどの大きなスクリーンを持つデバイス向けに最適化された OS と考えられている。タブレットだけでなく、ノート PC でも利用可能になるかもしれない。これは、2012年に出荷が予定されている Windows 8を意識した仕様だ。

・Apple の「Siri」に対抗する音声アシスタント機能「Majel(マジェル)」が搭載される見込み。

・Google Chrome ブラウザを標準で搭載する。タブブラウズも可能になると予想されている。

・Google+ などの Google サービスとより緊密に統合される。また、Google TV との連携も強化されるようだ。

・マルウェア対策ソフトが標準で搭載される。
Android の次期バージョン「Jelly Bean」とはどんな OSなのか? - インターネットコム
http://japan.internet.com/allnet/20120307/7.html
あくまで予想ですけど、実装されたら嬉しいですね。
私としては、音声アシスタント、Chrome、マルウェア対策をぜひ実装して欲しい。
Google TVはいりませんけど。
テレビや雑誌で話題の妊婦さん専門フォトスタジオ「ハッピーバースフォトスタジオ」を運営する株式会社チル・プロダクション(所在地:東京都千代田区)は、この度、赤ちゃんが言葉を覚えるための画期的知育アプリ「Baby Talk(ベビートーク)」をAndroid Marketにて無料で提供開始いたしました。
本アプリは日本語だけでなく、英語や中国語に切り替えることも可能です。
赤ちゃんが面白いくらい言葉を覚える知育アプリ「ベビートーク」登場! ~日本語以外に英語・中国語にも対応する無料Androidアプリ~ | プレスリリース 配信サービス【@Press:アットプレス】
http://www.atpress.ne.jp/view/25951
リリースされたばかりですけど、良さそうですね。
子供に試してみようかな。
ベビートーク - Google Play の Android アプリ
https://play.google.com/store/apps/details?id=jp.co.fssoftware.BabyTalk
関連記事

2012年3月5日月曜日

3/5 Android ニュースひとまとめ

KDDI と沖縄セルラー電話は2012年3月5日、3月1日より提供している Android スマートフォン向け定額制サービス「au スマートパス」の会員数が、サービス開始から4日間で10万を超えたと発表した。
スマホ向け定額サービス「au スマートパス」、開始4日で会員10万人超 - インターネットコム
http://japan.internet.com/allnet/20120305/2.html
会員増えるのは良いですけど、解約したら、それまでau スマートパスでダウンロードしたアプリはアンインストールされるって事ちゃんと同意してるのかな? トラブルになりそうな予感。
関連記事

[Android アプリレビュー] 冒険ダンジョン村

情報
冒険ダンジョン村
冒険ダンジョン村
居住エリア
冒険ダンジョン村
商業エリア
冒険ダンジョン村
冒険ダンジョン村
冒険ダンジョン村
操作パネルを表示させることが出来ます
RPGで出てくるような村を作っていくゲーム。
体験版をプレイしハマったので購入。
武器屋、防具屋、アクセサリー屋、宿、レストラン等を配置し、村に寄る冒険者の満足度を上げて、村を発展させていく。
冒険者毎に満足度があり、満足度が上がると、村に住んでくれるようになる。
満足度は、村の施設を利用してもらったり、村でのイベント、冒険者へのプレゼント等で上げることが可能。
村に住んでくれると、税金による収入で稼ぐこともできる。
なお、税金の額は冒険者の職業によって決まっている。
冒険者は、職業レベルがMAXになると、他の職業へ転職する事が可能。

村での主なイベント
  • 村の外で見つかるダンジョンの探索
  • 村に攻めてくる敵の討伐
  • 村の人気度によって、新たな冒険者の訪問
  • 村のエリア拡張
  • 新たな施設の購入
  • アイテムの開発
終盤までは久々に時間を忘れてプレイしてしまうほどハマりました。
攻略
特に攻略ポイントというものも存在しない。まったりプレイで十分楽しめる。
私は居住エリアと商業エリアを分けたい性格なので、スクリーンキャプチャの通り、分けています。
いくつか覚えておくと良いポイントを紹介。
施設を配置するときのコツ
  • 店には入り口があるが、入り口は気にせず配置して良い
  • 施設は道に面している必要がある
  • 最初は施設を適当に配置しても、後々、施設の再配置が出来るようになるので、最初からレイアウトを気にする必要はない
  • 価格を上げ過ぎると、購入できない冒険者も出てくるので、価格上げは慎重に。後々価格を下げることはできない。
冒険者の転職
  • 勲章の数を満たしていないと転職できない職業が存在する
  • 職業をマスターすると、新たな施設を建てれるようになったりする
  • 転職の選択肢で、転職しないを選択しても、再度、冒険者のステータス画面を下にスクロールする事で転職が可能
冒険ダンジョン村
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

2012年3月3日土曜日

[Android アプリレビュー] 伝説の道具屋II

情報
  • URL:https://market.android.com/details?id=jp.boosim.syonique2
  • デベロッパー:Boosim Lab
  • 更新日:2011/11/21
  • レビュー時点でのバージョン:1.1.8
  • カテゴリ:アーケード&アクション
  • サイズ:390k
  • 価格:¥180
  • プレイ環境:Xperia acro (IS11S) - Android OS 2.3.4
伝説の道具屋II
伝説の道具屋II
伝説の道具屋II
伝説の道具屋のシリーズ作。
今回は、町から出てダンジョンに潜ったり、結婚したり、出産したりとイベントがある。
前作と比較するとアイテム数も増え、やり込み要素は多くなった。
町の構成は基本的に一緒。
アプリ自体の機能としては、前作で存在した、プレイ中にスリープするとデータが消えるバグは解消されている。
また、オートセーブ機能もついているため、突然電話が来たりしても安心。
攻略
攻略法も基本的には前作と一緒。
今回は結婚が可能なので、気に入ったNPCが居れば早めに結婚した方が良い。
私は基本的に昼間は店に籠っているので、夜出会える唯一の女性ローラ(錬金屋)と結婚しました。
結婚すると、店の中に相手も居てくれるので、錬金が直ぐ行えるようになり、なかなか便利になりました。
また、結婚すると、結婚相手とパーティを組むことが可能です。
さらに生まれた子供が成長すると・・・さらなるイベントが。
最初は町で地道にレベルアップする事を薦めます。
町を出るとフルボッコになるので、装備を整えてからでないと厳しいです。
伝説の道具屋II
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

2012年3月2日金曜日

Hello, Views (Tab Layout編)

Tab Layout | Android Developers
http://developer.android.com/resources/tutorials/views/hello-tabwidget.html そのまんまですね。
それでは始めましょう。
プロジェクトHelloTabWidgetを作成します。
アクティビティ名はHelloTabWidgetActivityとします。
ふむふむ、タブ毎にクラスを作成するんですね。
1つ目のタブから作成しましょう。
新規にクラスファイルを作成します。
クラス名はArtistsActivityとします。
スーパークラスはActivityを指定します。
AlbumsActivity、SongsActivityも同様に作成します。
package com.blogspot.logroid.helloTabWidget;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ArtistsActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView textview = new TextView(this);
        textview.setText("This is the Artists tab");
        setContentView(textview);
    }
}
package com.blogspot.logroid.helloTabWidget;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class AlbumsActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView textview = new TextView(this);
        textview.setText("This is the Albums tab");
        setContentView(textview);
    }
}
package com.blogspot.logroid.helloTabWidget;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SongsActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView textview = new TextView(this);
        textview.setText("This is the Songs tab");
        setContentView(textview);
    }
}
AndroidManifest.xmlを開き、以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.blogspot.logroid.helloTabWidget"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloTabWidgetActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="AlbumsActivity"></activity>
        <activity android:name="ArtistsActivity"></activity>
        <activity android:name="SongsActivity"></activity>
    </application>

</manifest>
チュートリアルページにあるアイコンをローカルに保存。
タブに表示する画像を指定する状態リスト(Drawable)を作成します。
先ほど保存したしたアイコンをres/drawableに保存します。(res/drawableディレクトリが無い場合は作成します)
res/drawableにic_tab_artists.xmlという名前のxmlファイルを作成します。
ルート要素はselectorを選びます。
以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- When selected, use grey -->
    <item android:drawable="@drawable/ic_tab_artists_grey"
          android:state_selected="true" />
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/ic_tab_artists_white" />
</selector>
res/layout/main.xmlを開き、以下のように変更します。
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>
HelloTabWidgetActivityを以下のように変更します。
package com.blogspot.logroid.helloTabWidget;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class HelloTabWidgetActivity extends TabActivity {
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  Resources res = getResources(); // Resource object to get Drawables
  TabHost tabHost = getTabHost();  // The activity TabHost
  TabHost.TabSpec spec;  // Resusable TabSpec for each tab
  Intent intent;  // Reusable Intent for each tab

  // Create an Intent to launch an Activity for the tab (to be reused)
  intent = new Intent().setClass(this, ArtistsActivity.class);

  // Initialize a TabSpec for each tab and add it to the TabHost
  spec = tabHost.newTabSpec("artists").setIndicator("Artists",
    res.getDrawable(R.drawable.ic_tab_artists))
    .setContent(intent);
  tabHost.addTab(spec);

  // Do the same for the other tabs
  intent = new Intent().setClass(this, AlbumsActivity.class);
  spec = tabHost.newTabSpec("albums").setIndicator("Albums",
    res.getDrawable(R.drawable.ic_tab_albums))
    .setContent(intent);
  tabHost.addTab(spec);

  intent = new Intent().setClass(this, SongsActivity.class);
  spec = tabHost.newTabSpec("songs").setIndicator("Songs",
    res.getDrawable(R.drawable.ic_tab_songs))
    .setContent(intent);
  tabHost.addTab(spec);

  tabHost.setCurrentTab(2);
 }
}
AndroidManifest.xmlを開き、以下のように変更する
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.blogspot.logroid.helloTabWidget"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloTabWidgetActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="AlbumsActivity"></activity>
        <activity android:name="ArtistsActivity"></activity>
        <activity android:name="SongsActivity"></activity>
    </application>

</manifest>
実行します。
今回出てきたキーワードについて解説。
drawable
状態リスト
コード内から呼ばれて、紐付いたリソースが使用される。
TabHost
タブを格納するコンテナ。
中には、TabWidgetと、FrameLayoutが存在する必要がある。
TabWidget
タブ部分
FrameLayout
タブのコンテンツ部分
TabActivity
タブを制御するためのアクティビティ
getTabHost
TabHostを取得するメソッド
TabHost.TabSpec
タブのプロパティを定義するクラス
newTabSpec
引数に指定した文字に紐付くタブを認識させ、TabHost.TabSpecクラスのインスタンスを作成する
setIndicator
タブに対して、テキストやアイコン画像を設定する
setContent
タブの選択時に表示するビューをセットする
addTab
TabHostに対し、タブを追加する
関連記事

2012年3月1日木曜日

[Tasker] Tasker 設定 ①

随時追加していきます。
まずは、Variables使わないプロファイルから。

裏返しでスリープ(バックライト消灯)

Orientation Face Down
State -> Sensor -> Orientation -> Face Down
Load App
App -> Load App -> スクリーンロック可能なアプリ(Screen Off and Lock等)

通話終了時バイブ

Phone Idle
Event -> Phone -> Phone Idle -> Normal
Vibrate
Alert -> Vibrate -> 200
関連記事

3/1 Android ニュースひとまとめ

 KDDIが3月1日、月額390円のスマートフォンユーザー向けサービス「auスマートパス」のサービスを開始した。スタートに合わせて東京・原宿のKDDIデザイニングスタジオでは、KDDI 代表取締役執行役員専務 新規事業統括本部長の高橋誠氏と、auのテレビCMに出演している剛力彩芽さんによるセレモニーとトークセッションが開催された。剛力さんは、KDDIデザイニングスタジオの1日館長としてKスタの制服姿で登場した。
「auスマートパス」3月1日開始 各種サービスとの連携もスタート - ITmedia +D モバイル
http://plusd.itmedia.co.jp/mobile/articles/1203/01/news126.html
果たしてどの程度ユーザを獲得できるんでしょうか。
私は月額という点で、論外のサービスですね。
しかもスマートパス解約したらアプリが使えなくなるとか。
う~ん。
 ソニーデジタルネットワークアプリケーションズ(SDNA)が2月29日、Android向けのカメラアプリ「pick pic camera」を発売した。価格は230円。Androidマーケットからダウンロードできる。
Photo 「pick pic camera」

 pick pic cameraは、シャッターを押した前後の写真を連続撮影してくれるアプリだ。撮影後、履歴のサムネイルをタップすると自動保存された前後の写真が表示され、ベストタイミングのものを選択して保存し直すことができる。
ベストタイミングを逃さないAndroid用カメラアプリ「pick pic camera」 - ITmedia +D モバイル
http://plusd.itmedia.co.jp/mobile/articles/1202/29/news141.html
え~。無料じゃないの?
せめてXperiaユーザには無料にして欲しかったな。
関連記事

[Android アプリレビュー] Screebl

情報
Screebl
Screebl
Screebl
Pro版とLite版で基本機能は変わりません
標準搭載でも良いんじゃないかと思うくらい便利なアプリ。
コミックビュワーで本を読んでいて・・・あれ、スリープ(バックライト消灯)になった。
ブラウズしてて、ページを読んでたら・・・(ry

このアプリに出会うまではこんなストレスと戦っていました。
このアプリを入れると、端末の傾きを検知して、水平でなかったら使用中と判断しバックライトの消灯を行いません。
設定画面でセンサーの感度を設定可能です。(基本的にデフォルトで良いです)
使い方
インストールすると、通知領域にアイコンが表示されます。
アイコンをタップすると、画面が開くので、Enable Screeblにチェックを入れます。
以上で設定完了です。
無効にする場合は、Enable Screeblのチェックを外してください。

有料のPro版がありますが、機能に大きな差はなく、Tasker用のプラグインが入っているというだけです。
私はTasker利用者なので購入してみましたが、Enableにしても暫くDisableのままだったりと使い勝手が悪かったので、結局利用していません。

ちょっとでも傾いていると使用中と判断されてしまうので、Taskerと組み合わせて使用すると最強です。
組み合わせるTaskerのプロフィールは後程公開します。
公開しました
Screebl
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事

[Android アプリレビュー] Beautiful widgets

情報
Beautiful widgets
Beautiful widgets
Beautiful widgets
かなりメジャーなホーム画面ウィジェットアプリ。
私は主に時計と、天気予報をサクッと見るために置いています。
BeWeatherやMinimalistic Text、Cliph Weather等試しましたが、結局これに落ち着きました。
決め手は、GPSで取得する天気予報のポイントが正確であることと、ウィジェットの見た目です。
GetJarから無料で入手可能ですので、ぜひお試しください。
天気予報についてしか触れていませんが、天気予報以外にもバッテリー等表示できます。
使い方
ホーム画面にウィジェットを配置するところから始めます。
ウィジェットを配置したら、そのウィジェットをタップして、端末のメニューボタンを押します。
すると、設定項目が表示されるので、好みに合わせて設定します。
Beautiful widgets
動作
アプリケーションの安定性
価格
コストパフォーマンスが良いかどうか
関連記事