AndroidアプリのHTTP通信

HTTP通信処理
Androidアプリから
Webサーバーに接続するには
HTTP通信を使う
HTTP通信でのデータのやりとりは
GET
POST
の2種類があり
GETなら、サーバーにリクエストするときに
http://xxx.co.jp/yyy?id=hoge
というように、
URLのあとに
?

id=hoge
を付けた
クエストリングと呼ばれる形式で送信する
POSTの場合、
GETのように、URLの一部ではなく
本文として送信される
GETは
名前の通り、検索キーワードを送信して
検索結果を取り出すような処理のために使う
POSTは
メッセージ書き込みとかデータ更新に使う
GETとPOSTは
PHPでよく使うので、機会があれば
こちらの言語も勉強すると
より理解が深まります

Javascriptのソース解説

Javascriptの命令文の一部
JavascriptでもPHPでも、ソースコードを読むためには
意味が分からないとと書けないので
解説メモです
まずDOM関連
getElementById()
特定のIDの要素を抽出する
querySelectorAll()
セレクタにマッチする要素を抽出する
getAttribute()
要素の属性を読み込む
appendChild()
小ノードとして追加
innerHTML
HTMLを出力
innerText,textContent
テキストのまま出力
続いて、イベント関連
addEventListener()
イベントリスナー追加
preventDefault()
ブラウザの標準動作を禁止
続いて、CSS関連
opacity
不透明度
backgroundColor
背景色
position
位置の指定方法
width
横幅
height
縦幅
left
左の座標
top
上の座標

Androidのitemタグの属性

Androidのitemタグの属性
android:color
色の設定
android:state_focused
フォーカスが当たっている状態はtru
当たっていない状態ならfalse
を設定
android:state_selected
選択されている状態はtrue
選択されていないならfalse
を設定
android:state_checkable
チェックできる状態はtrue
チェックできない状態はfalse
を設定
android:state_checked
チェックされている状態はtrue
チェックされていない状態はfalse
を設定
android:state_enableed
有効のときはtrue
無効のときはfalse
を設定
android:state_window_focused画面にフォーカスが当たっている状態はtrue
フォーカスがあたってない状態はfalse

指定した時間にアプリ起動

指定下時間にアプリ起動処理
Androidでは、
常駐プロセスのように、常にバックグラウンドで処理を動かすには
サービスを使う
指定した時間にアプリ起動するなら
AlarmManager
をつかう
AlarmManagerなら
端末がスリープ状態でも
指定した時間になればアプリ起動することができる
また、起動の間隔を設定すれば
毎日決まった時間にアプリ起動ができる
指定した時間でアプリ起動する流れは以下のとおり
まず、起動するアプリを指定した
PendingInternt
のインスタンス、起動時間や間隔を
AlarmManagerに設定
これで、指定した時間になると
設定したアプリが起動
停止したいときには
AlarmManagerのcancel()で起動設定解除
する

HTML5と画面分割

HTML5では
以前はdivタグでやっていた画面分割を
新しく定義された要素で分割が可能
articleタグで
画面の左側
sectionタグで
画面中央
asideタグで
画面の右側
ちなみに、画面の中央には
ブログ記事とかを書いたりするので
section要素でマークアップしている
このセクションという仕組みは
HTML5から追加されたもので
セクションを本に例えると
本の章とか節みたいになる
ちなみに、sectionの中に
さらに複数のsectionがあっても問題ない
セクション内では
HTMLでおなじみの見出しをつける
h1~h6タグが使える
本文と関係のある補足的なコンテンツ
例えば、ブログ記事の関連リンクとか
自作アプリとか、開発したもののバナーとか
そういうのは
article要素じゃなくて
右側に表示できる
aside要素のところに書く
あとは、最後にフッターをマークアップ
フッターには
コピーライトとか
よく一番下に書いてあるのを書くところ
ヘッダー
コンテンツ
フッター
の組合せは
jQuery mobileでも使うので
覚えておくと便利
ちなみに、
ヘッダーは見出し
コンテンツは記事本文
フッターは下にかくもの
と考えるとわかりやすい
スマホ向けサイトをみると
わかりやすい

HTML5で画面を横に3分割

HTML5で画面を横に3分割
HTML5では
以前はdivタグでやっていた画面分割を
新しく定義された要素で分割が可能
articleタグで
画面の左側
sectionタグで
画面中央
asideタグで
画面の右側
これを一番使うのは、ブログみたいな使い方
例えば、
articleにはブログ記事の見出し
sectionには
ブログ記事本文
asideには
広告とか、アフィリエイトのリンクを貼る
というかんじ

HTML5 とそれ以前の見分け方

HTML5 とそれ以前の見分け方
ソースをみて、HTML5かどうかを見分けるには
<!DOCTYPE html>
となっているかをみる
書いてあるのは、だいたい先頭の部分
<!DOCTYPE HTML public….>
というように、長いなら
HTML5ではない
違いは、使える機能が大幅に変わること
単純そうだけど、かなり重要

HTML5のAPI

HTML5のAPI
Canvas
ピクセル単位でのグラフィック描画に使う
ただし、Javascriptがないと機能しない
SVG
こっちもグラフィック描画
でも、単体でも使えるところが違う
Web Workers
複数のプログラムを並列処理する
ちなみに、Javascriptは1つしかできない
Web Storage
Javascriptでデータを保存する
大容量データの保存、読み出しも可能
Geolocation API
位置情報の取得
ただし、座標取得だけなので
実用化するときには
マップ関連のAPIと組み合わせることが多い
Video & Audio
映像や音楽の取り扱い
スクリプトで制御することもできる
File API
ローカルファイルを扱うための機能
ただし、
セキュリティ関連の縛りで
アクセスできるのは
ユーザが選択したものだけになる
Drag&Drop API
表示されている画像や文字のドラッグ&ドロップ
Web Socket
直接サーバーとやりとりする機能
ソケット通信
主な用途は、ゲームやチャット
Indexed Database
ローカル側でデータベース使用
Key Value Store
からなるKVS方式で、処理を行う
HTML5 Web Messaging
Web Messagingは
異なるドメイン同士での通信を行う
これで、インラインフレーム内に
表示されているページの
スクリプトのやりとりができる
ちなみに、Javascript単体では、
異なるドメインへの通信はできなかった

ScanSnap S1500 とubuntu

windows XPで、自炊のため購入した
ScanSnap S1500
これを、ubuntuでも使えないか実験しました
結論から書いてしまうと、使えるけど
実用的ではなかったです
sudo apt-get install xsane
sudo apt-get install imagemagic

必要なパッケージをインストールし
両面読み取りにしましたが
pdfファイルの両面読み取りでは
速度が落ちてしまいます
別のマシンで、仮想化したWindows XPで
使ったところ、明らかな差がでてしまいました
JPEGなど、別のファイルで保存すれば
速度はあがるかもしれません
なお、連続読み込みしたときには
各ページごとのファイルになります
つまり、5ページなら
pdfファイルが5つできるため、
新しくフォルダを作成し
その中で処理するようにしました
最終的には、
convertコマンドで2つのファイルにまとめられますが
手間を考えると
仮想化したWindowsが一番速いと思います  
今回は
HTML5の書籍で、ページが360Pあるため
仮想マシンで処理しました