Androidのwebview背景を透過でクンカクンカ
日々、AndroidやiOSをいったりきたりしつつ、
ちょいちょい、JSも差し込みで対応しながら、アプリつくってます。
今日は忘れがちな、webview背景を透過について。
やりたいことはActivityの画面遷移後でも、1つ前の画面を見えるようにしておきたい。
ラノベ最終巻12が出たばっかですし、
せっかくなので、黒猫のクンカクンカを貼っておきますね。
BD1巻出るまでイ㌔
- Activityの背景を透過しよう
<activity android:name=".hoge.FugaActivity" android:theme="@android:style/Theme.Translucent"/>
- webviewの背景を透過しよう
webView.setBackgroundColor(0);
これで万事解決!
- 作者: 伏見つかさ,かんざきひろ
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2013/06/07
- メディア: 文庫
- この商品を含むブログ (35件) を見る
GCMで複数のレシーブ様が登場したぜヒャッハー
今更ですが、C2DMからGCMへ移行したので、
気になったポイントを1つピックアップ。
その前に神猫さんがクルッとまわりますね
Pushサービスを複数利用できる仕様ではだと思うので、
https://developer.android.com/google/gcm/adv.html:Receiving Messages from Multiple Sendersを参照
n個のPushサービスに対し、アプリ内で1つのレシーバでokかなと思うけど、
もし、外部の既製品であるPushサービスを利用すると、
提供されるSDKにレシーバも入っていると思うのね。
そいつと、元々自分がGCMBaseIntentServiceを拡張してつくったレシーバで、
処理が競合してくるよね、何も考えないと両方が受信し始めて。
というわけで、僕はこんな処理で自分のsenderさんだけ対応するような実装してる。
@Override protected void onMessage(Context context, Intent intent) { String senderId = intent.getStringExtra("from"); //notification出す為にゴニョゴニョするんだと思う }
っていうのが、自信ないのでエントリを書いておくことにした。
Androidの位置情報がとれなくなった(非開発ネタ)
開発用のAndroid端末で位置情報が取得できなくなった。
3G回線を利用していないやつなので、
WI-FI基地局の位置情報か、GPS頼み。
WI-FI基地局の位置情報が急にとれなくなったとか言われても
確認がよくわからないので、GPSだけ確認してみた。
A-GPSの衛星軌道データがキャッシュされていて、
時間かかってるんじゃないかなー?と思い、
「GPS Status & Toolbox」ってツールで、
“メニュー”⇒“ツール”⇒“A-GPSの管理”でダウンロードを選択すればOK
これで大丈夫かなーと思ったら、やっぱりダメ。
なんとなく会社の非常階段に出て、リトライしたら10秒くらいで位置がとれた!
GALAXY S os2.2以外はね・・・。
ユー、Map Keyを取得しちゃいなよ
Android Maps API v1のAPI Keyを久々に新規に取得したのでめもめも。
仕事でAPI v1を使っていて、
(v2になればKey取得とかなかったような気もするけど)
サービスがまだv1なので開発機をかえる毎に取得しなおし。
そんなわけで、すぐに手順を忘れるのでメモる。
debug.key取得
HOME/.android/debug.key
これが無い場合は適当なIDEやantでアプリをbuildすると勝手につくられているはず。
keytoolで作成することも可能だけど、どうせIDEで開発するなら、
そいつに作成しておいたほうが無難なきがす。
md5を使うのでメモっておく
keytool -list -v -keystore ~/.android/debug.keystore
ちなみに・・・
keyのパスワードはandroidなので、自前で生成する場合は同じにしといた方がいいんでないかな。
下記、公式より抜粋。
Keystore name: "debug.keystore" Keystore password: "android" Key alias: "androiddebugkey" Key password: "android" CN: "CN=Android Debug,O=Android,C=US"
API Key取得
debug.keystoreが作成できたら、下記ページでterm踏みつつ、キーを生成する。
僕がハマったのは、なんかsha1sha1 と思って何度もsha1で入力して、よく見たらmd5だったとこくらい。
地味に生成サイトが見つからないって人もいるかも。
GoogleのAPI Key 生成サイト
keyが生成できたら、そいつを使ってアプリをビルドすれば終わり。
- 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅
- 出版社/メーカー: 秀和システム
- 発売日: 2013/02
- メディア: 単行本
- この商品を含むブログ (2件) を見る
cocos2dの画面回転制御ネタ
前置き
以前リリースしたゲームで使っているcocos2dがずっとv0.9ぐらいで古かったので、
このたび、バージョンをあげることにした。
iTunes App Store で見つかる iPhone、iPod touch、iPad 対応 ChickenGame
最新はv2とか出ているみたいだけど、まずはv1.0.1で。
※本当は管理にCocoaPodsとか使った方がいいんだけど、まいっか。
使用中のcocos2dのバージョン確認
使用中のcocos2dのversionは、
cocos2d.mを見ればわかります。
回転がくるった
でも起動すると全く回転してないような。
iPhone6シュミレータを使ってると上手くいかない。
悩むこと数分。
回転の制御ネタだろうなと思い、こんなことをした。
GameConfig.hのGAME_AUTOROTATIONの値を変更した。
kGameAutorotationUIViewControllerがデフォルトで入ってたので、
kGameAutorotationCCDirectorにしただけ。
- kGameAutorotationNone
回転しない
- kGameAutorotationCCDirector
回転はcocos2dに委ねる、UIKitは使わない
- kGameAutorotationUIViewController
回転はcocos2d、UIKitの両方を使う、但しパフォ落ちる
下記ソース
// // Supported Autorotations: // None, // UIViewController, // CCDirector // #define kGameAutorotationNone 0 #define kGameAutorotationCCDirector 1 #define kGameAutorotationUIViewController 2 // 3rd generation and newer devices: Rotate using UIViewController. Rotation should be supported on iPad apps. // TIP: // To improve the performance, you should set this value to "kGameAutorotationNone" or "kGameAutorotationCCDirector" #if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR #define GAME_AUTOROTATION kGameAutorotationCCDirector
結果、こんな感じに。
小さな島国にずっといると、こーなる事例
普段、日本語しか使わない。
あとはせいぜい、英語を少しかじるていど。
こんな生活、環境にいるとLocale.ROOTを忘れる時がありますよね。
なに言ってんだ。valuesだのvalues-frだのvalues-jaだのvalues-koだの。
values-arだの(笑
今日、アラビックでアプリを操作してたら、
( ´∀`)<ぬるぽ
が発令されました。
原因は、
//これでも、たぶん大概の言語圏は通ってるんじゃ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); //こうしておけばいいんじゃないかと SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ROOT);
ここ見落としていて、長考してもーた。
Androidの端末設定が標準で色んな言語に変更できるようになって、
初めて検証したって人も多いのかもなーと思ったり。