Docker の image 操作

Docker の image 操作

Docker Index から docker pull で
image を引っ張ってきて image をいろいろ操作する

URLはhttps://index.docker.io/

ここには色々な image があり
centos と検索すると オフィシャルのcentOS
そしてユーザが作ったいろいろなものがある

探すときに Docker Index のサイトから探さなくても
端末で
sudo docker search で調べることができる

今回なら centos を調べたいので

sudo docker search centos | more

で調べると結果が見れる

では実際に image を取得

sudo docker pull centos

これで取得できる

vagrant の box 取得みたいなかんじ

取得できたか確認するには

sudo docker images

で一覧を表示すればいい

リストの見方は
REPOSITORYZE がimage名

TAGはバージョン

IMAGE IDが image の本体

CREATED は作成した日付

VIRTUAL SIZE は容量

となる

次に image の詳細をみるには

sudo docker inspect

image 指定で詳細をみたいのなら

sudo docker inspect centos:cetos6

というようにTAG を指定する

TAGを省略すると

sudo docker inspect centos:latest

と同じ意味になるので注意

TAGではなく IMAGE ID の指定でもできる

IDの場合、最初の3、4文字でOK

例えば 0b443ba03958
というIMAGE IDなら

sudo docker inspect centos:0b4

となる

次に削除方法

ネットブックとかだと容量が厳しいので
いらなくなったら削除することになる

やりかたは
sudo docker rmi ID名
とする

6.4 は古いのでこれを削除するには

sudo docker rmi 539c

とすればOK

削除後に

sudo docker images

で確認すると消えているが確認できる

rmi は remove image という意味

コンストラクタ

コンストラクタ
public Activity()

メソッド
public void addContentView(View view, ViewGroup.LayoutParams params)
ContentViewをActivityへ追加する
Activity内にすでに存在しているViewの後に追加される
存在しているViewは削除されない

引数のviewは、表示したいContent
paramsは、Viewのためのレイアウトパラメーター

public void closeContextMenu()
ContextMenuが表示されていたら
最近開いたContextMenuをプログラムで閉じる

public pendingIntent createPendingIntent(int requestCode, Intent data, int flags)
onActivityResult(int, int,Intent)コールバックへ結果データを送り返すために役立つインテントを
他のActivityへ渡すことのできる新しいPendingIntentオブジェクトを作成する

引数のrequestCodeは
返された結果データに関連つけられる送信者のprivate requestCode
送信者は、この値を変更することはできない
これほ、受信結果の識別に使われる

dataは、結果から供給されるためのデフォルトデータ
送信者により変更される可能性がある

flagsは、
PendingIntent.FLAG_ONE_SHOT
PendingIntent.FLAG_NO_CREATE
PendingIntent.FLAG_CANCEL_CURRENT
PendingIntent.FLAG_UPDATE_CURRENT
または、実際の送信が発生したとき
供給されるIntentの不特定部分制御のために
Intent.fillIn()によりサポートされているフラグのいずれかになる

戻り値は、与えられたパラメーターに適合した既存、または新しいPendingIntentが返却される

PendingIntent.FLAG_NO_CANCEL_CURRENTのときだけnullを返す

public boolean dispatchGenericMotionEvent(MotionEvent ev)
一般的なMotionEventを処理するため呼び出される
イベントがウインドウにdispatchされる前に
すべての一般的なMotionEventをinterceptするため
これをOverrideできる
一般的なMotionEventを正常に処理するためこの実装を呼び出す

引数のev は一般的なMotionEvent

戻り値は、このイベントを消費するなら
true

public boolean dispatchKeyEvent(KeyEvent event)
keyEventを処理するため呼び出される
イベントがウインドウにdispatchされる前にすべてのkeyEventをinterceptするために、これをOverrideできる
キーイベントを正常に処理するため、この実装を呼び出す

引数のeventは、キーイベント

戻り値は、このイベントを消費するならtrue

public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event)
AccessibilityEventの作成を処理するため呼び出される

引数のeventは、AccessibilityEvent
戻り値は、イベントの作成が完了すればtrue

public boolean dispatchKeyShortcutEvent(KeyEvent event)
ショートカットキーイベントを処理するため呼び出される
イベントがウインドウにdispatchされる前にすべてのショートカットキーイベントをinterceptするために、これをOverrideできる
ショートカットキーイベントを正常に処理するため、この実装を呼び出す

引数のeventは、ショートカットキーイベント

戻り値は、
このイベントを消費するならtrue

public boolean dispatchTouchEvent(MotionEvent ev)
タッチスクリーンイベントの処理に使う
イベントがウインドウにdispatchされる前にすべてのタッチスクリーンイベントをinterceptするために、これをOverrideすることができる
タッチスクリーンイベントを正常に処理するために、この実装を呼び出す

引数のevは、タッチスクリーンイベント

戻り値は、このイベントを消費するならtrue

public boolean dispatchTrackballEvent(MotionEvent ev)
トラックボールイベントを処理するため呼び出す
イベントがウインドウにdispatchされる前に、すべてのトラックボールイベントをinterceptするために、これをOverrideすることができる
トラックボールイベントを正常に処理するため、この実装を呼び出す

引数のevは、トラックボールイベント

戻り値は、このイベントを消費するならtrueを返す

public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args)
Activityの状態を与えられたストリームに出力する
adb shell dumpsys activity


を実行した場合に呼び出される

引数のprefixは、出力の各行に付加する接続詞

fdは、このdumpを出力するためのFileDescriptorオブジェクト

writerは、状態をdumpするためのFPrintWriterオブジェクト
この関数から戻るときに自動的に閉じる

argsは、dumpリクエストへの追加の引数

public View findViewById(int id)
Activityが終了し、閉じるときに呼び出される
onActivityResult()を介して
呼び出し元へActivityResultが渡される

public void finishActivity(int requestCode)
startActivityForResult(Intent intent)で開始された直前のActivityを強制終了

引数のrequestCodeは、startActivityForResult()で与えたActivityのrequestCode
このrequestCodeで開始された複数のActivityがある場合、それらはすべて終了される

public void finishActivityFromChild(Activity child, int requestCode)
子ActivityがfinishActivity()を呼んだときに呼び出される
引数のchildは、呼び出しを行ったActivity
requestCodeは、子Activityを開始するため使用されたrequestCode

public void finishFromChild(Activity child)
子Activityがfinish()を呼んだら呼び出される

引数のchildは、子Activity

public ActionBar getActionBar()
ActivityのActionBarの参照を取得
戻り値は、
ActivityのActionBar
ActionBarがなければnullを返す

public final Application getApplication()
Activityが動作しているApplicationを返す

