アニメーションを順番に実行
function(){…}
を省くとさらに簡潔になる
$(‘#big’)
.hide(1000)
.show(2000);
これなら
1秒画像を隠してから
2秒画像を再表示
このように
jQueryでアニメーションメソッドを
メソッドチェーンで連結して呼び出すと
上から順番に実行する
メソッドチェーンにしても
同時にアニメーション適用にならないので
注意
月別: 2012年8月
アルバムアプリ作成
アルバムアプリは
AndroidのSDカードにとりためた画像をgalleryに一覧表示し
みたい画像をタップする
タップされた画像は
imageviewに大きく表示
同時に
Textviewに撮影した時刻を表示
galleryのUIには
imageviewを使う
ただし、画素数が大きいため
大きな画像を使うと
OutOfMemoryの例外が、発生する
このため、BitmapFactoryクラスで
画像の大きさを変更する
カーソルメソッドのメモ
カーソルメソッドのメモ
moveToFirst()
先頭のレコードに移動
レコードが存在しないならfalse
getColumnIndex()
カラム名からインデックスを返す
getString()
フィールド値を取得
getメソッドは、データ型のぶん用意済み
getInt()
getFloat()
などなど
moveToNext()
次のレコードに進む
次のレコードがないならfalse
cur.close()
カーソルを閉じる
連絡先にアクセスするには
連絡先にアクセスするには
Contacts.CONTENT_URI
を使う
これには
android.provider.ContractsContract.Contracts
をインポートする
今回は
ボタンのonClickのときに呼び出す
getContractsData()
が処理の中心
コンテントプロバイダーからのデータ取得処理は
RDBへのSQL発行に近い
流れとしては
managedQuery()でカーソル取得
ループ処理でカーソルから順に
レコードを読み込み
フィード値を取得
注目するのは
managedquery()の引数
uri
コンテントプロバイダーのURI
projection
取得したいカラムのリスト
selection
レコードの選択条件
SQLでいうと WHERE
selectionArgs
selectionの引数配列なので複数指定できる
sortOrder
並べ替え
ASC 昇順
DESC 降順
SQLでいうと ORDER BY
エミュレータに、データ追加
エミュレータへのデータ追加
サンプルアプリのため
エミュレータにデータを追加しました
今回は連絡先の追加なので
アプリの中から
Phone
をタップして
エミュレータのmenuボタンを押して
New contact
を押して必要なデータを入力しました
コンテントプロバイダへの問い合わせ
コンテントプロバイダーに問い合わせするには
Activityクラスの
managedQuery()
を使うか
ContentResolverクラスの
query()
を実行
どちらを使っても、同じ引数のセットを受け取り
Cursorオブジェクトを返す
これは
managedQuery()
は
内部的に
ContentResolverクラスのquery()
を呼ぶから
managedQuery()は
アクティビティに
カーソルの管理を委ねる
このめ、ほとんどの場合は
managedQuery()を使っている
コンテントプロバイダで使える代表的URI
コンテントプロバイダで使える代表的URI
CallLog.Calls.CONTENT_URI
着信履歴、発信履歴の通話ログのデータ
ContactsContract.Contacts.CONTENT_URI
連絡先
ContactsContact.CommonDataKindsPhone.CONTENT_URI
電話番号
ContactsContract.CommonDataKinds.Email.CONTENT_URI
メールアドレス
MediaStore.images.Media.INTERNAL_CONTENT_URI
端末内部のメディアに保存した画像データ
MediaStore.images.Media.EXTERNAL_CONTENT_URI
SDカードなどの外部メディアに保存した画像データ
MediaStore.Audio.Media.INTERNAL_CONTENT_URI
端末内部のメディアに保存したオーディオデータ
MediaStore.Audio.EXTERNAL_CONTENT_URI
SDカードなどの外部メディアに保存したオーディオデータ
MediaStore.Video.Media.INTERNAL_CONTENT_URI
端末内部のメディアに保存した動画データ
MediaStore.Video.Media.EXTERNAL_CONTENT_URI
SDカードなどの外部メディアに保存した動画データ
Browser.BOOKMARKS.URI
ブラウザーのブックマークデータ
Browser.SEARCHS_URI
ブラウザーの検索履歴データ
Settings.System.CONTENT_URI
端末の様々な設定データ
Settings.Secure.CONTENT_URI
セキュリティーに関する端末の設定データ
INTERNAL_
なら端末内部
EXTERNAL_なら
SDカードとかの外部メディア
と覚えると覚えやすいかも
HTTPのステータスコード
HTTP通信の代表的ステータスコード
SC_OK
値は200
リクエスト成功
SC_MOVED_PERMANENTLY
値は301
リクエストされたリソースは新しい恒久的なURIを割り当てられた
SC_MOVED_TEMPORARY
値は302
リクエストされたリソースは一時的に異なるURIに、属する
SC_FORBIDDEN
値は403
サーバーはリクエストを理解したが、リクエスト実行を拒否
SC_NOT_FOUND
値は404
サーバーはリクエストURIと一致するものを見つけられなかった
SC_INTERNAL_SERVER_ERROR
値は500
サーバーはリクエスト実行を妨げる予期しない状況に、遭遇
SC_SERVICE_UNAVAILABLE
値は503
サーバーは
サーバーの一時的な過負荷
あるいはメンテナンスのため
現在、リクエストを扱えない
ちなみに、Androidアプリで
HTTP通信するなら
インターネットアクセス権限が必要なので
注意
オプションメニュー生成
オプションメニュー生成
オプションメニュー生成には
onCreateOptionsMenu()
を使う
onCreateOptionsMenu()は
superクラスの
onCreateOptionsMenu()
を
オーバーライドする必要がある
メニュー追加の構文は
Menu.add(int groupId,int itemId,int order ,CharSequence title)
int groupIdがグループID
int itemId がアイコンID
int order がアイテムの順序
CharSequence title が表示するタイトル
Menu.add()は
MenuItemオブジェクトを返すので
setIcon()
で
アイコンを追加
ちなみに
android.R.drawable.ic_menu_delete
android.R.drawable.ic_menu_close_clear_cancel
はAndroidで用意されているアイコン
自作のを使いたいなら
res/drawable
に自作アイコンを置けばいい
アイコンの詳細は
http://developer.android.com/intl/ja/guide/practices/ui_guidelines/icon_design_menu.html
を参照
オプションメニューがタップされたら
onOptionsItemSelected()
が実行される
設定削除するなら
editor.clear()
で
プリファレンスのデータをすべて削除
終了するときには
finish()
でActivityを終了
jQueryのアニメーション機能
jQueryの主なアニメーション機能
show
非表示になっている要素を徐々に表示
hide
表示の要素を非表示に
toggle
要素の表示、非表示を交互に切り替え
slideDown
非表示の要素をスライドさせつつ表示
slideUp
表示中の要素をスライドさせつつ非表示に
slideToggle
スライドアップ、スライドダウンを交互に実行
fadeIn
非表示の要素をフェードイン
faeOut
表示中の要素をフェードアウト
animate
指定されたパラメータに従い
アニメーション実行
animate以外のアニメーション効果は
ほぼ同じ書き方で呼び出しできます
一番簡単なアニメーション機能の呼び出しの構文は
$(セレクター).アニメーションメソッド(時間)
アニメーションメソッドには
show
slideToggle
hide
などを指定して
時間はミリ秒単位でしていします
例えば
表示中の画像を2秒隠すなら
$(‘img’).hide(2000);
ちなみに、時間の指定はミリ秒だけじゃなく
slow
normal
fast
という指定もできる