Android内部ストレージのファイルを別アプリで開かせるためのFileProvider

Androidアプリで適当な内部ストレージのディレクトリに出力ファイルなどを保存したとする。そのファイルをインテント飛ばして適当なアプリで開かせる場合の最小限のコードを紹介、まとめ。

具体的にはFileProviderというContentProviderの枠組みのひとつを使ってファイル共有という形でファイルを別アプリに渡す。

ここでいう内部ストレージはユーザとして使う時の内部ストレージで、リファレンスなどではExternal Storageといわれているもの。Internal Storageの...

/

AndroidのこれまでのSupport Libraryと新しいAndroidXは共存できません

ある日Android StudioでGradle Syncしたら次のようなエラーに出くわした。

Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.suppo...
/

JScriptのオブジェクト

全てのオブジェクトはプロパティとメソッドを持つことができます。このあたりは他のオブジェクト指向言語と同じです。プロパティではなくメンバ変数とか呼ぶものもありますが同じです。

JScriptではオブジェクトに拡張プロパティを追加することが出来ます。JScriptの組み込みオブジェクトであるObjectに拡張プロパティを追加してアクセスする例を示します。

var object = new Object();
object.id = 100;
object.name = "string1";
object['another property'] = tr...
/

JScriptとは?

Microsoftが提供するスクリプト言語で、ECMAScriptというくくりの一種。同じくくりに有名なJavascriptがあって言語仕様としてはほぼ互換性があるらしい。言語仕様以外の部分はそれぞれ実行されるシチュエーションが変わってくるので多分違うだろう。

Microsoft製なのでWindowsならば特に何もしなくても拡張子.jsのテキストファイルをダブルクリックすることで動かせる。逆に言えば、Windowsで特に何もせず.jsテキストファイル作ってダブルクリックして動いているのはJavascriptではなくJScript。Javascript動かすならNo...

概要

地球上での位置を「正確に」記述するには緯度と経度だけでは十分でない。理由は地球の楕円体をどのように取るかによって同じ緯度・経度でも別の位置を示してしまうことがあるから。自転とか公転を無視して地球の中心を原点とするローカル座標を考えてみるとわかる。

さらに、緯度と経度で地球上の点を示す方法は、狭い範囲の地図においては決して効率の良い方法ではない。例えば市街地の地図の中のある点を緯度経度で表してもぱっと見て距離がわかりにくいし度数法は小数点とか分、秒とかいろいろ書き方があってめんどくさい。なので普通はそういう場合にはいろんな方法で楕円体を平面に投影してその中での直角座標(いわゆる数学とかで出てくる2次元グラフ)で表す。

GIS(Geographic Information System)などで地図を取り扱う場合にはこういうもろもろの方式を座標参照系(Coordinate Reference System:CRS)として設定できる。