public ComponentName getCallingActivity()
このActivityを呼び出したActivityの名前を返す
setResult()でデータを送る相手になる

戻り値は、戻り値を取得するActivityのフルネームの文字列
ないならnullになる

public String getCallingPackage()
このActivityを起動したパッケージ名を返す
setResult()でデータを送る相手になる
このデータを受信することを
受信者へ許可することを検証するためにこの情報を使う
呼び出し元のActivityが戻り値を期待していない
つまりrequestCodeを含んだstartActivityForResult(Intent,int)
を使っていないと、呼び出し元のパッケージ名はnullになる

戻り値は、戻り値を取得するActivityのパッケージ名
ないならnullになる

public int getChangingConfigurations()
もし、configuration parameterが変更されたことを処理できず
Activityが破棄されたら、
つまりonConfigurationChanged(Configuration)
が呼び出されないなら
プロセスが破棄されるときに生じる変更のセットを発見するのに使う
ただし、正確じゃないから、最適化のヒントとして使う

戻り値は、変更のあったConfiguration parameterの
Configurationクラスに定義されているbit fieldになる

public ComponentName getComponentName()
Activityの完全なComponentNameを返す

public View getCurrentFocus()
現在のFocus Viewを返すため、ActivityのWindowでgetCurrentFocus()を呼び出す

戻り値は、
現在 Focusを持っているView、またはnull

public FragmentManager getFragmentManager()
Activityに関連付いたFragmentと対話するためのFragmentManagerを返す

public Intent getIntent()
Activityを開始したIntentを返す

public LayoutInflater getLayoutInflater()
Window.getLayoutInflater()の便利メソッド

public LoaderManager getLoaderManager()
必要に応じて作成し、このFragmentのためにLoaderManagerを返す

public String getLocalClassName()
packageNameのプリフィックスを削除したActivityのクラス名を返す
これは、読み込み、書き込み設定に使われるデフォルトの名前

戻り値は、localClassName

public MenuInflater getMenuInflater()
このContextのMenuInflaterを返す

public final Activity getParent()
Viewが子Viewの場合、親になるActivityを返す

public SharedPreferences getPreferences(int mode)
Activityのprivate preference にアクセスするためのSharedPreferencesオブジェクトを取得

引数のmodeは、operation mode
デフォルトは
Context.MODE_PRIVATE
パーミッショ制御するなら
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITABLE
を使う

戻り値は、preferenceの値を参照し
修正できる単一のSharedPreferencesインスタンス

public int getRequestOrientation()
Activityの現在の要求されたorientationを返す

戻り値は、
ActivityInfo.screenOrientation
に使われているorientationの定数

public Object getSystemService(String name)
nameで指定されたSystem Level Serviceのハンドルを返す

引数のnameは、取得したいサービス名

戻り値は、サービス
該当するのがないならnull

public int getTaskId()
Activity内のタスクの識別子を返す
この識別子は、Activityのライフタイムの間同じ値のままとなる

戻り値は、タスクの識別子

public final int getVolumeControlSystem()
ハードウェアボリュームコントロールにより変更されるgetVolumeControlStream()で指定されたオーディオストリームタイプの
ボリュームの値を取得

戻り値は、
ハードウェアボリュームコントロールにより変更された、
指定されたオーディオストリームの値

public Window getWindow()
Activityのcurrent windowを取得
これによりActivity/screenからは直接使用できないWindowAPIが使えるようになる

戻り値は、current window
Activityが見えていないならnull

public WindowManager getWindowManager()
カスタムウインドウを表示するためのWindowManagerを取得

public boolean hasWindowFocus()
もし、ActivityのWindowがWindowFocusを持っているならtrueを返す
View自身がFocusをもっているのとは違うので注意

戻り値は、ActivityのMain WindowがWindowFocusを現在持っているならtrue

public void invalidateOptionsMenu()
オプションメニューが変更されたときの宣言でメニューを再作成する必要がある
メニューを表示する必要があるなら
次に、
onCreateOptionsMenu(Menu)
が呼び出される

public boolean isChangingConfigurations()
新しいconfigurationで再構成するため
Activityが削除処理中か確認する

clean up または onRetainNonConfigurationstance()
を介して、Activityの次のインスタンスへ渡す必要があるか判断するために
onStop()で使われる

戻り値は、
Activityが新しい設定で再構築されるならtrue
そうでないならfalse

public final boolean isChild()
Activityが別のActivityを中に埋め込んでいるか示す

public boolean isFinishing()
Activityでfinish()を呼び出したか、
Activityの終了宣言したかの判定をする
これは、
単純な一時停止か、完全な終了か判断するために
onPause()て使う

戻り値は、Activityが終了中ならtrue
そうでないならfalse

public boolean isTaskRoot()
Activityがタスクのrootか判定
rootはタスクの中の最初のActivityになる

戻り値は、RootActivityならtrue
そうでないならfalse

public boolean moveTaskBack(boolean nonRoot)
Activityを含むタスクをActivityスタックの後ろへ移動
タスク内のActivityの順序は変わらない

引数のnonRootは、Activityがタスクのrootの場合のみ動作させたいなれfalse
タスク内の任意のActivityのために動作させるならtrueにする

戻り値は、タスクが移動された
もしくは、すでに後ろならtrue
それ以外はfalseになる

public void onActionModeFinished(ActionMode mode)
ActionModeが終了したことをActivityへ通知
このメソッドをOverrideしたActivityのサブクラスは
スーパークラスの実装を呼び出さないといけない

戻り値は、終了したばかりのActionMode

public void onAttachFragment(Fragment fragment)
Fragment.onAttach()の呼び出しの直後、
Fragment.onCreate()の前に
ActivityにFragmentがAttachされたときに呼び出される

public void onAttachedToWindow()
Activityに関連したMainWindowが
WindowManagerにAttachされたときに呼び出される

public void onBackPressed()
ユーザーがBackキーを押したことをActivityが検出したときに呼び出される
デフォルトの実装は
現在のActivityの終了
望む動作をするようにOverrideが可能

public void onConfigurationChanged(Configuration newConfig)
Activity実行中にデバイスコンフィグレーションが変更されたときにSystemにより呼び出される

AndroidManifest.xmlの
configChanes属性に記述したコンフィグレーションに限り呼び出される
つまり、この設定をしないと呼び出せない

引数のnewConfigは、新しいデバイスコンフィグレーション

public void onContentChanged()
このフックは、画面のContentViewが変更されるたびに呼び出される
Window.setContentView
または
Window.addContentView
の呼び出しによる

