2011年12月2日金曜日

Android 4.0 SDKをProxy経由で使用する方法


Android 4.0 SDK(android-sdk_r15-windows.zip)では、Proxy Serverへのログイン情報を記憶しない様になりました。
これでは、会社内でSDKのファイルをダウンロード出来ないので、Androidアプリの開発が不能になるので、対応策を考えました。(Proxy Serverが無い会社は、対象外です)

1.SDK Manager.exeは、Proxy ServerのID/PASSWORDの指定機能が有りません。
そのため、ID/PASSWORDの指定が不要なpolipo Proxy Serverを利用します。
polipoは、社内の手持ちのLINUX/Redhat系ディストリビューションにインストールします。
  polipoを下記URLからダウンロード
http://www.pps.jussieu.fr/~jch/software/polipo/
設定ファイルは、/etc/polipo/configを修正。下記サンプルを参照して下さい。
http://supercharge.web.fc2.com/polipo/index.htm

2.SDK Manager.exeの設定画面において、https -> httpへ変換を有効にします。

windows/FireFox経由でpolipoを使用すると、何故かログインを要求されたりします。(^^;
polipoを使えるアプリケーションは限定されているようですが、Android SDKは大丈夫の様です。

2011年11月25日金曜日

Acer/A500がAndroid3.2.1へアップグレードしました

Acer/A500が修理から戻ってきました。無償でCPUボード交換でした。Acerの対応は一応花◎ですね。
そのA500がAndroid3.2.1へアップグレードしました。これにより、無料のファイルエクスプローラー、例えば、AndExplorerからUSBメモリー/Micro SDカードメモリーに読み書きが出来るようになりました。


例えば、USBメモリーの場合、
/root/mnt/usb_strage/
を開けば、USBメモリーのファイル/フォルダー一覧が表示されます。

私は、AUのフィーチャーフォンを使っているのですが、その携帯をUSBケーブルでA500に繋げてみると、見事に携帯のMicroSDカードメモリーを認識しました。

Android3.0以降、USBのMaster/Slave両方に成れるという機能が実装されましたが、それを実感する事が出来てうれしいですね。

これで、A500のH/Wを全て使えるようになり、大満足です。

2011年11月8日火曜日

Acer/A500がまた壊れました

【更新情報】11月21日に、無事修理から返ってきました。

Tablet Acer/A500が、また壊れてしまいました。7月に購入して以来、2回目です。
電源投入後、!ドロイド君が表示され、その後、また再起動します。
通常のメニュー画面が表示されません。


2011年10月8日土曜日

Android City 八王子での交流に参加しませんか

個人で開発をしているので、色々な方と情報交換したいなと思っています。
それで、地元八王子のAndroid City 八王子に参加することにしました。

Android City 八王子
http://hachiouji.android-city.jp/

Twitter


facebook site
http://www.facebook.com/pages/AndroidCity%E5%85%AB%E7%8E%8B%E5%AD%90/210099055667393

八王子は、地場産業として織物があるので、ドロイド君ネクタイを製造・販売しています。

リアルに人が集まる催しとして『Androidカフェ』が、過去2回開催されています。
主催は、AndroidCity八王子です。
先日、10月6日に第2回Androidカフェ開催が開催されたので、行ってきました。

第1回目Androidカフェ開催の様子は、YouTubeで公開されています。

Androidカフェで、皆様とお会いできることを楽しみにしています。

2011年10月4日火曜日

ExpandableListViewの子アイテムにCheckBoxを追加不可

ExpandableListViewの子アイテムにCheckBoxを追加したいと思い、四苦八苦していました。
下図の様に表示はできるのですが、 


ExpandableListViewのInterfaceとしてExpandableListView.OnChildClickListenerがありますが、
そのコールバック関数onChildClick()で、タッチイベントを拾うことができません。


子アイテムが、TextView, ImageViewの組み合わせだと、イベントを拾えるんですがね。
CheckBoxを表示するというのは、仕様外なんでしょうね。


サンプルパッケージは、下記をダウンロードできます。

http://supercharge.web.fc2.com/android/
ExpandableSimpleExpList2.zipをダウンロードしてください。




2011年9月22日木曜日

自宅のAndroid Tabletは、Acer/A500です。買って2ヶ月になります。
既に、マザーボードを1回交換しています。
そのAcer/A500に次のトラブルが出てきました。
画面に緑の横線が入り、明らかに表示がおかしいです。


いつまで使えるのか楽しみです。

2011年9月15日木曜日

公開用Maps API Keyの作成

Google地図機能を組み込むためには、Maps API Keyを取得する必要があります。
やり方は、ココに書いてあるとおりですが、
http://code.google.com/intl/ja-JP/android/add-ons/google-apis/mapkey.html

ここには、デバッグ用のMaps API Keyを取得する方法しか書いてありません。
公開用のMaps API Keyを作成するには、下記の手順が必要です。

1.公開用のキーストアを作成します。
keytool -genkey -v -keystore mapview-key.keystore -alias mapview -keyalg RSA -keysize 2048 -validity 10000

2.このキーストアを使って、MD5 Fingerprintを作成します。
keytool -list -keystore mapview-key.keystore -storepass xxxxxxxxxx -alias mapview -keypass xxxxxxxxxx

3.後は、上記URLに従って、Maps API Keyを取得し、<MapView>に組み込むだけです。

2011年9月7日水曜日

Android 3.1でのSDカード/USBメモリへのアクセス制限

【更新情報】Android3.2.1へアップグレードする事により、アクセス制限が解除されました。(2011/11/25)

Android3.1でSDカードにファイル書き込み出来るのは、東芝REGZAの組み込みファイルブラウザだけみたいですね。何処かに、Acer/A500のマイクロSDカードに書き込めるファイルブラウザは有りませんかね。
このままでは、Acer/A500のmicroSDカードスロット/USB2.0が使われないままです。www

やはり、外部デバイスへのアクセス制限は今後も続くみたいです。
http://blogs.computerworld.com/18692/android_32_upgrade

2011年8月30日火曜日

AndroidでFile Selection Dialogの表示

Windowsアプリの開発経験者から見ると、どうしてもファイル選択ダイアログが欲しい所です。
色々調べたら、Androidの標準機能として装備する予定は、無いようです。

http://groups.google.com/group/android-developers/msg/20030f2e04d6250b

さらに調べたら、Intent.ACTION_GET_CONTENTをサポートしている他のアプリ/Activityを事前インストールし、Activityとして起動すれば良いことが分かりました。
自分で実装して見て、動作したのでサンプルコードを公開します。

1.エミュレータでテストする場合は、事前にAndExplorerをダウンロードします。
http://www.lysesoft.com/products/andexplorer/index.html

2.adbでAndExplorerをインストールします。
adb install AndExplorer.apk

3.javaのActivityサンプルを示します。
public class MyActivity extends Activity {
    private static final String TAG = "MyActivity";
    private static final int GET_CONTENT_REQUEST = 10;
    private ImageView myselect;
private String mypath;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // ファイル選択Activity起動
        myselect = (ImageView) findViewById(R.id.myselect);
        myselect.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO 自動生成されたメソッド・スタブ
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("vnd.android.cursor.item/vnd.google.note");
try {
startActivityForResult(intent, GET_CONTENT_REQUEST);
} catch (Exception e) {
Log.e(TAG, "error: " + e.getMessage(), e);
}
return false;
}
});

        ...

    }

    // 選択ファイル名取得
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_CANCELED) {
    Toast.makeText(this, "File not selected", Toast.LENGTH_SHORT).show();
    return;
    }
    if (requestCode == GET_CONTENT_REQUEST) {
    mypath = data.getDataString();
    return;
    }
    }

}

この様なコーディングをするとAndExplorerで選択したファイルにチェックマークが付くように、GUIが変更されています。これが、Intent.ACTION_GET_CONTENTをサポートしているかどうかの差だと思います。
ちなみにmypathには、file:///のURI形式で格納されています。この形式で、音楽は再生できました。
AndExplorer以外に何が使えるか未調査です。(^^;

2011年8月27日土曜日

割り勘ノ助を公開しました

修行中の身では有りますが、Androidマーケットにデビューする事にしました。
取り敢えず、割り勘が頭に浮かんだので、割り勘電卓作ってみました。
https://market.android.com/developer?pub=Kazuaki+Kimura

シンプルな機能なので、職場の幹事さんには向いていないかもしれません。
急に、これから飲みに行こうと言う時に、役に立つアプリだと思っています。

よろしくお願いします。