TextView に値を設定しているのに、表示されないパターンがありました。
レイアウトのTextViewにinputTypeを指定していると、一部端末(IS12S)で発生する模様。
そもそもTextViewにinputTypeを設定していることがおかしいのですが、、。
解決方法は、レイアウトからTextViewのinputTypeを削除すべし。
2013年7月13日土曜日
2013年3月29日金曜日
SupportMapFragment.getMap() でnullが返ってくる
動的にSupportMapFragment を生成して、
レイアウトに追加するとgetMap() でマップが取得できない。
以下のようにすると解決。
mMapFragment = new SupportMapFragment() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mMap = mMapFragment.getMap();
}
};
// Then we add it using a FragmentTransaction.
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.layoutMap, mMapFragment, TAG);
fragmentTransaction.commit();
// mMap = mMapFragment.getMap(); // ここだとnullが返ってくる
http://stackoverflow.com/questions/14067889/google-play-service-supportmapfragment-getmap-always-returning-null
レイアウトに追加するとgetMap() でマップが取得できない。
以下のようにすると解決。
mMapFragment = new SupportMapFragment() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mMap = mMapFragment.getMap();
}
};
// Then we add it using a FragmentTransaction.
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.layoutMap, mMapFragment, TAG);
fragmentTransaction.commit();
// mMap = mMapFragment.getMap(); // ここだとnullが返ってくる
http://stackoverflow.com/questions/14067889/google-play-service-supportmapfragment-getmap-always-returning-null
GoogleMaps Android V2
はまったとこメモ。
Polygon 登録時は、Handler内でしないと描画されない。
handler.post(new Runnable() {
@Override
public void run() {
PolygonOptions options = new PolygonOptions();
options.fillColor(Color.RED);
options.add(緯度経度のリスト);
polygon = mMap.addPolygon(options);
}
});
Polygon の表示色などの更新をHandler内でするとPolygonが消えてしまう。
handler.post(new Runnable() {
@Override
public void run() {
polygon.setFillColor(Color.BLUE);
→消えない。
Polygon 登録時は、Handler内でしないと描画されない。
handler.post(new Runnable() {
@Override
public void run() {
PolygonOptions options = new PolygonOptions();
options.fillColor(Color.RED);
options.add(緯度経度のリスト);
polygon = mMap.addPolygon(options);
}
});
Polygon の表示色などの更新をHandler内でするとPolygonが消えてしまう。
handler.post(new Runnable() {
@Override
public void run() {
polygon.setFillColor(Color.BLUE);
}
});
}
});
→消えちゃう。
polygon.setFillColor(Color.BLUE);
→消えない。
2012年12月18日火曜日
[Android]アプリ内課金実装バージョン3リリース
アプリ課金のバージョン3がリリースされました。
In-App Billing Version 3 - Android Developer Blog -
http://android-developers.blogspot.jp/2012/12/in-app-billing-version-3.html
・より簡単に
実装するのが簡単になりました。
・ローカルキャッシュ
課金した情報をキャッシュすることができます。
課金情報を非同期で確認しなくても良くなった。
・製品情報(課金アイテムの情報)
課金アイテムのタイトルや金額(ロケールされた)を取得できる
・サンプルアプリケーション
サンプルアプリが更新されました。
・アプリ鍵
V3からアプリ単位で公開鍵
In-App Billing Version 3 - Android Developer Blog -
http://android-developers.blogspot.jp/2012/12/in-app-billing-version-3.html
・より簡単に
実装するのが簡単になりました。
・ローカルキャッシュ
課金した情報をキャッシュすることができます。
課金情報を非同期で確認しなくても良くなった。
・製品情報(課金アイテムの情報)
課金アイテムのタイトルや金額(ロケールされた)を取得できる
・サンプルアプリケーション
サンプルアプリが更新されました。
・アプリ鍵
V3からアプリ単位で公開鍵
2012年12月10日月曜日
2012年12月9日日曜日
[Android]HTML5のvideoタグの罠
WebView使ってHTML5のvideoタグを表示した時の動作にはまってしまったので、メモ。
Android 2.x
Videoタグをタップすると、ビデオビューが起動して全画面で再生
Android3.x
Videoタグをタップすると、ビデオビュー起動せず、ブラウザ内でインライン再生
コントロールの全画面押したときだけ、ビデオビュー起動して全画面で再生
もともとAndroid 2.xで動作確認していて、
Android4.0で動かすとぜんぜん動作違っていて困った。
Android 2.x
Videoタグをタップすると、ビデオビューが起動して全画面で再生
Android3.x
Videoタグをタップすると、ビデオビュー起動せず、ブラウザ内でインライン再生
コントロールの全画面押したときだけ、ビデオビュー起動して全画面で再生
もともとAndroid 2.xで動作確認していて、
Android4.0で動かすとぜんぜん動作違っていて困った。
2012年12月7日金曜日
[Android]アプリケーションのキャッシュに保存する
アプリで取得したデータを永続的にキャッシュしておきたい場合には、
アプリケーションのキャッシュに保存しておきましょう。
使い方1:データ読み出し
InputStream in = context.openFileInput("saveData");
使い方2:画像読み出し
FileInputStream is = context.openFileInput(dataName);
Bitmap image = BitmapFactory.decodeStream(is);
is.close();
使い方1:データ保存
FileOutputStream os = context.openFileOutput("saveData", Context.MODE_PRIVATE);
int DEFAULT_BUFFER_SIZE = 1024 * 4;
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int n = 0;
while (-1 != (n = in.read(buffer))) {
os.write(buffer, 0, n);
}
os.close();
使い方2:画像保存
FileOutputStream os = context.openFileOutput(dataName, Context.MODE_PRIVATE);
ret = image.compress(Bitmap.CompressFormat.PNG, 100, os);
os.cloase();
永続的でなく一時的に保存したい場合は、こちらに保存するのもアリです。
Context.getCacheDir()
http://developer.android.com/reference/android/content/Context.html#getCacheDir()
ファイル容量少なくなると、システムがファイル消してしまうので、その点のみ注意。
アプリケーションのキャッシュに保存しておきましょう。
Context.openFileInput()
http://developer.android.com/reference/android/content/Context.html#openFileInput(java.lang.String)使い方1:データ読み出し
InputStream in = context.openFileInput("saveData");
使い方2:画像読み出し
FileInputStream is = context.openFileInput(dataName);
Bitmap image = BitmapFactory.decodeStream(is);
is.close();
Context.openFileOutput()
http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String, int)使い方1:データ保存
FileOutputStream os = context.openFileOutput("saveData", Context.MODE_PRIVATE);
int DEFAULT_BUFFER_SIZE = 1024 * 4;
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int n = 0;
while (-1 != (n = in.read(buffer))) {
os.write(buffer, 0, n);
}
os.close();
使い方2:画像保存
FileOutputStream os = context.openFileOutput(dataName, Context.MODE_PRIVATE);
ret = image.compress(Bitmap.CompressFormat.PNG, 100, os);
os.cloase();
永続的でなく一時的に保存したい場合は、こちらに保存するのもアリです。
Context.getCacheDir()
http://developer.android.com/reference/android/content/Context.html#getCacheDir()
ファイル容量少なくなると、システムがファイル消してしまうので、その点のみ注意。
登録:
投稿 (Atom)
