画面情報の取得

画面情報の取得
onScroll()の強距離の単位がピクセルであるように
ScaleGestureDetectorで取得する2点間の距離もピクセルで返ってくる
これをミリメートルへ変換するには
ピクセル / 解像度 * 25.4
の計算式を使う
解像度は、インチあたりのピクセル数
これに25.4をかけることで
ミリメートル換算できる
解像度は、Android端末ごとに異なるため
画面の大きさ
解像度
を知るには
DisplayMetricsクラスを使う

onFling() onScroll()の引数

onFling() onScroll()の引数
まず、onFling()
構文は
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
引数の解説
e1
ダウン時のタッチイベント
e2
フリック時のタッチイベント
velocityX
x軸の速度
単位は、ピクセル/秒
velocityY
y軸の速度
単位は、ピクセル/秒
次に、onScroll()
構文は
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
引数の解説
e1
ダウン時のタッチイベント
e2
スクロール時のタッチイベント
distanceX
x軸のスクロール時の距離
単位はピクセル
distanceY
y軸のスクロール時の距離
単位はピクセル

ruby のクラスとインスタンス

ruby のクラスとインスタンス
#06 クラスとインスタンスを理解しよう
http://dotinstall.com/lessons/basic_ruby/4706
を参考にする
今回はクラスとインスタンス
p “hello”.lengthにしたら、結果は5
これは5文字だから
クラス=設計図
インスタンス=実体化したデータ
例えば
p “hello”
なら
String クラスで
hello がインスタンス
となる
公式サイトは
http://www.ruby-lang.org/ja
だけど
英語英語なら
http://www.ruby-lang.org/en/
使え関数については英語版の
http://www.ruby-doc.org/core-2.0/
が最新だけど
core- の番号を使っているバージョンにすれば
そのリファレンスもみれる
私の場合
ruby -v だと
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
なので
http://www.ruby-doc.org/core-1.8.7/
で調べた
Classes の横の検索欄で調べれば
クラスから調べることができる

ruby のオブジェクトを表示するメソッド

ruby のオブジェクトを表示するメソッド
print でメッセージを表示したけど、これに似たのが
puts

p
それぞれ動作が異なる
print は普通に表示する
PHPの echo とかとおなじかんじ
, で区切って表示することもできる
print “hello”,” world”
putsは、改行つきで表示してくれる
なので、 \n とかつけなくても改行されるので楽
p は
””も一緒表示する
p は、オブジェクト型がわかるように表示する

ruby で hello world

ruby で hello world
Rubyのコーディング規則は
https://github.com/styleguide/ruby
rubyは、拡張子が .rb になる
ちなみに、PHP だと .php
ruby の学習するので、
mkdir ruby でディレクトリをつくり
ここで作成していく
vim hello.rb
でファイルを作成
内容は
print “hello world”
とする
実行するには
java みたいに
ruby hello.rb
として
ruby プログラム名
になる
なお、ruby の文の区切りは改行で行える
PHP java C++ のように ; で区切れるけど
大抵の場合は改行でも OK
また、1行コメントの場合
シェルスクリプトのように
#をつける
# コメント
というようになる
また
java とかで、複数のコメントがあるけど
/*
コメント
*/
というのが java の場合で
ruby の場合だと
=begin
コメント
=end
というように、複数行になる場合は
=begin と =end の間に書く

ruby の変数と定数

ruby の変数と定数
rubyの場合、変数は
x=10
st = “hello”
というように
変数名 = 値
と書く
java みたいに型を指定したり
PHPみたいに変数に $をつけたりしない
また、javascript のように var で宣言もしないので
楽かもしれない
rubyの場合、変数は
英小文字か _で始まることが条件
あと、どの言語でも同じだけど、予約後は使えない
次に定数について
c/C++,PHPだと define() を使って定義する
ruby の場合だと
全部大文字で書く
ちなみにjava だと static final をつかう
java の static final に関しては
http://www.tohoho-web.com/java/variable.htm
を参考に
URLとかメールアドレスなど、値が変更しないものを定義のに使う
MY_EMAIL = “”
というようにしたり
URLを
SITE_URL = “http://localhost/”
にするなど

Sandboxモードを使える sahara プラグイン

Sandboxモードを使える sahara プラグイン
#13 saharaを使ってみよう
http://dotinstall.com/lessons/basic_vagrant/24113
を参考に
Sandboxモードを使うことができる
saharaプラグインについて学習
sandbox モードは
仮想マシンに
ソフトのインストールや設定の変更などを加えたが
失敗などにより、その変更を破棄するときに使う
まず、仮想マシンのディレクトリに移動
cd /media/bdec1869-7820-4557-a76e-a8b130293019/myBox/
次に、sandbox を有効化
vagrant sandbox on
vagrant sandbox status
で状態を調べることができる
[default] Sandbox mode is on
となっていれば sandbox が on になっているのが確認できる
まず、仮想マシンを起動してログインし変更を加える
vagrant up
で仮想マシン起動
vagrant ssh
でログイン
とりあえず、単純に touch コマンドで空ファイル作成
touch test
これで、一度
ログアウト
この状態から戻すには
vagrant sandbox rollback
で戻すことができる
確認のため、一度
vagrant ssh
でログインしてみると
先ほど作成した test というファイルがないのが確認できる
ちなみに、このままだと最初の状態に戻るだけなので
変更を保存する
vagrant sandbox commit
で保存できるけど
仮想マシン起動状態だと遅いため
一度
vagrant suspend
などで一時停止しておくとよい
commit すると、仮想マシンの状態が上書きされる
これを利用して
サーバー構築の練習をすると効率的にできる
最初のうちは、かなりの確率で
設定ファイルを消してしまったり
設定を間違えてやりなおしになるので
この機能は重宝する
なお、sandbox の終了は
vagrat sandbox off
だけど
これも仮想マシンを停止してから行わないと
遅くなる
sandbox 終了後
vagrant sandbox status
で状態確認して
[default] Sandbox mode is off
となっていれば停止している

