端末暗号化ストレージに保存したpreferenceファイルを見る

Android

Android ダイレクトブートを検知するで書いたんですけど、AndroidN以降から、端末が起動して、ユーザーがロックを外す前は今までアクセスしていたPreferencesファイルにアクセスできません。

今までアクセスしていたPreferencesファイルとは、

 getDefaultSharedPreferences(context);

でアクセスしていたアレです。

なので、ユーザーがロックを外す前にPreferencesファイルから読み書きなどしたい場合は、「端末暗号化ストレージ」に保存しなくてはいけません。
今までアクセスしていたPreferencesファイルは、「認証情報暗号化ストレージ」と呼びます。

さてさて、今まで使っていた「認証情報暗号化ストレージ」は、下記のような場所にあります。
パッケージ名は「com.ukiki」だとします。

 /data/user/0/com.ukiki/shared_prefs/com.ukiki_preferences.xml

「端末暗号化ストレージ」は下記にあります。〇〇〇は任意の名前です。

 /data/user_de/0/com.ukiki/shared_prefs/〇〇〇.xml

具体的に、この「端末暗号化ストレージ」に保存した中身を見たい場合は、下記のようにします。
ADBを使います。

 adb shell run-as com.ukiki
 cd /data/user_de/0/com.ukikit/shared_prefs

ファイル名に自信がないときは、lsで一覧で確認できます。

 ls
 ukiki.xml

権限を変更してから、/sdcardなどにコピーします。

 chmod 777 ukiki.xml
 cp /data/user_de/0/com.ukikit/shared_prefs/ukiki.xml /sdcard

一応、/sdcardにコピーされたか確認します。

 cd /sdcard
 ls
 //あとはファイルの一覧が出てきます。
 exit

さて、後はadbでPCにファイルをコピーします。

 adb pull /sdcard/ukiki.xml G:\test

はぁー。やっと、これでパソコン上で端末暗号化ストレージに保存したpreferencesファイルが見られるようになりました!

ちなみに、私の愛機 Samusung Galaxy SC-02Hでは

 Operation not permitted

となってしまい、この操作はできません(>_<) サムソンではできないらしいです。残念!!! https://stackoverflow.com/questions/37413667/run-as-could-not-set-capabilities-operation-not-permitted

突然、社内LAN上で名前解決できなくなった

Windows トラブル解決

社内LAN内で独自DNSを立てていましたが、ある日突然名前解決ができなくなってしまいました。もう少し調査したところ、Windows XPでは問題がなく、Windows 7/Vistaのみ名前解決ができないようでした。

nslookupで確認すると以下のように既定のサーバーのAddressがIPv6表記になっていました。

 nslookup
 既定のサーバー:  UnKnown
 Address:  2408:90:4121:0:21b:8bff:fec8:59e0

自前のDNSサーバーはIPv6の名前解決に対応していません。
解決策は以下の3通りになると思います。

  • Windows側でIPv6を無効にする
  • DNSサーバーをIPv6に対応させる
  • ローカルネットワークで使用しているサーバーに対して静的ルーティング設定をする

Windows側でIPv6を無効にするのが、一番簡易な解決方法だと思います。
ただ、単純にIPv6を無効にするとかえって後で面倒なことになるかもしれないので、ルーターで静的ルーティング設定をすることにしました。

ルーターはNTT東日本からレンタルしているPR-S300NEを利用しています。

  • まず、DNS設定でLAN側DNSサーバーアドレスのプライマリDNSをLAN内用のIPアドレスを指定します。
  • 次に静的ルーティング設定で、以下のようなエントリを追加します。

 宛先ドメイン名 ローカルネットワークで利用しているドメイン名
 インターフェース LAN側
 ゲートウェイ LAN側ゲートウェイ(192.168.1.1など)

参考URL
http://www.dream-seed.com/weblog/archives/2010/12/10311/

秀丸の起動時のウィンドウ幅を一定にする

Windows 初心者向け

秀丸を起動し、

 メニューの [その他] をクリック
   ↓
 [動作環境] を選択

※動作環境ウインドウが開いたら、
左下にある「上級者向け設定」にチェックを入れる。

   ↓
 「設定の対象」から [ウィンドウ] をクリック
   ↓
 [ウィンドウ] の下の [配置] をクリック
   ↓
 「起動時のウィンドウ配置」
   □最後のウィンドウ配置を覚える
   □位置を指定する  X [ ]文字分  Y [ ]文字分
   □サイズを指定する 幅[ ]文字分 高さ[ ]文字分
  設定したい項目にチェックを入れ、サイズを指定。
  (最後のウィンドウ配置と位置/サイズの指定はどちらか選択)
   ↓
 [OK] をクリック

県名の日本語と英語のリスト

Android

プログラム開発していると、県名のリストが必要な場合、ありますよね。
北から順のリストを書いておきます。

 	北海道
 	青森県
 	岩手県
 	宮城県
 	秋田県
 	山形県
 	福島県
 	茨城県
 	栃木県
 	群馬県
 	埼玉県
 	千葉県
 	東京都
 	神奈川県
 	新潟県
 	富山県
 	石川県
 	福井県
 	山梨県
 	長野県
 	岐阜県
 	静岡県
 	愛知県
 	三重県
 	滋賀県
 	京都府
 	大阪府
 	兵庫県
 	奈良県
 	和歌山県
 	鳥取県
 	島根県
 	岡山県
 	広島県
 	山口県
 	徳島県
 	香川県
 	愛媛県
 	高知県
 	福岡県
 	佐賀県
 	長崎県
 	熊本県
 	大分県
 	宮崎県
 	鹿児島県
 	沖縄県

CSVファイルも下記にリンクでおいておきます。
prefectures.csv

また、英語のリストって意外とないんですよね。
これも書いておきます。

 	hokkaido
 	aomori
 	iwate
 	miyagi
 	akita
 	yamagata
 	fukushima
 	ibaraki
 	tochigi
 	gunma
 	saitama
 	chiba
 	toukyo
 	kanagawa
 	niigata
 	toyama
 	ishikawa
 	fukui
 	yamanashi
 	nagano
 	gifu
 	sizuoka
 	aichi
 	mie
 	shiga
 	kyoto
 	osaka
 	hyogo
 	nara
 	wakayama
 	tottori
 	shimane
 	okayama
 	hiroshima
 	yamaguchi
 	tokushima
 	kagawa
 	ehime
 	kochi
 	fukuoka
 	saga
 	nagasaki
 	kumamoto
 	oita
 	miyazaki
 	kagoshima
 	okinawa

相対パスのルートを可変にする

Webサイト作成 TIPS

相対パスのルートを可変にするHTML タグ base

 <head>
 <base href="URL">
 </head>

というタグがあり、続くHTMLの相対パスを、hrefで指定したURLからにすることができます。

テストディレクトリなどを作り、本番に移行する場合などに利用できそうですね。

 例
 <head>
 <base href="http://onlineconsultant.jp/base_test/">
 </head>
 <img src="test.png">
 

上記の例では、http://onlineconsultant.jp/base_test/test.png を読み込めます。