Android Studio에서 WebView를 활용한 하이브리드 앱 개발
웹페이지를 Android 앱으로 변환하는 방법을 소개합니다. WebView 컴포넌트를 활용하여 기존 웹사이트를 네이티브 앱처럼 배포할 수 있습니다.
WebView는 Android에서 웹 콘텐츠(HTML, JavaScript, CSS)를 표시하는 UI 컴포넌트입니다.
AndroidManifest.xml 파일에 인터넷 접근 권한을 추가합니다.
<uses-permission android:name="android.permission.INTERNET" />
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://yourwebsite.com");
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
}
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.webViewClient = WebViewClient()
webView.loadUrl("https://yourwebsite.com")
}
override fun onBackPressed() {
if (webView.canGoBack()) {
webView.goBack()
} else {
super.onBackPressed()
}
}
}
| 설정 | 설명 |
|---|---|
setJavaScriptEnabled(true) | JavaScript 실행 허용 |
setWebViewClient() | 링크를 앱 내에서 열기 |
onBackPressed() | 뒤로가기 처리 |
loadUrl() | 웹페이지 로드 |