public boolean onContextItemSelected(MenuItem item)
ContentMenuのitemが選択されるたびに
このフックは呼び出される
デフォルト実装では、通常の処理
つまり、MenuItemのRunnableを呼び出すか、
必要に応じてハンドラへメッセージを送信する
これらが行われたら、falseを返す

呼び出されたクラスは、デフォルトメニューのハンドルを実行するたび基底クラスを呼び出す

引数のitemは、選択されたContextMenuItem

戻り値は、ContextMenuの処理続行を許可するならfalse
処理するならtrueを返す

public void onContextMenuClosed(Menu menu)
このフックは、ContextMenuが閉じられようとするたび呼び出される
Back/Menuボタンのユーザー操作によるキャンセル、または
アイテムの選択による

引数のmenuは、閉じられるContextMenu

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuinfo)
ViewのContextMenuが表示されようとしているときに呼び出される
onCreateOptionsMenu(Menu)とは異なり
ContextMenuが表示されるたびに
View または
menuinfo に記載されているAdapterViewサブクラスのView内の項目に
割り当てられるたびに呼び出される

引数のmenuは、構築されるContextMenu
vは、構築されるContextMenuのためのView
menuinfoは、表示されるべきContextMenuのitemについての追加情報を設定
この情報は
v のクラスにより異なる

public CharSequence onCreateDescription()
Activityの新しい説明を生成する
このメソッドは、Activityを一時停止する前に呼び出され
必要に応じてユーザーに表示されるように
いくつかの現在の状態の説明テキストを返すことができる

戻り値は、ユーザーが何をしているかの説明
ほんの数語で短く簡単であること

public boolean onCreateOptionsMenu(Menu menu)
Activityの標準的なオプションメニューの内容を初期化する

初めてオプションメニューが表示されるときに一度だけ呼び出される
メニューが表示されるたび、更新するには
onPrepareOptionsMenu(Menu)を参照

引数のmenuは
アイテムを配置したオプションメニュー

戻り値は、
メニューを表示するにはtrue
falseだと表示されない

public boolean onCreatePanelMenu(int featureId, Menu menu)
ActivityのonCreatePanelMenu(int,Menu)のデフォルト実装

引数のfeatureIdは、作成されているパネル
menuは、パネル内のメニュー

戻り値は、パネルが表示されるたびにtrueを返す
falseなら表示されない

public View onCreatePanelView(int featureId)
ActivityのためのWindow.Callback.onCreatePanelView(int)のデフォルト実装

引数のfeatureIdは、作成されているパネル

戻り値は、パネルに配置するトップレベルのViewが追加される

public boolean onCreateThumbnail(Bitmap bitmap, Canvas canvas)
Activityの新しいサムネイルが作成される

引数のbitmapは、サムネイルを格納しているbitmap

canvasは、bitmapをレンダリングするために使用するCanvas

戻り値は、bitmapを描画しているならtrue
そうでないなら、メソッドから戻った後にデフォルトのサムネイルが描画される

public View onCreateView(View parent, String name, Context context, Attribute attrs)
getSystemService(String)により返されたLayoutInflaterを使い
Viewを拡張するときに使われる
onCreateView(View, String, Context, Attribute)のデフォルト実装

引数のparentは、生成されたViewを配置する親View
nullのときもあるので注意

nameは、拡張されるタグ名

contextは、作成されるViewのcontext

attrsは、XMLファイルで指定されている拡張属性

戻り値は、新しく作成されたViewが返却される
デフォルトではnull

public View onCreateView(String name,Context context, AttributeSet attrs)
getSystemService(String)により返されたLayoutInflaterを使い
Viewを拡張するときに使われる
onCreateView(String, Context, AttributeSet)
のデフォルト実装

引数の nameは、拡張されるタグ名

contextは、作成されるViewのcontext

attrsは、XMLファイルで指定されている拡張属性

戻り値は新しく作成されたView
デフォルトではnull

public void onDetachedFromWindow()
Activityに関連付けられたMainWindowが
WindowManagerから切り離されたときに呼び出される
詳細は
View.onDetachedFromWindow()
を参照

public boolean onGenericMotionEvent(MotionEvent event)
一般的なMotionEventがActivity内部のいずれかのViewで処理されていないときに呼び出される
一般的なMotionEventは
ジョイスティックの動き、
マウスのホバー
トラックバッドのタッチ
スクロールホイールの動きや
他の入力イベントに対して記述する

引数のeventは
処理される一般的なMotionEvent

戻り値は、イベントを消費するならtrue
消費しないならfalse
デフォルト実装では常にfalse

public boolean onKeyDown(int keyCode, KeyEvent event)
キーが押され、Activity内部のViewのいずれも処理されていないときに呼び出される

引数のkeyCodeは、event.getKeyCode()の値
eventは、キーイベントの記述

戻り値は、イベントを先に伝播することを防ぐためtrueを返す
イベントを処理してないなら
伝播され続けるのを防ぐためfalseにする

public boolean onKeyLongPress(int KeyCode, MotionEvent event)
KeyEvent.Callback.onKeyLongPress()のデフォルト実装

引数のkeyCodeは、
event.getKeyCode()の値
eventは、キーイベントの説明

戻り値は、イベントを処理したらtrue
次のイベント受信者で処理したいならfalseにする

public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
KeyEvent.Callback.onKeyMultiple()のデフォルト実装

引数のkeyCodeは、
event.getKeyCode()の値

repeatCountは、
event.getRepeatCount()によって返されるペアの数

eventは、キーイベントの説明

戻り値は、イベントを処理した場合はtrue
次のイベント受信者により処理したいならfalse

public boolean onKeyShortcut(int keyCode, KeyEvent event)
ショートカットキーイベントがActivity内のViewのいずれかで処理されないときに呼び出される

引数のkeyCodeは、event.getKeyCode()の値

eventは、キーイベントの説明

戻り値は、イベントを処理した場合
true

public boolean onKeyUp(int keyCode, KeyEvent event)
キーが離され、Activityの内部Viewのいずれかにより処理されていないときに呼び出される
デフォルト実装では、Activityを停止し
戻るためにKEYCODE_BACKを処理する

引数のkeyCodeは、
event.getKeyCode()の値

eventは、キーイベントの説明

public void onLowMemory()
System全体のメモリ不足のときに呼び出される
積極的に実行しているプロセスに倹約をもとめる

public boolean onMenuItemSelected(int featureId, MenuItem item)
ActivityのonMenuItemSelected(int,MenuItem)
のデフォルト実装

引数のfeatureIdは、メニューが属しているパネル

itemは、選択されたメニューアイテム

戻り値は
選択された項目の処理を終了するならtrue
通常のメニュー処理、
つまり Runnable呼び出しか
target handlerへメッセージ送信するならfalse

