自前アプリから、設定アプリを開く

iPhone

アプリを開発していて、ユーザーに「機内モードのON・OFF」や「Wifiの設定」などを強制的に行わせるために、設定アプリ(iPhone純正アプリ)を開かせたい場合があるかと思います。
ネットにつながってないと機能しないアプリなどでは、特に必要になるかと。

しかし、結論から言いますと、iOS5.1から設定アプリを開くことができなくなりました。

以前までは、以下のようなコードが使えたようです。

 UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://";

背景が動画で全画面のページの作り方

Webサイト作成 TIPS

背景が動画で全画面のページの作り方 サンプルコード

最近ちらほら見かけますね。背景が動画で、モニターの全部に広がっているやつです。

例)
http://www.theqcamera.com/

今年はこれがはやるのでは、と言われています。

ちょいちょいいろんなサイトを拝見しながら、私なりにわかりやすいサンプルコードを作りましたので、載せておきます。

Firefox, Chrome, IE11で大丈夫です。

 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>背景が動画で全画面のサンプルサイト</title>
 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <link href='http://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
 <link href='http://fonts.googleapis.com/css?family=Oxygen' rel='stylesheet' type='text/css'>
 <style>
 div.dotpattern {
 	width:100%;
 	height:100%;
 	background-image:url(images/dot.gif);
 	position:fixed;
 	top:0;
 	left:0;
 	z-index:2;
 }
 video#sample-video {
 	position:absolute;
 	left: 0;
 	top: 0;
 	z-index:1;
 }
 .message {
 	position:absolute;
 	left:200px;
 	top:100px;
 	color:white;
 	z-index:3;
 	font-size:72px;
 	font-family: 'Oxygen', sans-serif;
 	font-weight:bold;
 }
 .message_small {
 	position:absolute;
 	left:200px;
 	top:200px;
 	color:white;
 	z-index:3;
 	font-size:14px;
 	font-family: 'Oxygen', sans-serif;
 }
 </style>
 <script>
 $(function(){
 
  var h = screen.height * 1.1;
 
  $("video#sample-video").attr("height", h);
 
  });
 </script>
 </head>
 <body>
 <div class="dotpattern"></div>
 <video id="sample-video" autoplay>
   <source src='sea.ogv' type='video/ogg; codecs="theora, vorbis"'>
   <source src='sea.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
   <p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
 </video>
 <div class="message"> Nice sea shore! </div>
 <div class="message_small"> They are very funny and dangerous guys.<br />
  So one of them is buried.<br />
 </div>
 </body>
 </html>

実物のページはこちら。
もっとましなサンプル動画はなかったのか!というつっこみもありそうですね。。。
http://onlineconsultant.tv/test/movie_bg_test/

ちなみに、私がはまったポイントは、HTMLでもCSSでもなかったです。

動画の上下に黒い帯が入ってしまっていたんですが、Any Video Converter Ultimateというソフトでmp4やoggの形式にコンバートする時に、縦横比がおかしかったので、その分黒い帯が入ってしまっていたんですね。

等幅フォント

html 数字などの桁や文字幅を揃える

等幅フォントとは

すべての文字の幅を一定に揃えたフォント。固定幅フォントとも呼ばれる。半角の英数字などは、漢字やひらがなの半分の幅で表示される。
たとえば、

 MSゴシック
 MS明朝
 Monospace

がある。

逆に、等幅フォントでないものは、プロポーショナルフォントという。

MSゴシックとMS P ゴシックの違いがここにある。
MSゴシックは等幅フォントで、MS P ゴシックはプロポーショナルフォントである。

一般的に、等幅フォントのほうが見た目があまりよくない。

端末暗号化ストレージに保存した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