ようやくバッテリーと
バッテリー充電機が到着したので
設定開始です
すでに
microSDも32GBのものを用意し
準備は万全です
まず設定そのものは
最初にIS04購入したときと同じように
au one ID
と
Googleアカウントの設定ぐらいです
追加で
メーカーのユーザー登録などが
でまずが、これはスキップしました
いくつかアプリの設定をしますが
個人情報取得関連は拒否しても
普通にスマートフォンは使えます
次に、テザリングとWiMAXの検証です
自宅では
イーモバイルが圏外のため
最悪の場合つながらないことも覚悟しましが
つながることができたので
一安心
新しく、IS04から
機種変して
アプリはどうなるかみてみました
どうやら最初からインストールしていくしかないようです
たたし、以前購入した有料アプリは
使用するGoogleアカウントが
同じなら
すでに支払いが済んでいるなら
そのまま使えますので
再度課金されません
あと、すでに機種変した端末でも
SIMカードを差し替えれば
使えますし
Wifi接続すれば
メールの送受信やインターネット閲覧はできます
たたし、通話はできません
SIMカードがささっていないと
上にエラーがでたままになります
また、Googleアカウントが重複するためか
エラーがでるので
一度ログインしないと
Gmailの送受信ができません
毎回パスワード入力は面倒なので
パスワード管理アプリ
keepassDroid
を使ってます
現在、サブバッテリー充電していますのて
テザリングの連続稼働時間もみてみようと思います
スポンサーサイト
昨日は購入した後、設定しようとしたのですが
充電ケーブルがすでに使い物に
ならなくなっていたため
新しく充電機とバッテリーの購入をすることになりました
バッテリーについては
まだ大容量バッテリーが発売されていないので
通常のものを購入しました
http://chitoma.exblog.jp/16082284/
にあるように
やはりショップでは置いてないようです
今回は
ヨドバシカメラのネットショップで
購入しました
Amazonで購入しようとしたのですが
取り扱いしていません
電池パック
au HTI13UAA
を2つ購入し
本体以外で充電できるように
充電機も購入しました
今回のバッテリー充電機には
QM-120WH
を購入
(まだ未検証です)
充電ケーブルですが
http://htcj.hajimete-no.com/%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b5%e3%83%aa/htc-j-isw13ht%e3%81%a7%e3%82%b5%e3%83%bc%e3%83%89%e3%83%91%e3%83%bc%e3%83%86%e3%82%a3%e3%81%ae%e5%85%85%e9%9b%bb%e5%99%a8%e3%81%8c%e4%bd%bf%e3%81%88%e3%81%aa%e3%81%84.html
で紹介されているように
au純正共通ACアダプタ 03
が一番無難そうなので
こちらを購入しました
あと、初期設定で
au one ID
が必要になります
明日以降にバッテリーが届く予定なので
続きはそれからになります
auの夏モデルが発売され
いくつか店舗で実機をためした結果
一番レスポンスの良いISW13HT
へ機種変しました
前回、ガラケーから
IS04へ機種変したとき
マシンスペックのみで判断し
キャリアメールが使い物にならなく
2011年6月のアップデートまで待ったり
android OS 2.1から
android OS 2.2にアップデートするとき
端末が初期化されたり
ガラケー向けのサイトが閲覧不可能になり
携帯のポイントサイトが使えなくなり
電池の消費が激しく
予備の電池パック購入したりと
いろいろ大変でした
今回は、そんな反省を活かし
まずはカタログでスペック確認して
店頭で実機で実験
使いたい機能が実際に使えるかまで確認し
ネットや雑誌で評判などもチェックしてから購入しました
ただ、残念なことに
念のため予備の電池パックも購入しようとしても
家電量販店では取り寄せになるといわれ
auショップても同様の回答でした
Amazonなどでも
まだ出ていないようなので
au のオンラインショップで購入
もしくは
ヨドバシや楽天といったネットショップで
購入したほうが効率が良さそうです
前回はガラケーからスマートフォンへの
機種変てしたが
今回は
スマートフォン同士なので
問題ないとおもったのですが
やはり端末か違うと問題もありました
電話帳のアドレスを
赤外線で移す予定でしたが
転送完了後、なぜか反映されていないので
今度は
microSDへ電話帳のデータをバックアップし、
それを新しい機体でインポートすることで
移すことができました
Edyについては
機種変のサービスをつかうことで
手数料が105円分のEdyを消費しますが
残りの残高を機種変後の機体へ移せます
ただし、機種変の前にやる必要があるため
注意しないと忘れます
なお、機種変後ですが
auのSIMカードを
もとのIS04に差せば
使うこともできますので
故障や電池がないときの保険としても
使えます
あと、毎月の割引ですが
これは機種変した機体により
割引額が変わるようてす
IS04は 1400円でしたが
ISW13HTは 1200円ぐらいでした
テザリングとWiMAX、
Android 4.0ということでいろいろ変わりそうなので
新しくインストールしたアプリの
紹介や
つまづいたところの解決方法なども
書いていこうと思います
イベントのバブリングを止める
stopPropagation
jQueryてイベント処理するとき
覚えておきたい重要な性質
イベントのバブリング
これは
下の階層で発生したイベントが
上の階層まて自動的に伝搬していくこと
例えば
最下層のpタグで発生したイベントが
その上の
div
body
にも伝わること
これが起きていると
コードが意図しない動作するときかある
例えば
body
div
p
という構成で
pのところで
if(which===3){
....
}
とすると
イベントバブリングにより
$(document)
にも
mousedownイベントが適用され
コンテキストメニューが重複表示されてしまう
これは意図しない動作なのて
これを防ぐためには
e.stopPropagation();
を記述し
イベントバブリングを防ぐことで
正しく表示できるようになる
複雑に入り組んだページの場合
イベントバブリングに注意することが
重要
keypressイベントは
キーボードで
キーが押されたときに発生するイベント
押されたキーの種類を
キーコードといい
これはイベントオブジェクトの
whichプロパティで取得できる
キーコードが48~57、または
45
8
0
のときは
キーの種類は
0~9と-、deleteなどの制御キーになる
このとき、
preventDefault()
で無効化すれば
keypress本来の動作を無効化するため
これを利用すれば
テキストボックスで
文字以外入力できないようにする
EditTextからテキスト取得
Androidでは
文字入力のビューとして
EditTextを使う
EditTextで
入力した文字を取得するには
getText
で
取得できる
でも、このままだと
CharSequence型で取得するため
getText.toString()
とすることで
String型でテキスト取得できるようになる
//EditText etInput =(EditText) findViewById(R.id.WallInput);
String message = etInput.getText().toString();
ベンチマークで効果確認
設定効果を計測するだけなら
ApacheBench
を使う
これは端末で
abコマンドを実行する
使い方は
ab -n リクエスト回数 -c 同時アクセス数 対象のURL
もし
wordpressでテストするなら
sb -n 200 -c 5 http://192.168.1.100/wordpress/
というようにする
ただし
ベンチマークの計測ツールは
サーバ本体ではなく
クライアントからにしないと
ベンチマークソフト自体が負荷をかけてしまい
実測値が実態にそぐわなくなるので注意
ベンチマークソフトは
GUIのものなら
jMeter
というものがある
こちらは複数ページのアクセスの再現も可能
jMeterの使い方については
http://www.atmarkit.co.jp/flinux/rensai/apache2_02/apache02a.html
を参考に
キャッシュ効果の確認
まずは
メモリ使用状態をチェック
メモリ不足で仮想メモリへのスワップがないか確認
まずはシステム全体のメモリ使用量を
free -m
で調べる
-mをつけると
MB単位で表示され見やすくなる
確認するのは
Swap の used のところ
ここが0ならスワップは発生していない
Webサーバーとキャッシュ
Webサーバーの高速化で特に効果的なのが
キャッシュの活用
キャッシュは
あるページにアクセスを受けたとき
その内容を覚えておき
2回目以降は
高速に表示する仕組みのこと
wordpress
の場合
Webページを生成するのに
Webサーバー
Webアプリ
データベース管理システムなど
複数のシステムを連携され
データがやり取りされる
ここにキャッシュを使えば
連携の回数が減り高速化できる
例えば
HDDのデータ
コンテンツデータ
SQLデータ
をキャッシュすれば
wordpressのレスポンスを上げられる
SSOログインについて
AndroidのFacebookログインは
SSOを採用
SSOは
シングルサインオン
これは1つの認証だけで
端末内の複数のリソースが利用可能になる認証機能のこと
Androidでは
公式Facebookアプリの
インストールの有無で動作が変わる
もし、公式Facebookアプリが
インストールされているなら
ログインのときには
ログインのときには
ブラウザのログイン画面ではなく
公式Facebookでのログイン画面になる
という仕組み
さらに
アカウント情報の入力も
公式Facebookアプリで
ログインしているなら
その情報を使い
自動でログインするようになる
逆に言うと
公式Facebookアプリが
インストールされていないと
アカウント情報は毎回入力
ログインするたび認証を求められる
という面倒なことに
このあたりは
Androidのアプリ連携と関係しているかもしれない
Androidアプリのパーミッション
INTERNET
インターネット接続
CAMERA
カメラデバイスの利用
CALL_PHONE
電話発信機能を利用
READ_CONTACTS
電話帳のデータにアクセスする
READ_CALENDAR
カレンダーのデータにアクセスする
WRITE_EXTERNAL_STORAGE
SDカードなとの外部ストレージに
データを書き込むのに必要
ほかにもいろいろあるので
ここにあるのは
その一部
これを設定しないと
アプリが正常に動作しないので注意
loginボタンの状態の変更
状況に応じてビューの表示をへんこうするなら
findViewById
で変更対象のIDを指定し
インスタンスを生成する
ビューよラベルを変更するなら
setText
で文字列をセットすれば
ラベルが変更される
テキストビューに文字列をセット
TextView textView=(Button)findViewById(R.id.textView);
textView.setText("hoge");
Facebook接続情報の確認
Facebookがセッション情報を保持しているか確認するには
isSessionValid
を使う
Facebook機能にアクセスする際
事前に
isSessionValid
を使えば
ログイン認証が必要か判断できる
これにはifを使う
if(facebook.isSessionValid()){
正ならセッション情報を保持
}else{
負ならセッション情報を保持してない
}
ubuntu12.04を使っていて
突如
fnキーがonのままとなり
かなり手間取りました
解除するには
num lkキーを押すことで
解除されました
参考サイトは
https://forums.ubuntulinux.jp/viewtopic.php?id=10769
です
検索キーワードは
fn ロック解除 ubuntu
ででました
ResponseListenerのリクエスト一覧
onComplete
ログイン認証が完了したとき呼ばれる
onFacebookError
Facebookの応答エラーが生じたときに呼ばれる
onFileNotFoundException
要求されたリソースが存在しない
もしくは無効な場合に呼ばれる
onMalformedURLException
無効なgraph pathが渡された場合に呼ばれる
onIOException
ネットワーク
もしくは
リクエストエラーが生じたときに呼ばれる
ログアウト処理を実装
Androidアプリでの
Facebookアプリの
ログアウト処理は
非同期処理でFacebook機能を利用できる
AsyncFacebookRunnerクラスの
Logoutメソッドをつかう
パラメータにセットされている
RequestListenerには
リクエスト結果が返ってくる
Facebook接続情報をアプリへ保存
取得したFacebook接続情報をアプリへ
データとして保存すれば
次回起動のときに
ログイン認証なしで
ローカルでFacebook接続情報を読み込んで
Facebook機能にアクセスできる
Androidでは
アプリにデータを保存、読み込みするときに
SharedPreferenceクラスを使う
Sharedpreferenceは
共有設定という意味
保存できるデータは
数値
文字列
BOOL型など
Facebook接続情報を保存するには
Editor editor = mPrefs.edit();
editor.putString("access_token",mFacebook.getAccessToken());
editor.putLong("access_token",mFacebook.getAccessExpires());
editor.commit();
Facebook接続情報を読み込むには
String accessToken = mPrefs.getString("access_token",null);
long expires = mPrefs.getLong("access_expires",-1);
}
Facebook接続情報のセットは
mFacebook.setAccessToken(accessToken);
mFacebook.setAccessExpires(expires);
onActivityResult()のパラメータ
requestCode
どの画面の
どの処理から送られてきたかを見分けるためのコード
resultCode
遷移前の画面で
setResult
を使って設定した値か入る
値は
RESULT_OK
RESULT_CANCEL
など
ちなみに
setResultは
終了コードをセットする時に使用する
これは
遷移先に
どういう処理を行ったかを判断するとき
に使う
data
結果データが入る
onActivityResult()で
渡されたFacebook接続情報は
authorizeCallback
を呼び出すことで
Facebookインスタンスに
セットされる
コードにすると
mFacebook.authorizeCallback(requestCode,resultCode,data);
DialogListenerのリクエスト一覧
onFacebookError
Facebookの応答エラーか生じた場合に呼ばれる
onError
認証処理でエラーが生じた場合に呼ばれる
onCancel
ログイン認証を
キャンセルした場合に呼ばれる
fbDidLogout
ログアウトしたとき呼ばれる
ログイン処理実装メモ
Androidアプリで
Facebookの認証をするには
1.パーミッションをセットし、ログイン認証を呼び出す
2.認証が成功したら
onActivityResult
で
アクセストークンなどの接続情報を取得
3.Facebook機能にアクセスできるようになる
という流れ
ログイン認証には
authorizeメソッドを使う
パラメータには
パーミッションをセットできるので
必要なパーミッションをセットする
DialogListener
には
ログイン認証のときの
クエスト結果か返ってくる
Android
ネイティブアプリ作成のメモです
Facebookクラスの初期化
Facebookクラスの初期化は
パラメータに
Facebook Developersサイトで取得したアプリIDをセットすれば
インスタンスが生成できます
インスタンスは
クラスから
オブジェクトを生成し
出来上がったデータのこと
ソースにすると
private static final String APP_ID ="アプリID";
private Facebook mFacebook = new Facebook(APP_ID);
というようになります
イベントに応じて一回だけ実行する
one()
イベントに対して1回だけ実行したいなら
one()を使う
構文はbind()と同じ
ちなみに以下はone()の構文
$(セレクター).one(イベント名,function(e){
処理する内容
})
使い道はクイズアプリとか
問題に対して回答すると
正確、不正解がダイアログで表示されるというようなものに使用
ちなみにone()で定義しているなら
回答は1回しかできない
jQueryの知っておきたいメソッド
mouseover
mouseout
をまとめれるhover()
hover()を
使えば
mouseoverとmouseoutをまとめれる
もともと、マウス操作のイベント処理するなら
この2つは書くことになるため
省略化できるのはありがたいと思う
hover()の構文は
$(セレクター).hover(
function(){
マウスを乗せたときの処理
},
function(){
マウスが離れたときの処理
});
jQueryの知っておきたいメソッド
mouseover
mouseout
をまとめれるhover()
hover()を
使えば
mouseoverとmouseoutをまとめれる
もともと、マウス操作のイベント処理するなら
この2つは書くことになるため
省略化できるのはありがたいと思う
hover()の構文は
$(セレクター).hover(
function(){
マウスを乗せたときの処理
},
function(){
マウスが離れたときの処理
});
イベント処理の無効化
bind()
click
mousemove
などでイベントに関連付けした動作は
unbind()
で消せる
大抵の英語は
dis
とか
un
とかが付くと、打ち消す意味になる
例えば
enableなら有効
disableなら無効化
unbind()の構文は
$(セレクター).unbind(消したいイベント)
となる
よていどおり、ubuntu 12.04 LTS を
ドスパラで購入した
Prime Note Altair F-5E
の
インテル Core i7-3517U
(デュアルコア/HT対応/定格1.90GHz
/TB時最大3.00GHz/L3キャッシュ4MB)
のほうで実験しています
メモりがすでに8GBあるため
64bit でのインストールとなります
まず、最初に通常ならDVDドライブをあければ問題ないのですが
開けるボタンが見つからないため、
とりあえず普通に windows7 を起動します
初期設定はすべて次へすすめて
シリアルナンバーは入力せずにすすめます
(どのみちubuntu インストールで削除されるので)
すでに、購入したときにインストール用の
windows7 インストールDVDがあるため
もし失敗しても、リカバリ領域からではないので
復旧できる見込みがあるため、ある程度のリスクはとれます
(実践するときには自己責任でお願いします)
windows7 セットアップ完了後
DVDドライブを開くため、DVDドライブのアイコンをダブルクリックし
ディスクトレイがでたら、作成した
ubuntu インストールDVDを入れて
あとは再起動
これで、再起動したときに ubuntu が始まります
もし始まらないなら、最初の立ち上がりの画面で F2 をおせば
セットアップの画面になりますので、これでもできます
途中で気をつけたのは
構造がSSD+HDDという構造のため
インストール先を SSD にしました
デュアルブートでもできますが
基本的に windows 7 を使うことがないため
完全に領域を削除しました
インストール時に、今回はホームディレクトリ暗号化を行いましたが
これが原因か、かなり時間をとられました
とりあえず初期設定として
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install keepassx
でインストールし
keepassX のデータはいままで使っていたPCから
scp コマンドで転送
今回の購入したマシンは Android アプリ開発、
マッシュアップの学習関連に使う予定です
持ち運びがおおそうなので
当面は XAMPP でテスト環境にしようと思います
HDDの領域についてはまだ設定していないため
のちのち必要に応じ設定していこうと思います
Ubuntu 12.04 LTS を導入したらまずやることまとめUbuntu-12.04 64bit版での Android ビルド環境「Xampp」でサーバのテスト環境を。自宅サーバ、イントラネット・サーバとして活用あたりを参考に、設定を行っていきます
テーマ : Linux
ジャンル : コンピュータ
ubuntu 11.10 64bit にして悩んでいたのが
端末の Alt + b と Alt +f が使えなくなっていたことでした
これを解決できたのでメモしておきます
まず、
Ctrl + Alt + b
で端末を起動します
次に
F10 をおしてメニューを出します
編集 > キーボードショートカット
を選択して
メニューのアクセスキーを有効にする
のチェックを外します