public boolean onMenuOpened(int featureId, Menu menu)
パネルメニューがユーザーにより開かれたときに呼び出される

引数のfeatureIdは、メニューが属しているパネル

menuは、開いているメニュー

戻り値は、
デフォルト実装ならtrue

public boolean onOptionsItemSelected(MenuItem item)
オプションメニューのアイテムが選択されるたびにこのフックが呼び出される
呼び出されたクラスは、デフォルトメニューのハンドルを実行するため基底クラスを呼び出す

引数のitemは
選択されているメニューアイテム

戻り値は、通常の処理を続けるならfalse
イベントを消費するならtrue

public void onOptionsMenuClosed(Menu menu)
このフックは、オプションメニューが閉じられようとするたび呼び出される
これは、バックボタンの操作によるキャンセル、またはアイテムが選択されたとき

引数のmenuは、最後に表示された、もしくは
onCreateOptionsMenu()で最初に初期化されたオプションメニュー

public void PanelClosed(int featureId, Menu menu)
Activityのための
Window.onPanelClosed(int, Menu)のデフォルト実装

引数のfeatureIdは、表示されているパネル

menuは、
onCreatePanelView()がnullを返した場合
パネルに表示されているメニュー

public boolean onPrepareOptionsMenu(Menu menu)
表示される画面の標準的なオプションメニューを準備
呼び出されたクラスは常に基底クラスの実装を呼び出す

引数のmenuは、最後に表示された、もしくはonCreateOptionsMenu()により最初に初期化されたオプションメニュー

戻り値は、メニューを表示するならtrue
falseだと表示しない

public boolean onPreparePanel(int featureId, View view, Menu menu)
ActivityのためのonPreparePanel(int, View Menu)のデフォルト実装

引数のfeatureIdは、表示されるパネル
viewは、onCreatePanelView()が返すView
menuは、onCreatePanelView()がnullを返した場合
パネルに表示されているメニュー

戻り値は、パネルが表示されるたびにtrueを返す
falseを返すとメニューは表示されない

public boolean onSearchRequested()
ユーザーが検索開始要求を通知したときに、このフックが呼び出される

戻り値は、検索が起動したらtrue
Activityでブロックしたらfalse

public boolean onTouchEvent(MotionEvent event)
タッチスクリーンのイベントがその下にあるViewのいずれかで処理されていないときに呼び出される

引数のeventは、処理されるタッチスクリーンイベント

戻り値は、イベントを消費するならtrue
そうでないならfalse
デフォルトでは常にfalse

public boolean onTrackballEvent(MotionEvent event)
トラックボールが移動され、Activity内部のViewのいずれかが処理してないなら呼び出される

引数のeventは、処理されるトラックボールイベント

戻り値は、イベントを消費するならtrue
そうでないならfalse
デフォルトは常にfalse

public void onTrimMemory(int level)
OSは、そのプロセスから不要なメモリをトリミング処理するためタイミングと判断したときに呼び出される

引数のlevelは
トリムのContext
動作しているアプリをトリミングする量のヒントを与える
TRIM_MEMORY_COMPLETE
TRIM_MEMORY_MODERATE
TRIM_MEMORY_BACKGROUND
TRIM_MEMORY_UI_HIDDEN
TRIM_MEMORY_RUNNING_CRITICAL
TRIM_MEMORY_RUNNING_LOW
または
TRIM_MEMORY_RUNNING_MODERATE
のどれかになる

public void onUserInteraction()
キー、タッチ、またはトラックボールイベントがActivityにDispatchされるたび呼び出される

public void onWindowAttributesChanged(WindowManager, LayoutParams params)
現在のWindowの値語変更するたび呼び出される

public void onWindowFocusChanged(boolean hasFocus)
Activityの現在のWindowがFocusを得た、または失った場合に呼び出される

引数のhasFocusは、ActivityのWindowがフォーカスを持っているか

public ActionMode onWindowStartingActionMode(ActionMode.Callback callback)
Systemにより要求された動作モードのためUIを制御する機会をActivityへ与える

引数のcallbackは、新しい動作モードを制御するコールバック

戻り値は、新しいアクションモード
もし、この動作モードのために特別な処理をしたくないならnullを返す

public void openContextMenu(View view)
プログラムで特定のViewのContextMenuを開く
Viewは
registerForContextMenu(View)を介して追加される必要がある

引数のviewは、ContextMenuを表示するView

public void openOptionsMenu()
プログラムでオプションメニューを開く
オプションメニューがすでに開いているなら何もしない

public void overridePendingTransition(int enterAnim, int exitAnim)
次に実行する明示的なtransition animationを指定するために
startActivity(Intent)
または、finish()のいずれかの直後に呼び出す

引数のenterAnimは、入ってくるActivityへ使うアニメーションリソースのID
アニメーションなしなら0にする

exitAnimは、出て行くActivityに使うアニメーションリソースのID
アニメーションなしなら0

public void recreate()
Activityを新しいインスタンスで再生成する

public void registerForContextMenu(View view)
指定されたView、つまり複数のViewがContextMenuを表示したときに
表示するContextMenuの登録

引数のviewは、
ContextMenuを表示するView

public final boolean requestWindowFeature(int featureId)
拡張Window機能を有効化する
これほ、getWindow().requestFeature()を呼び出すための便利メソッド

引数のfeatureIdは、
Windowクラスで定義されている目的の機能ID

戻り値は、要求された機能がサポートされていて
現在有効ならtrue

public final void runOnUiThread(Runnable action)
UIスレッド上に指定されたアクションを実行
現在のスレッドがUIスレッドなら
アクションが直ちに実行される
現在のスレッドがUIスレッドでないなら
アクションはUIスレッドのイベントキューへポストされる

引数のactionは、UIスレッド上で実行されるアクション

public void setContentView(int layoutResID)
レイアウトリソースからのActivityの内容を設定
リソースはActivityのすべてのトップレベルのViewを追加してインフレートする

引数のlayoutResIDは、インフレートされるリソースID

public void setContentView(View view)
明示的なViewへActivityの内容を設定

引数のviewは、表示するための望まれたコンテンツ

public void setContentView(View view, ViewGroup.LayoutParams params)
明示的なViewへActivityの内容を設定
このViewは、ActivityのView階層へ直接配置される
これにより
それ自体を複雑なView階層にすることができる

引数のviewは、表示するための望まれたコンテンツ

paramsは、Viewのレイアウトパラメーター

public final void setDefaultKeyMode(int mode)
Activityのデフォルトのキー処理を選択

引数のmodeは、希望するデフォルトのキーモード定数