debパッケージのvagrant のplugin 導入

debパッケージのvagrant のplugin 導入
#12 pluginを使ってみよう
http://dotinstall.com/lessons/basic_vagrant/24112
を参考に
vagrant にplugin を導入
vagrant plugin install プラグイン名
でインストールできる
今回は
sahara というプラグインをインストール
プラグイン関係のコマンドについては
vagrant plugin -h
で調べることができる
現在インストールしているプラグインの確認は
vagrant plugin list
で確認できる
プラグインのアンインストールは
vagrant plugin uninstall プラグイン名
となる
sahara をアンインストールするなら
vagrant plugin uninstall sahara
とすればOK
ということ
しかし、私の場合
Ubuntuソフトウェアセンターからいれたためバージョンが古く
vagrant -v
Vagrant version 1.0.1
ということで、
vagrant plugin ではインストールできない
http://girigiribauer.com/archives/1003
によれば
vagrant 1.0 までは gemサブコマンドで入れれたということなので
新しいバージョンの vagrant をインストールする
http://downloads.vagrantup.com/tags/v1.2.7
から
64bit ubuntu のパッケージの
vagrant_1.2.7_x86_64.deb
をダウンロード
ちなみに、
x86_64 は 64bit という意味
.deb はdebパッケージで
主に debian 系で使われる
.rpm だと rpmパッケージで
fedora とか centos でつかう
ダウンロードできたら
cd ダウンロード/
sudo dpkg -i vagrant_1.2.7_x86_64.deb
でインストール
vagrant -v
で確認すると
Vagrant version 1.2.7
となっている
これで、動画どおり、
vagrant plugin
が使えるようになった
dpkg コマンドに関しては
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231209/
が参考になる

vagrant の box 作成

vagrant の box 作成
#11 自分でBoxを作ってみよう
http://dotinstall.com/lessons/basic_vagrant/24111
を参考に
現在の仮想マシンの状態からBoxを作成
さらに
そのbox を元に、新しい仮想マシンを作成してみる
まず、現在稼働している仮想マシンの状態を
そのままbox にする場合
これは
vagrant package
を実行することで行える
このとき、対象の仮想マシンはshutdown されるので注意
処理が完了すると
package.box
ができている
作成した box をリストに追加するには
vagrant box add を実行する
vagrant box add my_box package.box
でリストに追加される
vagrant box add 追加するファイル名 対象のbox
となる
追加されたbox は
~/.vagrant.d/boxes/
にあるので
ls ~/.vagrant.d/boxes/
で確認できる
この httpd をインストールした box で
新しく仮想マシンを立ち上げるには
今までやってきたように
仮想マシンディレクトリを作成して
そこで
Vagrantfile を作成
そして仮想マシンを立ち上げる
cd /media/bdec1869-7820-4557-a76e-a8b130293019/
mkdir myBox
でディレクトリ作成して
cd myBox/
で作成したディレクトリに移動
vagrant init my_box
で vagrantfile 作成
vagrant up
で仮想マシンの立ち上げ
起動したら、
vagrant ssh
でログイン
sudo service httpd status
で確認すると
httpd (pid 4476) is running…
となり、httpd が稼働中であることがわかる
このように、以前作成した状態からの復元が容易になるので
日経Linux をみて新しい機能を追加したり
自宅サーバー構築サイトを元に
サーバー構築するときに活用できる
http://centossrv.com/
とか
http://www.server-world.info/
をみるとサーバー構築の参考になる

vagrant で仮想マシンが立ち上がったときに実行する処理の指定

vagrant で仮想マシンが立ち上がったときに実行する処理の指定
#09 Provisioningを使ってみよう (1)
http://dotinstall.com/lessons/basic_vagrant/24109
を参考に
仮想マシンが立ち上がったあとに実行される処理を
Provisioningで指定
Provisioning は
vagrant up が実行されたときに実行される一連の
処理のこと
前回は、サーバーを構築するときに
最小構成イメージマシンを作って
そこにログインしてコマンドを入力することで
作成していった
今回は、あらかじめ最初に自動でおこなう設定にする
わかりやすいように
新しく仮想マシンを作成する
cd /media/bdec1869-7820-4557-a76e-a8b130293019/
mkdir myCentOSVM2
でディレクトリ作成
ここに vagrantfile を作成する
cd myCentOSVM2/
vagrant init centos64
これで Vagrantfile ができるので編集していく
vim Vagrantfile
provisioningにはツールがあるけど
今回はシェルで設定する
config.vm.provision :shell,
として
命令をそのまま書くには
:inline =>
の後に実行するコードを書く
今回の場合、
config.vm.provision :shell, :inline => “echo hello world”

10行目の
config.vm.box = “centos64”
の下あたりに書き込む
vim で
:set number を実行すると行数がでる
保存したら
vagrant up で仮想マシン立ち上げ
いままでと違うのは
[default] Matching MAC address for NAT networking…
[default] Clearing any previously set forwarded ports…
[default] Forwarding ports…
[default] — 22 => 2222 (adapter 1)
[default] Creating shared folders metadata…
[default] Clearing any previously set network interfaces…
[default] Booting VM…
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Mounting shared folders…
[default] — v-root: /vagrant
[default] Running provisioner: Vagrant::Provisioners::Shell…
hello world
というように、最後に
echo hello world
が実行されているということ
これを使うことで、インストールや設定などを
自動的に仮想マシン作成のときに行えるようになる