これで、ubuntu 10.10 のときのように
端末で使えるようになります
今回は
ubuntu ctrl+b
で検索し
How To Fix alt-b in Newer gnome-terminalを参考に行いました
テーマ : Linux
ジャンル : コンピュータ
jQueryで利用できるイベント
イベント名と発生するタイミングについてのメモ
click
要素をクリックした
dbclick
要素をダブルクリックした
mousedown
マウスのボタンを押した
mousemove
要素の中をマウスポインターが移動した
mouseout
要素からマウスポインターが離れた
mouseover
要素にマウスポインターがあたった
mouseup
マウスのボタンを離した
keydown
キーを押した
keypress
キーが押されている
keyup
キーを離した
blur
要素からフォーカスが外れた
change
要素の値(input select textareaなどの)を変更した
focus
要素にフォーカスが移った
select
テキストボックス、テキストエリア
のテキストを選択した
submit
フォームを送信した
load
ページや画像、フレームを読み込んだ
resize
ウィンドウのサイズを変更した
scroll
ページや要素をスクロールした
unload
ページをアンロードした
error
画像の読み込みに失敗した
たぶん、一番使うのは
マウス関連のイベント
ページの読み込みとイベント
ページの読み込みもイベントになる
じつは
よく使う
$(function(){
実行コード
});
という書き方は
ページを読み込まれたタイミングで
コード実行という意味だった
そして、これは実は省略した形で
正確には
$(function(){ ... });
は
$(document).ready(function(){
....
});
となります
$(document)
の
document
は
ブラウザーに表示されるページを表す
Java script のオブジェクト
これを
$()
で囲むことで
ページそのものを表す
jQueryオブジェクトになります
そして
ready()
これは
ページの読み込み準備完了したら
処理実行という関数
function(){ .... }
は
Java script での
処理の塊を表します
cとかJavaをやっていると
スコープの概念があるから
わかりやすいかも
マウスポインタの出入りのタイミングで処理実行
マウスが重なったら実行するというなら
mouseover()
を使います
逆にマウスポインタが外れたとき
処理実行するなら
mouseout()
を使います
mouseover()
と
mouseout()
は
ほとんどの場合対になる
なぜなら
mouseover()
で実行した処理を
mouseout()
でもとに戻すから
使い方は
$(セレクター)
.mouseover(){function(){
マウスを乗せたときの状態
})
.mouseout(){function(){
マウスを離したときの状態
});
});
となります
最初の
マウスを乗せたときの処理で ; がないのは
メソッドチェーンを使っているからです