いろんな情報が錯そうしているが、以下の2つで解決
webview.setBackgroundColor(0) ; //(Color.TRANSPARENT);でもOK
loadUrlの前でも問題ない。
そして、マニフェストのandroid:hardwareAccelerated="false"が必要
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:hardwareAccelerated="false" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:hardwareAccelerated="false" >
WebViewでフラッシュを表示するときは、android:hardwareAccelerated="true"が必要なので、背景は透明にできないようだ。
ちなみに、Android 3.2での結果。
Androidアプリ開発で今後も流用できそうなサンプルを中心に主に「自分のために」投稿しています。 細かい説明はしません。とりあえずご参考まで。 ただし自己責任でお使いください。 開発は ICONIA TAB A500(Andorid 3.1,)、Sony Tablet S(4.1)で行っています。
2013年5月22日水曜日
2013年5月9日木曜日
Google Map v2
Google Map が v2 になってとても簡単になっていた。
また、サポートされなくなるので、変更しておいたほうがよい。
これを使うには、Google Play Services ライブラリをDLして、google-play-services_libフォルダをEclipceにImportし、
使用するプロジェクトでlibとしてリンクする必要がある。(Preferences-Android)
(例)
package com.example.mapv2text;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity {
private GoogleMap mMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
// Try to obtain the map from the SupportMapFragment.
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
mMap.setMyLocationEnabled(true); //My Locationボタンを表示する
//Mapの中心とZoomを指定して表示
//LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
LatLng latLng = new LatLng(36.242612, 139.553061);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(latLng, 13);
mMap.moveCamera(update);
// マーカー表示
if (mMap != null) {
mMap.addMarker(new MarkerOptions()
.position(new LatLng(36.242612, 139.553061))
.title("タイトル")
.snippet("ここはどこでしょう?")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon))
);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
2013年5月7日火曜日
Google Map API Key 作成
Google Maps API Android v2対応
コマンドプロンプトで実行
デバッグ時は、SDKに付属している、debug.keystoreを使用する。
C:\Users\_t>"c:\Program Files\Java\jre7\bin\keytool.exe" -list -v -keystore "c:\Users\_t\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
(リリース時のAPI Keyは、debug.keystoreを正規のkeystoreにする。)
以下のように表示される、SHA1を利用する。
証明書のフィンガプリント:
MD5: 7C:57:DC:D6:01:1E:94:42:CD:CD:47:35:2B:97:66:A1
SHA1: 97:54:EA:66:30:96:2F:54:7B:78:8A:6A:B0:AA:7E:0D:B4:53:CE:BC
SHA256: 84:69:03:5A:B4:5E:1A:10:FE:60:35:5F:BE:1F:41:5C:AC:EA:2A:A4:8A:66:6A:1E:45:1A:98:02:46:D8:7B:2D
署名アルゴリズム名: SHA256withRSA
バージョン: 3
Google api console
https://code.google.com/apis/console/#project:147552444526
をブラウザで表示
Serviceで、Google Maps Android API v2をONにする
API Accesesで、SHA1と、セミコロン,パッケージ名を入れる。
97:54:EA:66:30:96:2F:54:7B:78:8A:6A:B0:AA:7E:0D:B4:53:CE:BC;com.example.mapdemo
Create New Android keyでAPI Keyを得る
はまった点:
APIキーを変更したときは、一度アプリを端末からアンインストールしないと、
有効にならず、地図が表示されなかった。
コマンドプロンプトで実行
デバッグ時は、SDKに付属している、debug.keystoreを使用する。
C:\Users\_t>"c:\Program Files\Java\jre7\bin\keytool.exe" -list -v -keystore "c:\Users\_t\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
(リリース時のAPI Keyは、debug.keystoreを正規のkeystoreにする。)
以下のように表示される、SHA1を利用する。
証明書のフィンガプリント:
MD5: 7C:57:DC:D6:01:1E:94:42:CD:CD:47:35:2B:97:66:A1
SHA1: 97:54:EA:66:30:96:2F:54:7B:78:8A:6A:B0:AA:7E:0D:B4:53:CE:BC
SHA256: 84:69:03:5A:B4:5E:1A:10:FE:60:35:5F:BE:1F:41:5C:AC:EA:2A:A4:8A:66:6A:1E:45:1A:98:02:46:D8:7B:2D
署名アルゴリズム名: SHA256withRSA
バージョン: 3
Google api console
https://code.google.com/apis/console/#project:147552444526
をブラウザで表示
Serviceで、Google Maps Android API v2をONにする
API Accesesで、SHA1と、セミコロン,パッケージ名を入れる。
97:54:EA:66:30:96:2F:54:7B:78:8A:6A:B0:AA:7E:0D:B4:53:CE:BC;com.example.mapdemo
Create New Android keyでAPI Keyを得る
はまった点:
APIキーを変更したときは、一度アプリを端末からアンインストールしないと、
有効にならず、地図が表示されなかった。
登録:
投稿 (Atom)