つくねの手帳

C++およびAndroidアプリ開発メインで何か書きたい

androidアプリのお勉強1 WebApiを使った天気予報アプリを目指して

Android Studioを使用して、Androidアプリ作成勉強を兼ねて、WebApiを使った天気予報アプリを作りたいなと思います。

WebApiを使用するには、当然インターネットアクセスが不可欠です。
そこで、アプリからandroidOSへインターネットアクセス許可をもらう必要があります。
そのために必要な設定を指定する必要があります。それがパーミッションです。
今回は、そのパーミッションについて少し書こうかと思います。



先ずは、プロジェクトを作成し、Web Apiを使うためにパーミッションを追加します。
Project>app>src>main>AndroidManifest.xmlに以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="プロジェクト名">

<!-- これを追加 -->
    <uses-permission android:name="android.permission.INTERNET"/>

今回はWebApiを使うためのパーミッションなので、インターネットアクセスを許可するINTERNETを指定しましたが、このほかにも色々なパーミッションが存在します。

・READ_CONTACTS
 ユーザーのアドレス帳データの読出し

・WRITE_CONTACTS
 ユーザーのアドレス帳データ書き込み

・RECEIVE_SMS
 SMS受信の監視

ACCESS_COARSE_LOCATION
 携帯中継局、WiFiなどのロケーションプロバイダを使用する。

ACCESS_FINE_LOCATION
 GPS情報など精度の高いロケーションプロバイダを使用する。

・READ_CALWNDAR
 カレンダー情報の読出し

・WRITE_CALENDAR
 カレンダーへの書き込み、メール送信の機能も使用できる。

このほかにもかなりたくさんのパーミッションがあります。
利用したい機能に合わせて指定を増やす必要があります。


また、Android6.0からは、各パーミッションについてユーザーがインストール時に利用可否を個別に指定できるようになりました。

Android6.0未満の場合は、アプリにパーミッションを与える→インストールで、与えたパーミッションの全てが許可されていましたが、Android6.0からはユーザーが選べるのです。
そのため、許可されなかったパーミッションに対して、その機能が使えない可能性を考慮してロジックを組む必要があります。

パーミッションが使用できるかはcheckSelfPermission関数で確認できます。
さらに、requestPermissions関数でユーザーに許可を求めることもできます。