public final void setFeatureDrawable(int featureId, Drawable drawable)
Window.setFeatureDrawable(int, Drawable)の便利メソッド

public final void setFeatureDrawableAlpha(int featureId, int alpha)
Window.setFeatureDrawableAlpha(int, int)の便利メソッド

public final void setFeatureDrawableResource(int featureId, int resId)
Window.setFeatureDrawableResource(int, int)の便利メソッド

public final void setFeatureDrawableUri(int featureId, Uri uri)
Window.setFeatureDrawableUri(int,Uri)の便利メソッド

public void setFinishOnTouchOutside(boolean finish)
そのWindowの境界の外側に触れたときにActivityが終了するか設定

public void setIntent(Intent newIntent)
getIntent()により返却されたIntentを変更する
これほ、与えられたIntentへの参照を指示するだけでコピーはしない
onNewIntent(Intent)と組み合わせて使う

引数のnewIntentは、getIntent()から返却された新しいIntentオブジェクト

public final void setProgress(int progress)
タイトルにプログレスバーの進行状況を設定
プログレスバーを表示するためには
requestWindowFeature(int)を
あらかじめ呼び出すこと

引数のprogressは、プログレスバーの進行状況
有効範囲は、0~10000
10000を指定すると
プログレスバーは完全に塗りつぶされ、フェードアウトする

public final void setProgressBarIndenterminate(boolean Indenterminate)
タイトルの水平方向の進捗バーが不定
つまり
進捗がなかったり、縦模様かを指定する
円形だと常に不定になる
プログレスバーを表示するために
requestWindowFeature(int)
をあらかじめ呼び出すこと

引数のIndenterminateは、水平方向の進捗バーが不定かどうか

public final void setProgressBarIndenterminateVisibility(boolean visible)
タイトルに表示する不定プログレスバーの可視性の設定
プログレスバーを表示するには
requestWindowFeature(int)をあらかじめ呼び出すこと

引数のvisibleは、タイトルのプログレスバーを表示するか設定

public final void setProgressBarVisibility(boolean visible)
タイトルに表示するプログレスバーの可視性の設定
プログレスバーを表示するには
requestWindowFeature(int)をあらかじめ呼び出すこと

引数のvisibleは、タイトルのプログレスバーを表示するか設定

public void setRequestOrientation(int requestOrientation)
ActivityのOrientationを要求されたときに呼び出される

引数のrequestOrientationは、
ActivityInfo.screenOrientationで使用されるOrientation定数

public final void setResult)(int resultCode)
呼び出し元へ戻ろうとするActivityは、結果の設定のためこれを呼び出す

引数のresultCodeは、元のActivityへ伝播する結果コード
たいていはRESULT_CANCELED
または、RESULT_OK

public final void setResult(int resultCode, Intent data)
Activityが呼び出し元へ戻るとき、結果を設定するため呼び出される

引数のresultCodeは、元のActivityへ伝播する結果コード
たいていは、RESULT_CANCELED
またはRESULT_OK

dataは、元のActivityへ伝播するデータ

public final void setSecondlyProgress(int secondlyProgress)
タイトルへプログレスバーの2つめの進捗状況を設定
プログレスバーを表示するため、resultWindowFeature(int)をあらかじめ呼び出すこと

引数のsecondlyProgressは、プログレスバーの二次進行状況
有効範囲は0~10000

public void setTitle(int titleId)
Activityへ関連付けられたタイトルを変更
トップレベルのActivityならWindowTitleが変更される

引数のtitleIdは、タイトル文字列リソースID

public void setTitle(CharSequence title)
Activityに関連付けられたタイトルを変更
Activityがトップレベルなら
WindowTitleが変更される

引数のtitleは、タイトル文字列

public void setVisible(boolean visible)
Activityのウイドウの可視性の設定

引数のvisibleは、可視ならtrue
そうでないならfalse

public final void setVolumeControlStream(int streamType)
ハードウェアのボリュームコントロールにより変更されるボリュームのオーディオストリームの設定

引数のstreamTypeは、ハードウェアのボリュームコントロールで変更されるボリュームのAudioStream
ただし
ハードウェアのボリュームコントロールは、常にこのstreamの音量を変更することを保証していない

例えば、通話中だと、そのstreamのボリュームではないものが変更される

これをデフォルトへリセットするなら
USE_DEFAULT_STREAM_TYPE
を使う

public ActionMode startActionMode(ActionMode.Callback callback)
アクションモードを開始する

引数のcallbackは
このContextモードのライフサイクルイベントを管理するコールバック

戻り値は、ActionModeが開始したときに
ContextModeが返される
キャンセルされたらnullが返る

public void startActivities(Intent[] intents)
オプション指定なしの
startActivities(Intent[], Bundle)と同じ
与えられたIntentを実行するためのActivityが見つからないと
ActivityNotFoundExceptionをスローする

引数のintentsは、開始するためのIntent

public void startActivity(Intent intent)
オプション指定なしのstartActivities(Intent,Bundle)と同じ
与えられたIntentを実行するためのActivityが見つからないと
ActivityNotFoundExceptionをスローする

public void startActivityForResult(Intent intent, int requestCode)
オプションなしで
startActivityForResult(Intent,int, Bundle)
の呼び出しと同じ

与えられたIntentを実行するためのActivityが見つからないと
ActivityNotFoundExceptionをスローする

引数のIntentは、開始するためのIntent
requestCodeは、0以上なら、Activityが終了する前にonActivityResult()内で返される値

public void startActivityFromChild(Activity child, Intent intent, int requestCode)
オプションなしでstartActivityFromChild(Activity, Intent, int, Bundle)を呼び出すのと同じ

与えられたIntentを実行するためのActivityが見つからないと
ActivityNotFoundExceptionをスローする

引数のchildは、呼び出される子Activity
intentは、開始するためのIntent
requestCodeは、返信するrequestCode
戻り値が要求されてないなら0未満の値

public void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode)
オプションなしでstartActivityFromFragment(Fragment, Intent, int, Bundle)を呼び出すのと同じ

対応するActivityが存在しないと
android.content.ActivityNotFoundExceptionをスローする

引数のfragmentは、呼び出されるFragment
Intentは、開始するためのIntent
requestCodeは、返信するrequestCode
応答が要求されてないなら0未満の値

public boolean startActivityIfNeeded(Intent intent, int requestCode)
オプションなしで startActivityIfNeeded(Intent, int, Bundle)を呼び出すのと同じ

引数のIntentは、開始するためのIntent

requestCodeは、0以上ならActivityが終了するときに
onActivityResult()内で返される値

