Kalian kerap membaca postingan pada suatu aplikasi android apk?.. bila betul.. dapat jadi itu cumalah informasi dari web yang diperlihatkan kedalam aplikasi itu. Istilahnya ialah WebView. Cara Membuat Webview Di Android Studio dengan Mudah. Dalam WebView kalian cuma menginginkan suatu link mengarah laman sesuatu web buat setelah itu dibuka dengan memakai aplikasi pada ponsel pintar.
Webview hendak nampak baik apabila design web atau web kalian telah mensupport fitur responsive, maksudnya mensupport bentuk multi device. Cara Membuat Webview Di Android Studio dengan Mudah. Dari pada penasaran mendingan kita langsung untuk saja memakai android sanggar tipe terkini, dalam postingan ini memakai tipe android sanggar 3. 5. 1
Tahap awal untuk terlebih dulu project androidnya serta kasih julukan dengan webviewsaya.
oiya disini aku memakai Empty Activity
Klik next buat meneruskan, buat Name ialah Webviewsaya
package name: com. paketsaya. webviewsaya serta penjulukan paket ini tergantung kalian yang berarti dimulai dengan com. serta setelah itu julukan industri ataupun pengembang terkini terakhir merupakan julukan aplikasinya, itu sih bentuk penjulukan paketnya dengan cara bawah.
Janganlah kurang ingat seleksi Language dengan Kotlin serta Minimal API tingkat 14. Klik Finish. serta berakhir membuat projectnya, biasa bukan.
Yakinkan pc kalian terkoneksi internet, sebab android sanggar hendak mendownload sebagian keterbatasan bonus yang di benamkan dalam project kalian.
Tahap berikutnya Pada MainActivity. kt ketikkan isyarat selanjutnya ini:
package com. initekno. inputnilaitfmt1 atau atau paket ini berdeda dari tiap project yang kalian buat
atau atau sebab paket ini jadi bukti diri esok kala aplikasi
atau atau di upload ke playstore
import androidx. appcompat. app. AppCompatActivity
import android. os. Bundle
import android. webkit. WebView
import android. graphics. Bitmap
import android. os. Build
import android. view. View
import android. webkit. WebSettings
import android. webkit. WebViewClient
import kotlinx. android. synthetic. bermain. activity_main.*
class MainActivity: AppCompatActivity()
private val url=” http: atau atau namaurlwebsitekamu atau namapage”
override senang onCreate( savedInstanceState: Bundle?)
luar biasa. onCreate( savedInstanceState)
setContentView( R. layout. activity_main)
atau atau pengaturan webview
val settings= webview. settings;
atau atau mengaktifkan fitur javascript dalam webview
settings. javaScriptEnabled= true
atau atau mengaktifkan fitur cache
settings. setAppCacheEnabled( true)
settings. cacheMode= WebSettings. LOAD_DEFAULT
settings. setAppCachePath( cacheDir. path)
atau atau mengaktifkan fitur zoom in serta zoom out
settings. setSupportZoom( true)
settings. builtInZoomControls= true
settings. displayZoomControls= true
atau atau pengaturan lukisan dalam webview, ingin di aktifin ataupun tidaknya
settings. blockNetworkImage= false
atau atau meload lukisan dengan cara otomatis
settings. loadsImagesAutomatically= true
atau atau pengaturan lain buat webview
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. O)
settings. safeBrowsingEnabled= true
atau atau api 26
atau atau atur pluginstate
settings. useWideViewPort= true
settings. loadWithOverviewMode= true
settings. javaScriptCanOpenWindowsAutomatically= true
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. JELLY_BEAN_MR1)
settings. mediaPlaybackRequiresUserGesture= false
settings. domStorageEnabled= true
settings. setSupportMultipleWindows( true)
settings. loadWithOverviewMode= true
settings. allowContentAccess= true
settings. setGeolocationEnabled( true)
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. JELLY_BEAN)
settings. allowUniversalAccessFromFileURLs= true
settings. allowFileAccess= true
webview. fitsSystemWindows= true
webview. setLayerType( View. LAYER_TYPE_HARDWARE, null)
webview. loadUrl( url)
webview. webViewClient= object: WebViewClient()
override senang onPageStarted( view: WebView, url: String, favicon: Bitmap?)
override senang onPageFinished( view: WebView, url: String)
override senang onBackPressed()
if( webview. canGoBack())
webview. goBack()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com. initekno. inputnilaitfmt1 atau atau paket ini berdeda dari tiap project yang kalian buat
atau atau sebab paket ini jadi bukti diri esok kala aplikasi
atau atau di upload ke playstore
import androidx. appcompat. app. AppCompatActivity
import android. os. Bundle
import android. webkit. WebView
import android. graphics. Bitmap
import android. os. Build
import android. view. View
import android. webkit. WebSettings
import android. webkit. WebViewClient
import kotlinx. android. synthetic. bermain. activity_main.*
class MainActivity: AppCompatActivity()
private val url=” http: atau atau namaurlwebsitekamu atau namapage”
override senang onCreate( savedInstanceState: Bundle?)
luar biasa. onCreate( savedInstanceState)
setContentView( R. layout. activity_main)
atau atau pengaturan webview
val settings= webview. settings;
atau atau mengaktifkan fitur javascript dalam webview
settings. javaScriptEnabled= true
atau atau mengaktifkan fitur cache
settings. setAppCacheEnabled( true)
settings. cacheMode= WebSettings. LOAD_DEFAULT
settings. setAppCachePath( cacheDir. path)
atau atau mengaktifkan fitur zoom in serta zoom out
settings. setSupportZoom( true)
settings. builtInZoomControls= true
settings. displayZoomControls= true
atau atau pengaturan lukisan dalam webview, ingin di aktifin ataupun tidaknya
settings. blockNetworkImage= false
atau atau meload lukisan dengan cara otomatis
settings. loadsImagesAutomatically= true
atau atau pengaturan lain buat webview
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. O)
settings. safeBrowsingEnabled= true
atau atau api 26
atau atau atur pluginstate
settings. useWideViewPort= true
settings. loadWithOverviewMode= true
settings. javaScriptCanOpenWindowsAutomatically= true
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. JELLY_BEAN_MR1)
settings. mediaPlaybackRequiresUserGesture= false
settings. domStorageEnabled= true
settings. setSupportMultipleWindows( true)
settings. loadWithOverviewMode= true
settings. allowContentAccess= true
settings. setGeolocationEnabled( true)
if( Build. VERSION. SDK_INT
=Build. VERSION_CODES. JELLY_BEAN)
settings. allowUniversalAccessFromFileURLs= true
settings. allowFileAccess= true
webview. fitsSystemWindows= true
webview. setLayerType( View. LAYER_TYPE_HARDWARE, null)
webview. loadUrl( url)
webview. webViewClient= object: WebViewClient()
override senang onPageStarted( view: WebView, url: String, favicon: Bitmap?)
override senang onPageFinished( view: WebView, url: String)
override senang onBackPressed()
if( webview. canGoBack())
webview. goBack()
Buat isyarat ini silahkan diisi dengan URL web kamu
private val url=” http: atau atau namaurlwebsitekamu atau namapage”
1
private val url=” http: atau atau namaurlwebsitekamu atau namapage”
Pada Direktori res atau layout atau activity_main. xml. tambahkan isyarat semacam selanjutnya ini:
<? xml version=” 1. 0″ encoding=” utf- 8″?
<androidx. constraintlayout. widget. ConstraintLayout xmlns: android=” http: atau atau schemas. android. com atau apk atau res atau android”
xmlns: app=” http: atau atau schemas. android. com atau apk atau res- auto”
xmlns: tools=” http: atau atau schemas. android. com atau tools”
android: layout_width=” match_parent”
android: layout_height=” match_parent”
tools: context=”. MainActivity”
<WebView
android: id=”@+id atau webview”
android: layout_width=” match_parent”
android: layout_height=” match_parent”
android: layout_marginBottom=” 8dp”
android: layout_marginEnd=” 8dp”
android: layout_marginStart=” 8dp”
android: layout_marginTop=” 8dp”
app: layout_constraintBottom_toBottomOf=” parent”
app: layout_constraintEnd_toEndOf=” parent”
app: layout_constraintStart_toStartOf=” parent”
app: layout_constraintTop_toTopOf=” parent” atau
< atau androidx. constraintlayout. widget. ConstraintLayout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<? xml version=” 1. 0″ encoding=” utf- 8″?
<androidx. constraintlayout. widget. ConstraintLayout xmlns: android=” http: atau atau schemas. android. com atau apk atau res atau android”
xmlns: app=” http: atau atau schemas. android. com atau apk atau res- auto”
xmlns: tools=” http: atau atau schemas. android. com atau tools”
android: layout_width=” match_parent”
android: layout_height=” match_parent”
tools: context=”. MainActivity”
<WebView
android: id=”@+id atau webview”
android: layout_width=” match_parent”
android: layout_height=” match_parent”
android: layout_marginBottom=” 8dp”
android: layout_marginEnd=” 8dp”
android: layout_marginStart=” 8dp”
android: layout_marginTop=” 8dp”
app: layout_constraintBottom_toBottomOf=” parent”
app: layout_constraintEnd_toEndOf=” parent”
app: layout_constraintStart_toStartOf=” parent”
app: layout_constraintTop_toTopOf=” parent” atau
< atau androidx. constraintlayout. widget. ConstraintLayout
Ganti seperangkat AndroidManifast. xml kalian pada direktori manifests ganti jadi semacam selanjutnya ini:
seperangkat ini mencakup users permission internet serta access jaringan state
<? xml version=” 1. 0″ encoding=” utf- 8″?
<manifest xmlns: android=” http: atau atau schemas. android. com atau apk atau res atau android”
package=” com. initekno. inputnilaitfmt1″
<uses- permission android: name=” android. permission. INTERNET” atau
<uses- permission android: name=” android. permission. ACCESS_NETWORK_STATE” atau
<application
android: networkSecurityConfig=”@xml atau network_security_config”
android: allowBackup=” true”
android: icon=”@mipmap atau icon_android”
android: label=”@string atau app_name”
android: roundIcon=”@mipmap atau icon_android_round”
android: supportsRtl=” true”
android: theme=”@style atau AppTheme”
<activity android: name=”. MainActivity”
<intent- filter
<action android: name=” android. intent. action. Bermain” atau
<category android: name=” android. intent. category. LAUNCHER” atau
< atau intent- filter
< atau activity
< atau application
< atau manifest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<? xml version=” 1. 0″ encoding=” utf- 8″?
<manifest xmlns: android=” http: atau atau schemas. android. com atau apk atau res atau android”
package=” com. initekno. inputnilaitfmt1″
<uses- permission android: name=” android. permission. INTERNET” atau
<uses- permission android: name=” android. permission. ACCESS_NETWORK_STATE” atau
<application
android: networkSecurityConfig=”@xml atau network_security_config”
android: allowBackup=” true”
android: icon=”@mipmap atau icon_android”
android: label=”@string atau app_name”
android: roundIcon=”@mipmap atau icon_android_round”
android: supportsRtl=” true”
android: theme=”@style atau AppTheme”
<activity android: name=”. MainActivity”
<intent- filter
<action android: name=” android. intent. action. Bermain” atau
<category android: name=” android. intent. category. LAUNCHER” atau
< atau intent- filter
< atau activity
< atau application
< atau manifest
Tambahkan berkas terkini pada direktori res serta kasih julukan xml. Untuk serta simpan file xml kalian dengan julukan network_security_config. xml simpan pada direktori res atau xml
catat kodenya semacam selanjutnya ini:
<? xml version=” 1. 0″ encoding=” utf- 8″?
<network- security- config
<base- config cleartextTrafficPermitted=” true”
<trust- anchors
<certificates src=” system” atau
< atau trust- anchors
< atau base- config
< atau network- security- config
1
2
3
4
5
6
7
8
<? xml version=” 1. 0″ encoding=” utf- 8″?
<network- security- config
<base- config cleartextTrafficPermitted=” true”
<trust- anchors
<certificates src=” system” atau
< atau trust- anchors
< atau base- config
< atau network- security- config
Dan…ya, profesi kita nyaris berakhir. saat ini coba cermati kalau xml network_security_config. xml hendak di load kedalam android AndroidManifest. xml kita alhasil webview kita bisa mengakses seluruh konten yang terdapat di web kita.
android: networkSecurityConfig=”@xml atau network_security_config”
1
android: networkSecurityConfig=”@xml atau network_security_config”
Sedikit bonus, siapa ketahui dapat jadi data berarti. Buat seperangkat build. gradle( Module: app) aku semacam ini, silahkan disamakan bila terdapat yang beda. Setelah itu buat seperangkat build. gradle( Project) perkenankan saja default
apply plugin: com. android. application
apply plugin: kotlin- android
apply plugin: kotlin- android- extensions
android
compileSdkVersion 28
buildToolsVersion” 29. 0. 2″
defaultConfig
applicationId” com. initekno. inputnilaitfmt1″
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName” 1. 0″
testInstrumentationRunner” androidx. test. runner. AndroidJUnitRunner”
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile( proguard- android- optimize. txt), proguard- rules. pro
dependencies
implementation fileTree( dir: libs, include:[*. jar])
implementation” org. jetbrains. kotlin: kotlin- stdlib- jdk7:$kotlin_version”
implementation androidx. appcompat: appcompat: 1. 0. 2
implementation androidx. core: core- ktx: 1. 0. 2
implementation androidx. constraintlayout: constraintlayout: 1. 1. 3
testImplementation junit: junit: 4. 12
androidTestImplementation androidx. test: runner: 1. 1. 1
androidTestImplementation androidx. test. espresso: espresso- core: 3. 1. 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
apply plugin: com. android. application
apply plugin: kotlin- android
apply plugin: kotlin- android- extensions
android
compileSdkVersion 28
buildToolsVersion” 29. 0. 2″
defaultConfig
applicationId” com. initekno. inputnilaitfmt1″
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName” 1. 0″
testInstrumentationRunner” androidx. test. runner. AndroidJUnitRunner”
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile( proguard- android- optimize. txt), proguard- rules. pro
dependencies
implementation fileTree( dir: libs, include:[*. jar])
implementation” org. jetbrains. kotlin: kotlin- stdlib- jdk7:$kotlin_version”
implementation androidx. appcompat: appcompat: 1. 0. 2
implementation androidx. core: core- ktx: 1. 0. 2
implementation androidx. constraintlayout: constraintlayout: 1. 1. 3
testImplementation junit: junit: 4. 12
androidTestImplementation androidx. test: runner: 1. 1. 1
androidTestImplementation androidx. test. espresso: espresso- core: 3. 1. 1
Saat ini coba jalankan, dengan memencet tombol Alt+Shift+F10 ataupun klik aja Run pada android sanggar kalian. Demikian mudah- mudahan berguna, jadi akhirnya supaya kalian ketahui saja bagaimanasih sesungguhnya membuat web kita tampak dalam apk android, gitu aja, biasa bukan.. hahaha. Mudah- mudahan postingan ini berguna untuk kalian diluaran situ yang lagi berlatih android sanggar.