youtubeジュークボックスその2

まず、中央寄せにする
これはCSSで設定
head タグの中へ
<style>
body{
test-align:center;
}
</style>
とする
test-align:center;
は中央寄せという意味
次に、この設定に
#player{
width:640px;
height:368px;
}
というように、画面の大きさを設定
最初の#は
id を意味している
id=”player”
なら
#player
id=”pause”なら #pause となる
ちなみに、なにも表示していない場合
ブラウザを最大化するとなにもない画面になっている
コントロールするためのスクリプトは
メンテを考えて外部ファイルを作成し読み込む
java script の構文は
$function(){
//処理
});
というかんじになる
youtubeの API のリファレンスがあり
それは
https://developers.google.com/youtube/
ドットインストールに解説があったので
参考にさせていただきました
https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters
これが検索時のパラメータ一覧
今回は、java script ファイルの編集
まずは Youtube API を使ってみた
使ったのはver 2.0
使う項目は
Retrieving and Searching for Video
の中にある
API Query Palameters
GETを使いベースURLへアクセス
そのときにオプションを付ける
ベースURLを変数へ格納する
var url =”https://gdata.youtube.com/feeds/api/videos”;
そして、オプションも変数へ格納
var options ={
q: encodeURIComponent($(‘#q’).val()),
alt: “json”,
max-results:10.
v:2
};
q は検索キーワード
$(‘#q’) は
#はid の意味なので
id=”q”
val() はその値
つまり、
<input type=”text” id=”q”>
で入力した検索キーワードということ
q:$(‘#q’).val();
だと、文字化けなどの問題もあるので
エンコードする
これを解決する関数が
encodeURIComponent()
なので、
q: encodeURIComponent($(‘#q’).val()),
alt: “json”, は
データ形式を json に指定
他にもXMLなどがある
max-results:10.
これは最大取得数=10という意味
v:2
はvetsion=2 ということ

覚えておくと便利なショートカットキー

http://blog.livedoor.jp/chai314/archives/2835999.html

Eclipse のショートカットキーが掲載されていました
Eclipse などのIDEを使う最大のメリットは
ソースコードを自分で書くことを減らせることです
ただ、分からないとテキストエディタと変わらないで
このあたりは使い込んで暗記してしまうのが一番かと
あと、Eclipse には対かプラグインで対応するものを増やせます
現在、java Android PHP HTML のプラグインを入れているため
コードを書く時に役立っています
あとは、自動である程度のフォーマットができるので
タイプミスによるバグが減らせるのもメリットです

youtube ジュークボックス

ドットインストールで
youtbe API でジュークボックスを作成というのがあり興味深いので
実践開始
http://dotinstall.com/lessons/youtube_jukebox_js
まず、再生領域を div で設定
基本的に div は範囲を指定するときによく使う
<div id=”player”>
次に、入力項目作成
これは
input でつくる
<input type=”text” id=”q”>
<input type=”button id=”search” value=”search”>
そしたら、次に再生関連ボタンをinput で作成
<hr>
<input type=”prev” id=”prev” value=”prev”>
<input type=”button” id=”play” value=”play”>
<input type=”pause” id=”pause” value=”pause”>
<input type=”stop” id=”stop” value=”stop”>
<input type=”next” id=”next” value=”next”>
</hr>
そして、サムネイル画像を表示したいので
これは領域を ul で指定する
<ul id=”list”>
</ul>
なぜ ul かというと、java script でコントロールできるから
つまり、java script でリスト作成できる
あとは、見た目とかよくしたいので
jquery をつかう
なので、
<script src=”http://code.jquery.com/jquery-1.7.2.min.js”></script>
で読み込む

ツールチップとポップオーバー

ツールチップ
これはスマホのインテントみたいなかんじで
マウスオーバーとかで文字がでる
<a href=”#” rel=”tooltip” data-original-title=”補足情報”>tooltip</a>
これでできる
必要なのは
rel=”tooltip”
そして
data-original-title=”” に表示したい文字を記述する
ソースにすると
<a href=”#” rel=”popover” data-original-title=”補足情報” data-content=”もっ>と詳しい内容”>popover</a>
あと、重要なこととして
これはcanvas とか webstrage みたいに
java script が必要
なので、
<script>
$(function(){
$(‘a[rel=tooltip]’).tooltip();
});
</script>
とする
また
$(‘a[rel=tooltip]’).tooltip();

$(‘a[rel=tooltip]’).tooltip({‘placement’: ‘bottom’});
とすれば
下にでるので見やすくなる
tooltip();
は bootstrap に入っている
ポップオーバー
こちらは、ツールチップより詳しく表示できる
まず、ツールチップと同じように
data-original-title=””へ表示したい文字列
さらに
data-content=”” へもっと詳しい内容
を表示する
これも、ツールチップみたいに
java script でコントロールする
なので、script タグが必要
$(‘function(){
$(‘a[rel=popover]’).popover();
});
となる
他にもオプションをつけれるようなので
http://twitter.github.io/bootstrap/javascript.html#popovers
を参考にするとサンプルがあってわかりやすい
ツールチップとポップオーバーに関しては
ドットインストールで動画で分かりやすく解説されているんどえ
こちらも参考にするとわかりやすいのでおすすめ
http://dotinstall.com/lessons/basic_twitter_bootstrap_v3/8818

モーダルウインドウ作成

モーダルウインドウ作成
モーダルウインドウは、ユーザになんらかの操作を
促すウインドウ
必要なのは呼び出すボタンと
ウインドウ
まずはボタンを a要素で作成
,a href=”#myModal” class=”btn” data-toggle=”modal”>Modal window</a>
これで
class=”btn” によりリンクがボタンの形になる
そして、次にウインドウの作成
これは
<div id=”myModal” class=”modal h8ide fade”>
</div>
としてウインドウをつくる
そして、スマホページのように
ヘッダー
ボディ
フッターを作成する
ヘッダーは
<div class=”modal-header”>
</div>
ボディは
<div class=”modal-body”>
</div>
フッターは
<div class=”modal-fotter”>
</div>
で作成
それぞれに記述していく
ヘッダーには閉じるボタンをつけたいので
<div class=”modal-header”>
<a href=”#” class=”close” data-dismiss=”modal”>×</a>
</div>
とする

プログレスバーの表示

進捗状況を表すのに使う
<div class=”progress”>
</div>
で指定して
進捗状況は
<div class=”bar” style”=width:45%”>
</div>
また、ストライプにする。つまりシマシマ模様にするなら
<div class=”progress progress-striped”>
とする
動きも付け加えたいのなら
<div class=”progress progress-striped active”>
として
さらに色もつけたいのなら
<div class=”progress progress-striped active progress-success”>
詳しいことは
http://twitter.github.io/bootstrap/components.html#progress
を参考にするとわかりやすい

ラベルとバッジとアラート

ラベルをつけるなら
<p>
<span class=”label”>Note</span> Message
</p>
というようにする
また、このラベルには種類があり
label-warning にするとオレンジ色
label-info にすると水色になる
次にバッジ
スマホのメールの未読数字のように表示される
やり方は
<span class=”badge”>5</span>
というようにする
ちなみに、これも色を変えることができる
<span class=”badge badge-important”>5</span>
とすれば赤い色になる
ラベルとバッジに関しては
http://twitter.github.io/bootstrap/components.html#labels-badges
を参考にする
次はアラート
<div class=”alert”>
Message
</div>
とすることで、
Message というアラートができる
このアラートも
http://twitter.github.io/bootstrap/components.html#alerts
に詳しい解説が載っている
<div class=”alert alert-success”>
とすれば、アラートの背景色が緑になる
また、アラートとボタンの組み合わせもできる
<button type=”button” class=”close” data-dismiss=”alert”>×</button>
とすれば
アラートのところにxの消すボタンができるので
これを押せば、アラートが消える
あと、視覚効果でフワッと消すなら
<div class=”alert alert-success fade in”>
とすれば
ボタンと組み合わせることでふわっと消える

フラグメンテーションの書き方

フラグメンテーションの書き方
とりあえずメモ
フラグメントのclass属性に
対応するfragmentクラスを指定
ちなみに
com.example.fragmentsample.MainActivity$PageListFragment
これは
完全修飾のクラス名
分類すると
com.examplesfragmentsample
がパッケージ名
MainActivity
がクラス名
PageListFragment
がインナークラス名
インナークラスは、内部クラスという意味
あと、idプロパティに
“@+id/titles”としてあるように
フラグメントにもユニークIDが必要
ちなみに、ユニークとは
ほかと被らないという意味
このIDは
DOM操作のときみたいに
フラグメントの特定以外にも
フラグメントの再生成するときにも使える
ということで、Activityのレイアウトの中へ
Fragmentを記述する

フラグメントのサブクラス

フラグメントのサブクラス
フラグメントには、4つの代表的なサブクラスがある
ダイアログウインドウを表示する
DialogFragment
一覧を表示する
ListFragment
設定情報を表示する
PreferenceFragment
WebViewへWebページを表示する
WebViewFragment
また、フラグメントにも
アクティビティのように、ライフサイクルが存在する
onAttach()
フラグメントがアクティビティと関連付けされたとき
1回だけ呼び出される
onCreate()
フラグメントの初期化
onCreateView()
フラグメントに関連付けされるビュー階層を作成
onActivityCreated()
アクティビティのonCreate()から
戻ってきたら呼び出される
onStart()
アクティビティのonStart()に基づき開始
onResume()
アクティビティのonResume()に基づき開始
onPause()
アクティビティがonPauseになったときや
フラグメントが捜査を受け付けなくなったとき
onStop()
フォアグラウンドてなくなったとき
onDestroyView()
フラグメントに関連付けされてビュー階層が
取り除かれたら呼び出される
onDestroy()
フラグメントが破棄されるとき
onDetach()
フラグメントとアクティビティの関連がなくなったとき

スマホてフラグメント

スマホてフラグメント
以前ならtabHostクラスで
タブ表示してページの切り替えてきたけど
APIレベル13から変更になり
TabActivityは非推奨になったので
別の方法を使うことになった
今は、ActionBarへタブ表示して
アクティビティをナビゲーションするのが推奨
また、APIレベル13から
AlertDialogを表示するための
showDialog()も非推奨になったので
変わりにフラグメントのサブクラスの
DialogFragmentを使うことが推奨になった
このように、スマートフォンでも
タブレットみたいに、フラグメントを使うようになっている