戻り値は、新しいActivityが起動されたらtrue
そうでないならfalseになり、Intentを自分で制御する必要がある

public void startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
オプションなしでstarIntentSender(IntentSender, Intent, int, int, int, Bundle)を呼び出すのと同じ

IntentSender.SendIntentExceptionをスローする

引数のintentは、起動するためのIntentSender

fillInIntentは、nullでないなら
Intentのパラメーターとして
onActivityResult(Context, int, Intent, IntentSender.OnFinished, Handler)
に提供される

flagsMaskは、変更したいオリジナルのIntentSenderにあるインテントフラグ

flagsValuesは、flagsMaskに設定されている任意のビットの変更したい値

extraFlagsは常に0

public void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
オプションなしでstartIntentSenderForResult(IntentSender, int, Intent, int, int, int, Bundle)
を呼び出すのと同じ

IntentSender.SendIntentExceptionをスローする

引数のIntentは、起動するためのIntentSender

requestCodeは、0以上ならActivityが終了するときにonActivityResult()で返される値

fillInIntentは、nullでないなら、sendIntent(Context,int,Intent,IntentSender.OnFinished,Handler)に提供される

flagsMaskは、変更したいオリジナルIntentSenderのインテントフラグ

flagsValuesは、flagsMaskに設定されている任意のビットの変更したい値

extraFlagsは、常に0

public void startIntentSenderFromChild(Activity child, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
オプションなしでstartIntentSenderFromChild(Activity, IntentSender, int, Intent, int, int, int, Handler)を呼び出すのと同じ

IntentSender.SenderIntentExceptionをスローする

public boolean startNextMatchingActivity(Intent intent)
オプションなしでstartNextMatchingActivity(Intent,Bundle)の呼び出しと同じ

引数のintentは、次のActivityへdispatchするためのIntent
正しい動作にするため、活動開始したIntentと同じであること

変更できるのは、Intent内のExtraになる

戻り値は、開始する別のActivityがあるかどうかを示すプール値

開始する別のActivityがあるならtrue
ないならfalse
trueの時には、その後自分でfinish()の呼び出しが必要になる

Ubuntu で Docker

Ubuntu で Docker

Docker は軽量な仮想環境をつくるツール

OS、アプリを設定したものを実行イメージとして保存できるので
Docker が導入されている別のマシンに
そのままもっていける

Build once run anywhere
と呼ばれ
環境の違いを意識することなく簡単にアプリの導入が可能

公式サイトは
https://www.docker.io/

活発に開発されているため仕様がよく変わる

このため公式サイトをみることが多くなる

必要な知識は Linux 関連と vim

Docker をインストールするマシンは
Vagrant で立ち上げる

今回はUbuntu を vagrant で立ち上げ
Dokcer をインストール
これは
Docker が Ubuntu で開発されているため

とはいっても ノートパソコンの容量に不安があるので
一度容量を確認

vagrant box list

で box のリストを確認

centos64 (virtualbox)
my_box   (virtualbox)

どれくらいの容量をとっているかを ls -lh で確認

drwxrwxr-x 5 snowpool snowpool 4096  8月 22  2013 ./
drwxrwxr-x 7 snowpool snowpool 4096  8月 23  2013 ../
drwxrwxr-x 3 snowpool snowpool 4096  9月  2  2013 centos64/
drwxrwxr-x 3 snowpool snowpool 4096  8月 23  2013 my_box/
drwxrwxr-x 2 snowpool snowpool 4096  3月 13 23:05 precise32/

これだとわからないので
ディレクトリごとの容量を確認

du -h .vagrant.d/boxes/
4.0K	.vagrant.d/boxes/precise32
507M	.vagrant.d/boxes/my_box/virtualbox
507M	.vagrant.d/boxes/my_box
469M	.vagrant.d/boxes/centos64/virtualbox
469M	.vagrant.d/boxes/centos64
976M	.vagrant.d/boxes/

次に Virtualbox で使用している容量も確認

du -h VirtualBox\ VMs/

実行結果は

88K	VirtualBox VMs/myCentOSVM2_1377174909/Logs
1.6G	VirtualBox VMs/myCentOSVM2_1377174909
356K	VirtualBox VMs/chef_lessons_default_1393240352/Logs
1.9G	VirtualBox VMs/chef_lessons_default_1393240352
180K	VirtualBox VMs/myCentOSVM_1377145881/Logs
1.7G	VirtualBox VMs/myCentOSVM_1377145881
324K	VirtualBox VMs/centos/Logs
1.2G	VirtualBox VMs/centos
356K	VirtualBox VMs/localdev_default_1400243110/Logs
4.0G	VirtualBox VMs/localdev_default_1400243110
360K	VirtualBox VMs/localdevelop/Logs
396K	VirtualBox VMs/localdevelop
11G	VirtualBox VMs/

でまだ余裕あり

容量は大丈夫そうなので box を追加する

http://www.vagrantbox.es/
から
Ubuntu 14.04 64bit を取得するので
Official Ubuntu 14.04 daily Cloud Image amd64
のURLをコピペする

vagrant box add trusty64 http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

でbox へ追加
trusty64 は任意の vagrant の名前なので
変更可能

次に Docker ようのディレクトリ作成

mkdir Docker
cd Docker

vagrant init trusty64


VagrantFile を作成

設定を変更するので

vim VagrantFile

26行めの

# config.vm.network :private_network, ip: "192.168.33.10"

の#のコメントをはずし
IPは
192.168.55.44
にする

これで vagrant up で起動

起動したら vagrant ssh でログイン

vagrant@vagrant-ubuntu-trusty-64:~$
となっていれば起動成功

とりあえず仮想マシンで実験して
使い勝手良さそうなら
すでに使っているマシンが Ubuntu なので導入

まずは仮想環境で実験

処理中を示すダイアログボックス表示

処理中を示すダイアログボックス表示

progressDialog

まずは新規プロジェクト作成

名前は ProgressDialog

ダイアログを表示するだけなので
レイアウトファイルとか
AndroidManifest.xml は変更しない

いじるのはMainActivity.java だけ

		ProgressDialog progressDialog;
		int DIALOG_DISPLAY_LENGTH = 3000;

で定数宣言しておく

以下の処理はすべて onCreate() の中へ書く

まず ProgressDialog インスタンス生成

progressDialog = new ProgressDialog(this);

次にプログレスのスタイル設定

progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

これだとぐるぐるまわっている読み込み画面みたいになる
進捗バーで表示したいのなら

ProgressDialog.STYLE_HORIZONTAL

にする

ダイアログでキャンセル可能にするので

progressDialog.setCancelable(true);

ダイアログのタイトルを設定するので

progressDialog.setTitle("タイトル");

次に処理中のメッセージを設定

progressDialog.setMessage("処理中.....");

実際にダイアログを表示するには

progressDialog.show();

表示したあと3秒後にダイアログを消すには

new Handler().postDelayed(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				progressDialog.dismiss();
			}
		},DIALOG_DISPLAY_LENGTH);
