AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<!-- 인터넷 퍼미션 (권한)-->
<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:usesCleartextTraffic="true"
android:supportsRtl="true"
android:theme="@style/Theme.Design.NoActionBar">
<activity
android:name=".WebActivity"
android:exported="false" />
<activity
android:name=".SharedActivity"
android:exported="false" />
<activity
android:name=".NaviActivity"
android:exported="false" />
<activity
android:name=".ListActivity"
android:exported="false" />
<activity
android:name=".SubActivity"
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
WebActivity.kt
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebChromeClient
import android.webkit.WebViewClient
import com.example.myapplication.databinding.ActivityWebBinding
class WebActivity : AppCompatActivity() {
private lateinit var binding: ActivityWebBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityWebBinding.inflate(layoutInflater)
val root = binding.root
setContentView(root)
binding.webView.settings.javaScriptEnabled = true //자바 스크립트 허용
/* 웹 뷰에서는 새 창이 뜨지 않는 구문 거의 필수적인 옵션*/
binding.webView.webViewClient = WebViewClient()
binding.webView.webChromeClient = WebChromeClient()
/* 웹 뷰에서는 새 창이 뜨지 않는 구문*/
binding.webView.loadUrl("https://www.rainymood.com/")
}
override fun onBackPressed() { //백버튼 누를 시 수행할 로직 구현
if (binding.webView.canGoBack())
{//웹사이트에서 뒤로갈 페이지가 존재한다면
binding.webView.goBack() //웹 사이트 뒤로가기
} else {
super.onBackPressed() //본래의 백버튼 기능 수행
}
}
}
activity_web.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".WebActivity">
<WebView
android:id="@+id/web_view"
android:layout_width="409dp"
android:layout_height="729dp"
android:layout_marginTop="1dp"
android:layout_marginBottom="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
'Android(Kotlin)' 카테고리의 다른 글
[Kotlin] ':' 콜론, Context, onCreate() 의 의미 (0) | 2022.02.27 |
---|---|
[Android] drawable 파일 빨간색 글씨 (프로젝트에 존재 하는 경우에도) (0) | 2022.02.26 |
[Android] build.gradle 이란? (0) | 2022.02.24 |
[Android] Shared Preferences DB없이 간단한 문자열 값 앱 내부에 저장하기 (토글 스위치 등등) (0) | 2022.02.24 |
[Kotlin][Android] Navigation View 네비게이션 바 만들기 (0) | 2022.02.24 |