投稿

10月, 2018の投稿を表示しています

【Android】アプリケーションから権限の取得方法

イメージ
Androidアプリケーションがデバイスの機能へアクセスする場合、利用者に権限を許可してもらう必要があります。 デバイスの機能とは以下のようなものです。 連絡先 位置情報 内部ストレージ カメラ etc ・・・ ここでは連絡先を利用するアプリケーションを作ると想定して、どのように実装するのかをまとめます。 実装 対象権限の追加 AndroidManifest.xml AndroidManifest.xmlに取得したい権限を追加します。 <uses-permission android:name="android.permission.READ_CONTACTS" /> 権限を貰うための処理 MainActivity.java public class MainActivity extends AppCompatActivity { /** * onCreate * @param savedInstanceState */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // このアプリケーションに連絡先にアクセスする権限が許可されているかチェック if (PermissionChecker.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS,}, 0); } else{ ((TextView) findV

Acer Chrome Book を使ってみた感想

イメージ
ミーティング用のノートPCが欲しいと思い Acer Chromebook C730E-N12M を購入しました。 まずはChrome Bookについて簡単に説明します。 外観 特徴 WindowsでもMacでもLinuxでもないGoogle社が開発したChrome OSを搭載 Chromeブラウザで全ての作業を行う 基本的にオンライン前提 最近はChromeブラウザ用のアプリも増えてきているので何でも出来るといっても過言ではないかもしれません。 以下に(あくまで自分が感じた)メリット/デメリットをまとめてみました。 メリット(便利だと思った点) ブラウジングが快適 三本指の左右スライドでタブ移動、二本指の上下スライドでスクロール、ネットサーフィンが捗ります。 ウイルス対策の必要が無い 必要がないと言うと語弊かもしれませんが、Chromeブラウザにあらかじめ組み込まれているセキュリティ対策機能が常に最新にアップデートされます。 ただしChromeウェブストアには入力情報や閲覧履歴を収集するようなスパイウェアと呼ばれるアプリが少なからず存在するようです。 WebストアからGoogle社製以外のアプリをインストールする際は注意しましょう。 起動の早さ、バッテリ駆動時間、堅牢性 これはChrome Bookの特徴であり、多くの方が書かれています。 起動というか落とす必要がないので基本的に開ければすぐに使えます。 バッテリも私の場合は1日使っても1、2時間ぐらいですが1週間ぐらいは持ちます。 堅牢性はこの機種の特徴ですが、非常に丈夫(そう)な作りとなっています。 デメリット(困った点) パスワード付きのエクセル(Office系ドキュメント)が開けない これが今一番困ってます。 おそらくOffice系ドキュメント全般だと思うんですが、現在対応中だそうです。 毎日持ち歩くには少々重い 重量約1.4kgですが最近のノートPCと比べると少々重いです。 これは堅牢製を売りにした機種なのでその対価といえるでしょう。 他のChrome Bookは軽量な機種もたくさんあります。 総評 ★★★★☆ (デメリットの1が解決したなら★5です) コストパフォーマンスを考えると非常に満足し

【Go言語】環境構築・動作確認・並列処理

Go言語は2009年にGoogleより発表されたプログラミング言語です。 シンプルな言語体系によりプログラミングが非常に容易であることが特徴です。多種多様のプログラミング言語があるなか学習コストが抑えられるというのは非常に大きいことだと思います。 また、軽量な動作で強力な処理能力を持ちます。実際に使ってみたんですが、数百のプロセスからなる並列処理を簡単に実装できました。 今回このGo言語を仕事で扱う機会がありましたので、忘れないうちにまとめておこうと思います。 環境構築 インストール先 /usr/local/go インストール手順 $ cd /usr/local $ # もちろんwgetでなくても可 $ # WARNING: certificateが出るなら --no-check-certificate $ wget https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz $ tar xvpf go1.5.1.linux-amd64.tar.gz $ rm go1.5.1.linux-amd64.tar.gz ※バージョンは適時修正 環境変数の設定 $ export GOROOT=/usr/local/go $ export GOPATH=/usr/local/go/.go $ PATH=$PATH:$HOME/bin:${GOROOT}/bin 環境変数の確認 $ go env GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/usr/local/go/.go" GORACE="" GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT=""