progressDialog.dismiss();

はダイアログの削除

Handler() で行う処理を設定

postDelayed() で指定した時間の後実行する処理を書く

引数は
行う処理、時間
となる

new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				progressDialog.dismiss();
			}
		},

が行う処理
つまりダイアログの削除

DIALOG_DISPLAY_LENGTH

は定数
実際にはミリ秒での指定になる

Bindの定数

Bindの定数

public static final int BIND_ABOVE_CLIENT
bindService(Intent, ServiceConnection, int)のためのフラグ
このサービスにバインドするクライアントアプリは
サービスがアプリ自体より重要になる

これを設定すると、保証はされないけど
プラットフォームは、メモリ不足のときに
クライアントがbindしているサービスをkillする前にアプリをkillする

public static final int BIND_ADJUST_WITH_ACTIVITY
bindService(Intent, ServiceConnection, int)
のためのフラグ
Activityからバインドする場合、
Activityがユーザーに表示されているかを基準に
対象となるサービスプロセスの重要性をあげることができる
別のフラグが、クライアントプロセス全体の重要性を減らすために使用されているかに関わらず
重要性に影響を与えるため使われる

public static final int BIND_ALLOW_OOM_MANAGEMENT
bindService(Intent,ServiceConnection,int)
のためのフラグ
通常のメモリ管理を通過するため
bindされたサービスをホストするプロセスに許可する
メモリが少ない場合、システムがプロセスを消すことができたり
長時間実行している場合、
より積極的に削除、再起動される候補にされたりする
実行中サービスのように扱われる

public static final int BIND_AUTO_CREATE
bindService(Intent, ServiceConnection, int)のためのフラグ
bindingが存在する限り自動的にサービス作成
このサービス作成の一方、
明示的にstartService(Intent)を
呼び出すため、
onStartCommand(Intent,int,int)のみ呼び出される
サービスが作成されている間は
自動作成はされず、サービスオブジェクトへのアクセスになる

public static final int BIND_DEBUG_UNBIND
bindService(Intent,ServiceConnection,int)
のためのフラグ
unbindする呼び出しの不一致デバッグに役立つ情報がふくまれる
このフラグが設定されていると
unbindService(ServiceConnection)の呼び出しのコールスタックは保持され
誤ったunbind()
の呼び出しが行われると、印刷される
アプリのライフタイム、リークの発生に関するbind情報を保持する事を要求するので
これほ!デバッグのときだけ使う

public static final int BIND_
IMPORTANT
bindService(Intent,ServiceConnection,int)のためのフラグ
このサービスは、クライアントに対して重要なので、クライアントがbindしている間にフォアグラウンドのプロセスレベルにあげられる

通常、クライアントがフォアグラウンドにある状態でも
プロセスはクライアントにより可視レベルまであげられる

public static final int BIND_NOT_FORGROUND
bindService(Intent,ServiceConnection,int)のためのフラグ
このbindingは、 target service のプロセスをforgroundのscheduling優先順位にあげることができないserviceは、クライアントがkillableでないどのような状況において
プロセスがkillableにならないようにクライアントと同じ
メモリの優先度まであげられる

public static final int BIND_WAIVE_PRIORITY
bindService(Intent,ServiceConnection,int)のためのフラグ
schedulingや対象のserviceのhost process のメモリ管理の優先度に影響を与えない

public static final int CONTEXT_IGNORE_SECURITY
要求されているコンテキストのいかなるセキュリティー制限も無視
常にロードされることを許可する

public static final int CONTEXT_INCLUDE_CODE
createPackageContext(String,int)で使うフラグ
コンテキストへアプリのコードを含ませる

これほ、getClassLoader()がアプリクラスのインスタンス化のために使われるように
呼び出し元プロセスにコードをロードすることを意味する

このフラグを設定すると、アクセス可能なアプリコンテキストにセキュリティー制限をつけれる

要求されたアプリがプロセス内に安全にロードすることができない場合、
SecurityExceptionがスローされる

public static final int CONTEXT_RESTRICTED
createPackageContext(String,int)で使うためのフラグ
制限されたコンテキストの特定の機能を無効化する

public static final int MODE_APPEND
ファイル作成モード
openFileOutput(String,int)で使う
ファイルがすでに存在するなら
消去せずに、既存のファイルの末尾へ書き込む
appendだから末尾

public static final int MODE_ENABLE_WRITE_AHEAD_LOADING
DBオープンフラグ
設定すると、
データベースはデフォルトで先行書き込みが有効な状態で開かれる

public static final int MODE_MULTI_PROCESS
SharedPreference()ロードフラグ
セットすると、このプロセスに
SharedPreferenceのインスタンスが常にロードされていても
ディスク上のファイルが修正チェックされる

public static final int MODE_PRIVATE
ファイル作成モード
デフォルトモードで、作成したファイルは
呼び出したアプリ、または同じユーザーIDを共有するすべてのアプリ
つまりTwitterアカウントみたいなかんじ
でのみアクセス可能

public static final int MODE_WORLD_READABLE
ファイル作成モード
すべてのアプリが作成されたファイルへの読み取りアクセス権限をもつことができる

public static final int MODE_WORLD_WRITABLE
ファイル作成モード
すべてのアプリが作成されたファイルへの書き込みアクセス可能になる

public static final String ACCESSIBILITY_SERVICE
登録済みイベントリスナーを介してUIイベントに対するユーザーのフィードバックを与えるためのAccessibilityManagerを取得するため
getSystemService(String)
で使う

public static final String ACCOUNT_SERVICE
選択時に、インテントを受信するための
AccountManagerを取得するため
getSystemService(String)で使う

public static final String ACTIVITY_SERVICE
グローバルシステム状態と会話するためActivityManagerを取得するために
getSystemService(String)で使う

public static final String ALARM_SERVICE
選択時に、インテントを取得するための
AlarmManagerを取得するため
getSystemService(String)
で使う

public static final String AUDIO_SERVICE
音量の管理と呼び出し音モードと
Audioルーティングの処理をするため
AudioManagerを取得するため
getSystemService(String)で使う

public static final String CLIPBOARD_SERVICE
グローバルクリップボードの内容へアクセスし
変更するためのClipBoardManagerを取得するため
getSystemService(String)で使う

