01. 환경설정
Webview에 곧바로 loadUrl로 띄울 경우 ERR_CLEARTEXT_NOT_PERMITTED 에러 발생
설정 1. AndroidMenifest 인터넷 접속 권한 추가
<!-- 인터넷 접속 권한 추가 -->
<uses-permission android:name="android.permission.INTERNET" />
설정 2. AndroidMenifest application에 usesCleartextTraffic="true" 설정
https 경로의 경우 접속이 가능하나 http 경로의 경우 접속이 불가능
<application
android:usesCleartextTraffic="true"
...>
02. 레이아웃 세팅
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Web1Activity">
<WebView
android:id="@+id/webview1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
03. 소스코드
<Java>
public class Web1Activity extends AppCompatActivity {
private ActivityWeb1Binding web1Binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
web1Binding = ActivityWeb1Binding.inflate(getLayoutInflater());
setContentView(web1Binding.getRoot());
// 웹뷰 안에서 자바스크립스 실행 허용
web1Binding.webview1.getSettings().setJavaScriptEnabled(true);
// 현재 화면(액티비티)에 출력되도록 설정 :: 이 코드가 없으면 웹브라우저 호출됨
web1Binding.webview1.setWebViewClient(new WebViewClient());
// 웹뷰에서 해당 url 로드
web1Binding.webview1.loadUrl("http://m.nate.com");
}
}
<Kotlin>
class Web1Activity : AppCompatActivity() {
private var web1Binding: ActivityWeb1Binding? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
web1Binding = ActivityWeb1Binding.inflate(layoutInflater)
setContentView(web1Binding!!.root)
// 웹뷰 안에서 자바스크립스 실행 허용
web1Binding.webview1.settings.javaScriptEnabled = true
// 현재 화면(액티비티)에 출력되도록 설정 :: 이 코드가 없으면 웹브라우저 호출됨
web1Binding.webview1.webViewClient = WebViewClient()
// 웹뷰에서 해당 url 로드
web1Binding.webview1.loadUrl("http://m.nate.com")
}
}
04. 실행화면
'Android > UI-UX 디자인' 카테고리의 다른 글
[Android/Layout]xml에서 tools 란? (0) | 2023.02.25 |
---|---|
[Android/Layout]RecyclerView 내에서 View Binding 사용하기 (0) | 2021.09.26 |
[Android/Layout]리사이클러뷰 내 Swipe 기능으로 리스트 새로고침 (0) | 2021.05.16 |
[Android/Basic]설정화면 구현하기 (0) | 2021.05.12 |
[Android/Layout]DB 데이터를 Fragment 내 RecyclerView에 뿌리기(MS-SQL) (0) | 2021.05.08 |