$("selector").on("gesturestart",function(){
//do something
}).on("gesturechange",function(){
//do something
}).on("gestureend",function(){
//do something
});
2012年07月16日
Androidとgesture event
Androidはgesture eventに対応していないようなので以下のコードが発火しなかった。(ちなみにAndorid2.3で検証)
2012年01月13日
Android SDKを再インストール後のEclipsのエラーに対応
Android SDKを再インストールしたところEcripsが「Could not find SDK folder '/Applications/android-sdk-mac_x86'」とエラーを出すようになりました。
Helpの「Check for Updates」からEclipsをアップデート、メニューの「Eclips」→「環境設定」→「Android」の「SDK Location」を変更することでエラーがでなくなりました。
Helpの「Check for Updates」からEclipsをアップデート、メニューの「Eclips」→「環境設定」→「Android」の「SDK Location」を変更することでエラーがでなくなりました。
2011年05月23日
AndroidやiPhoneにYou Tube動画を埋め込む
AndroidやiPhoneにYou Tube動画を埋め込もうとして迷走したのでメモ。
まず普通の共有コードを貼り付けたところ、iPhoneのみちゃんと再生できた。iPhone Flash対応してないのにすごい!
Android2.1はダメっ子再生できず、Googleと親戚のくせに!
脳内でiPhoneとAndroid2.2はiFlameで表示してその他はリンクでYou Tube飛ばそうと妄想する。
その前にためしに古い共有コードを使ってみる。
AndroidもiPhoneもちゃんと再生される!完璧。
ただYou TubeのUIがデバイスごとに違うのでデバイスの独自実装の予感はするけど結果OK
結論;スマートフォンにYou Tubeを埋め込む場合は古い埋め込みコードで!
まず普通の共有コードを貼り付けたところ、iPhoneのみちゃんと再生できた。iPhone Flash対応してないのにすごい!
Android2.1はダメっ子再生できず、Googleと親戚のくせに!
脳内でiPhoneとAndroid2.2はiFlameで表示してその他はリンクでYou Tube飛ばそうと妄想する。
その前にためしに古い共有コードを使ってみる。
AndroidもiPhoneもちゃんと再生される!完璧。
ただYou TubeのUIがデバイスごとに違うのでデバイスの独自実装の予感はするけど結果OK
結論;スマートフォンにYou Tubeを埋め込む場合は古い埋め込みコードで!
2011年05月12日
スマートフォンで読み込むCSSを変更する
iPhoneやAndroidのスマートフォンごとに読み込むスタイルシートを変更する方法。メディアクエリーだとAndroid端末によっては対応できないのでJavaScriptでやるのが正攻法
DOMだと時間がかかるのでdocument.writeでやるのがスムーズ。
<head>
・・・
<script>
(function(){
var _UA = navigator.userAgent;
if (_UA.indexOf('iPhone') > -1 || _UA.indexOf('iPod') > -1) {
document.write('<link rel="stylesheet" href="/css/iphone.css">');
}else if(_UA.indexOf('Android') > -1){
document.write('<link rel="stylesheet" href="/css/android.css">');
}else{
document.write('<link rel="stylesheet" href="/css/pc.css">');
}
})();
</script>
</head>
DOMだと時間がかかるのでdocument.writeでやるのがスムーズ。
2011年05月06日
Androidにおけるtext-shadowとfont-weight
Androidにfont-weight:boldが効かない。擬似的にtext-shadowで対応しようとしたらこっちの実装もヘボイ。
広がりに0pxを指定するとtext-shadowが反映されない。
text-shadowの広がりには1px以上の数値指定が必要。0.1 pxとかも駄目。
text-shadow:0 2px 0 #FFFFFF;
広がりに0pxを指定するとtext-shadowが反映されない。
text-shadow:0 2px 1px #FFFFFF;
text-shadowの広がりには1px以上の数値指定が必要。0.1 pxとかも駄目。
HTC Ariaにviewportのinitial-scale指定が効かない
HTC Ariaにviewportのinitial-scale指定が効かない
なんてのが利用できない。
素直にこうするべき。
HTC Ariaは結構ブラウザにカスタマイズを入れているらしくコンテンツフィットだけでなく要素フィット的な機能も実装されている。。。。
<meta name="viewport" content="width=device-width,minimum-scale=0.5,maximum-scale=0.5,initial-scale=0.5">
なんてのが利用できない。
<meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1">
素直にこうするべき。
HTC Ariaは結構ブラウザにカスタマイズを入れているらしくコンテンツフィットだけでなく要素フィット的な機能も実装されている。。。。
2011年04月24日
Androidで位置情報を取得できない場合に対応
Android端末のGPS機能はくそ。取得できないことが往々にしてある。
Android用のgeolocation APIの記述を次のように変更しておくとエラー処理を追加できる
60秒まって位置情報が取得できてない場合はアラートでエラーを返すようにしている
Android用のgeolocation APIの記述を次のように変更しておくとエラー処理を追加できる
var geo = navigator.geolocation || google.gears.factory.create('beta.geolocation');
var flag=false;
if(geo){
geo.getCurrentPosition(
function (pos) {
flag=true;
console.log(pos.coords.latitude,pos.coords.longitude);
},
function (e) {
alert("位置情報の取得に失敗しました");
},
{
enableHighAccuracy: true
}
);
}
setTimeout(function(){
if(!flag){
alert("位置情報の取得に失敗しました");
}
},60000);
60秒まって位置情報が取得できてない場合はアラートでエラーを返すようにしている
タグ:android
HTML5のgeolocation APIをAndroidでも利用する
HTML5のgeolocation APIでは次のように記述するとiPhoneやブラウザで位置情報が取得できる。
Androidで利用する場合はGoogle Gearsを利用しなくてはいけない。
あらかじめgears_init.jsを読み込んでおき、次のように記述するでAndroidを含むgeolocationに対応したブラウザで位置情報が取得できるようになる。
navigator.geolocation.getCurrentPosition(
function (pos) {
console.log(pos.coords.latitude,pos.coords.longitude);
},
function (e) {
alert("位置情報の取得に失敗しました");
}
);
Androidで利用する場合はGoogle Gearsを利用しなくてはいけない。
あらかじめgears_init.jsを読み込んでおき、次のように記述するでAndroidを含むgeolocationに対応したブラウザで位置情報が取得できるようになる。
var geo = navigator.geolocation || google.gears.factory.create('beta.geolocation');
if(geo){
geo.getCurrentPosition(
function (pos) {
console.log(pos.coords.latitude,pos.coords.longitude);
},
function (e) {
alert("位置情報の取得に失敗しました");
},
{
enableHighAccuracy: true
}
);
}
2011年04月16日
Android 2.1でAjaxでXMLを取得
Android 2.1でAjaxでXMLを取得しようとした所、うまく取得できない。
正確には取得できてるのだけど、オブジェクト構造が壊れており、取得した物をパースできない。dataTypeをtextに変換すれば取得したtextをjQueryでパースできるようになる。
$.ajax({
url: "samole.xml",
dataType : "xml" ,
success: function(data){
//ng
}
});
正確には取得できてるのだけど、オブジェクト構造が壊れており、取得した物をパースできない。dataTypeをtextに変換すれば取得したtextをjQueryでパースできるようになる。
$.ajax({
url: "samole.xml",
dataType : "text" ,
success: function(data){
//ok
}
});
2011年03月18日
Androidのapkファイルを端末に直接インストール
開発用のapkファイルが送られてきたので検証端末のXperiaにインストール。
まずは、Androidマーケットから「Apk Manager」をダウンロードしてきてインストール。
端末とPCをケーブルにつないで、SSDの適当なフォルダにapkファイルを設置、端末を再起動します。
「Apk Manager」起動後、Installタブをタップするとアプリが表示されるのでそこからインストールが可能です。
まずは、Androidマーケットから「Apk Manager」をダウンロードしてきてインストール。
端末とPCをケーブルにつないで、SSDの適当なフォルダにapkファイルを設置、端末を再起動します。
「Apk Manager」起動後、Installタブをタップするとアプリが表示されるのでそこからインストールが可能です。
タグ:android