public static final String CONNECTIVITY_SERVICE
ネットワーク接続管理の処理をする
ConnectivityManagerを取得するため
getSystemService(String)で使う

public static final String DEVICE_POLICY_SERVICE
グローバルデバイスポリシー管理を扱うための
DevicePolicyManagerを取得するため
getSystemService(String)で使う

public static final String DOWNLOAD_SERVICE
HTTPダウンロードを要求するための
DownloadManagerを取得するため
getSystemService(String)で使う

public static final String DROPBOX_SERVICE
診断ログを記録するためのDropboxManagerインスタンスを取得するため
getSystemService(String)で使う

public static final String INPUT_METHOD_SERVICE
input methodへアクセスするための
InputMethodManagerを取得するため
getSystemService(String)で使う

public static final String KEYGUARD_SERVICE
キーガードを制御するためのNotificationManagerを取得するため
getSystemService(String)で使う

public static final String LAYOUT_INFRATER_SERVICE
このコンテキストでは、レイアウトリソースをinfrateするためのLayoutInfraterを取得するために
getSystemService(String)で使う

public static final String LOCATION_SERVICE
位置情報の更新制御のための
LocationManagerを取得するため
getSystemService(String)で使う

public static final String MEDIA_ROUTER_SERVICE
mediaのrouterを制御、管理するための
getSystemService(String)で使う

public static final String NFC_SERVICE
NFCを使うためのNfcManagerを使うため
getSystemService(String)で使う

public static final String NOTIFICATION_SERVICE
background Eventをユーザーに知らせるための
NotificationManagerを使うための
getSystemService(String)で使う

public static final String NSD_SERVICE
ネットワークサービス検出管理を処理するための
NsdManagerを使うため
getSystemService(String)で使う

public static final String POWER_SERVICE
長いタスクを実行している間、デバイスを維持するウェイクロックを含む電撃管理のための
PowerManagerを取得するため
getSystemService(String)で使う

public static final String SEARCH_SERVICE
検索処理のためのSearchManagerを取得するため
getSystemService(String)で使う

public static final String SENSOR_SERVICE
センサーにアクセスするための
SensorManagerを取得するため
getSystemService(String)で使う

public static final String STORAGE_SERVICE
SystemStorage機能へアクセスするための
StorageManagerを取得するため
getSystemService(String)で使う

public static final String TELEPHONY_SERVICE
デバイス管理のテレフォニー機能へアクセスするための
TelephonyManagerを取得するため
getSystemService(String)で使う

public static final String TEXT_SERVICES_MANAGER_SERVICE
TextServiceへアクセスするための
TextServicesManagerを取得するため
getSystemService(String)で使う

public static final String UI_MODE_SERVICE
UIモードを制御するための
UIModeManagerを取得するため
getSystemService(String)で使う

public static final String USB_SERVICE
USBデバイスへのアクセスと
USBデバイスとしての動作を管理するUsbManagerを取得するため
getSystemService(String)で使う

public static final String VIBRATOR_SERVICE
振動ハードウエアと対話するためのバイブレータを取得するため
getSystemService(String)で使う

public static final String WALLPAPER_SERVICE
壁紙にアクセスするための
com.android.server.WallpaperServiceを取得するため
getSystemService(String)で使う

public static final String
WIFI_P2P_SERVICE
Wi-Fi P2Pの接続管理をするための
WifiP2pManagerを取得するため
getSystemService(String)で使う

public static final String WIFI_SERVICE
Wi-Fiアクセス管理のためのWifiManagerを取得するため
getSystemService(String)で使う

public static final String WINDOW_SERVICE
システムのウインドウマネージャーにアクセスするための
WindowManagerを取得するため
getSystemService(String)で使う

GW大阪旅行ログ

今回、久々の連休ということで大阪へ旅行へ

名古屋から近鉄を使い、大阪までいてみました

今回は初の大阪ということでバッテリーなども不安なため
モバイルバッテリーを用意

今回は
cheero Power Plus 2 mini 6000mAh (レッド)
を選択
これならスマホの電池切れの心配はいらないし
持っていった
Apple iPod touch 32GB ブルー MD717J/A <第5世代>
も充電できるので、これを選択

2つ持っていくのは電池切れ防止と使えるアプリが違うため
残念なことに乗り換え案内アプリだけだと近鉄の乗り換えがうまくできないため
路線図を見ながら乗り換え

近鉄で名古屋から大阪難波までいくのには
近鉄の週末フリーパスを使用

この紹介は
http://www.kintetsu.co.jp/senden/Railway/Ticket/weekend_free/
に掲載されているので参考に
お値段4100円

この切符はなぜか当日購入ができないため
近畿日本ツーリストグループの主要支店・営業所で事前に購入

全国の場所が
http://tempo.knt.co.jp/area_search.html
で調べれるのでまた違う場所で必要になったら購入予定

今回は観光ということで
あらかじめいく場所を
ぶらっと散歩コース 大阪
でみておいて

大阪 評判のうまい店500軒 2014年版 (SEIBIDO MOOK)
で食べる場所を検索

後は、大阪では市営地下鉄などが名古屋と同じように一日切符がでているので
市営交通が一日乗り放題になる
1日乗車券「エンジョイエコカード」
を購入

こちらは土日なら600円なので4回以上乗るのならもとがとれる
この他のお得切符については
便利なカード乗車券
を参考に

今回、行きは名古屋から急行で伊勢中川までいって
そこから乗り換えて大阪難波までいったけど、かなり時間がかかってしまった
伊勢中川で昼食をとってからだったからというのもあったが
朝10時頃に名古屋をでて到着は15時

さすがに帰りは特急を使うことに
特急は、週末フリーパスに追加料金で特急券がかかるので
行きと帰りの往復だけなら、金券ショップで名阪まる得切符のばら売りを購入のほうが
コストはやすくできる

名阪まる得切符に関しては
不動産好きな旅人、ネットを活用するネオバックパッカーのブログ!さんの
記事で紹介されているので参考に

この切符は扱いがちょっと面倒
窓口にならんで、指定席の手続きがほしいので時間がないときには面倒

手間を省くのであれば

近鉄特急インターネット予約サービス

を使ったほうが楽

これは会員登録が必用だけど年会費がかからないようだし
列車変更が3回まで可能で
チケットレスにすることが可能なので

ケースバイケースで使い分け

今回、新しい発想が得られそうと思っていたけど
やはりいろいろなお得情報とかを位置情報連動でダイアログとか
ノーティフィケーションなどで通知するアプリがあれば便利だと思う

毎回旅行のたびに検索とかガイド購入では手間暇かかるので
これらをつくるのに必用な機能は
位置情報
データベース
通知機能
あたり