Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Android 앱에서 인터넷 접근을 위해 필요한 권한 설정 방법

Android 앱 인터넷 권한이란?

Android 애플리케이션에서 인터넷에 접근하려면 android.permission.INTERNET 권한이 반드시 필요합니다. 이 권한은 매니페스트 파일(AndroidManifest.xml)에 아래와 같이 선언합니다.

<uses-permission android:name="android.permission.INTERNET"/>

이 예제에서는 인터넷 권한을 사용하여 Android 앱에서 Google 웹사이트를 여는 방법을 단계별로 살펴보겠습니다.

1단계: 새 프로젝트 생성

Android Studio를 실행하고 File → New Project 메뉴로 이동한 후, 새 프로젝트 생성에 필요한 모든 세부 정보를 입력하여 프로젝트를 만듭니다.

2단계: 레이아웃 파일 작성

res/layout/activity_main.xml 파일에 아래 코드를 추가합니다. 웹 콘텐츠를 표시하기 위해 WebView 위젯을 배치합니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="2dp"
    tools:context=".MainActivity">
    <WebView
        android:id="@+id/webView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </WebView>
</RelativeLayout>

3단계: MainActivity 코드 작성

src/MainActivity.java 파일에 아래 코드를 추가합니다. WebView 객체를 초기화하고 Google 홈페이지 URL을 로드합니다.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = findViewById(R.id.webView);
        webView.loadUrl("https://www.google.com");
    }
}

4단계: 매니페스트에 인터넷 권한 추가

AndroidManifest.xml 파일에 아래와 같이 인터넷 권한을 선언합니다. 이 단계가 빠지면 앱이 네트워크에 접근할 수 없어 WebView가 페이지를 로드하지 못합니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

애플리케이션 실행

이제 애플리케이션을 실행해 보겠습니다. 실제 Android 기기를 컴퓨터에 연결했다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고 툴바의 Run 아이콘을 클릭하세요. 옵션 목록에서 사용 중인 모바일 기기를 선택하면, 해당 기기에 아래와 같은 화면이 표시됩니다.

Android 앱에서 인터넷 접근을 위해 필요한 권한 설정 방법

정리

Android 앱에서 인터넷에 접근하는 핵심은 AndroidManifest.xmluses-permission 형태로 INTERNET 권한을 선언하는 것입니다. 참고로 HTTP(암호화되지 않은) 주소를 로드하려면 Android 9(API 28) 이상에서는 android:usesCleartextTraffic="true" 속성을 application 태그에 추가해야 할 수 있습니다.