Manifest.permissionが読み込めない

Android

Android OS 6以上(API 23)から、パーミッション関係のことが厳しくなりました。
従来、インストール時にユーザーが確認すればよかったパーミッションを、アプリ実行時にも確認しなければならなくなりました。

詳しくは、下記の公式ページで。
Requesting Permissions at Run Time

んで、何かと使うマニフェストファイルで許可しているかどうかを下記のように確認しますが

  ContextCompat.checkSelfPermission(this,Manifest.permission.READ_EXTERNAL_STORAGE)

どうしても、Manifest.permission.READ_EXTERNAL_STORAGEが読み込めなかったんです。

下記に解決方法があり、

http://stackoverflow.com/questions/33472723/can-not-find-symbol-manifest-permission-write-external-storage-on-v23

 android.Manifest.permission.READ_EXTERNAL_STORAGE

とやれば、読み込めるようになりました[smile]

Mapbox

Mapboxとは

Mapboxは地図を表示するライブラリで、ベースはOpenStreetMapです。
https://www.mapbox.com/openstreetmap/

FourSquareとかいろんな有名サービスで利用されています。

OpenStreetMapの標準の地図よりきれいです。
とにかくキレイな地図を求めるならMapbox?がよいでしょう。
しかし、ある程度の読み込み数を超えると有料です。(キター)
月に3000回まで無料です。

https://www.mapbox.com/plans/

Mapbox Classic からMapbox Studioへの移行

Javascript

Mapbox Classic(Mapbox Editor)とは、Mapboxで使われていたシンプルなWebのエディターですが、2017年1月末をもって終了ということになりました。
代わりに、高機能なエディター Mapbox Studioに変わります。
Mapbox Classic好きだったんだけど… アデューアデュー 永遠にさようなら…

とりあえず、データの移行です。

①まず、Mapbox Classicへログインします。
https://www.mapbox.com/studio/classic/projects/

②下記のページで、GeoJSONというところをクリックし、Classic内のデータをダウンロートします。
mapbox_classic.png

③①でログインしているときから、実はもうMapbox Studioの中にいます。
左のTilesetsというところをクリックし、下記の画面で、New tilesetというボタンをクリックします。
表示される画面で、Upload Fileを選択し、先程②でダウンロードしたファイルを選択します。
mapbox_tileset.png

Javascriptでランダムに画像を表示する

Webサイト作成 TIPS
Javascript

Webサイト作成時、Javascriptでランダムに違う画像を表示する方法です。
例えば、imageフォルダにある、image1,image2,image3をランダムに表示する場合。
JavascriptがOFFにされている場合を考えて、内へ、OFFの場合の画像(image4)を表示します。


 <script type="text/javascript">
 <!--
 //JavascriptがONがOFFか判定をします。OFFだったら実行しません。
 if (document.images)
 {
 var msg = new Array(); 
 msg[1] = '<IMG SRC="image/image1.png" ALT="">'; 
 msg[2] = '<IMG SRC="image/image2.png" ALT="">'; 
 msg[3] = '<IMG SRC="image/image3.png" ALT="">'; 
 //1から3までの整数が、ランダムにnoになります。(詳細は後述)
 var no=Math.round(Math.random()*3+0.5);
 document.write(msg[no]); 
 }
 //-->
 </script>
 <noscript>
 <img src="image/image4.png" alt="">
 </noscript>

 var no=Math.round(Math.random()*3+0.5);

については、色々なやり方があると思います。ここが参考になります。
http://www.adobe.com/jp/support/flash/ts/documents/fl0173.html

 var no=Math.floor(Math.random()*3+1);

とかでもいいと思います。Math.floorは小数点以下を切捨てします。

JavascriptをFirebugでデバッグする

Javascript
Ajax

FirebugはWebの開発にとても便利なツールです。
Firebugを利用して、Javascriptをデバッグすることができます。
ちょっとくせがあるので、書いておきます。

  • デバッグしたいhtmlをFirefoxで開いておきます。Firebugを立ち上げ、「スクリプト」タブをクリックします。真っ白の場合、左上の「静的スクリプトを表示」とあるところをクリックします。

  • まだ何も表示されない場合は、URLから再読み込みしてください。なぜか更新だと変わらない場合があります。図のように、HTMLが表示されます。
  • 次にブレークポイントを設定します。ブレークポイントの設定は、行数が書かれた左側をクリックするだけです。

  • もう一度読みこむと、ブレークポイントでブレークします。
  • 右上のアイコンを使って、再生、ステップイン、ステップアウトなどしてください。右側のベインに変数が表示されます。