Android Webview uygulama yapımı. (Kotlin) (1 Viewer)

Joined
Nov 8, 2018
Credits
0
Rating - 0%
Merhaba Arkadaşlar.

şu aralar kendimi biraz verdim android uygulama geliştirmeye. Bundan sonra Allah izin verirse burada basit uygulama yapımlarını anlatacağım sizlere.


Adımlarımız.

Android Studio'dam new project seçip empty activity tasarımını seçip Next Seçiyoruz.

Karşımıza gelen alanlarda en üste uygulama Adımızı yazıyoruz dil olarak kotlin seçip ilerliyoruz.

Projemizde Mainactivity dosyasını bulup aşağıda verdiğim kodları bu sınıfa vermeniz yeterlidir.

import android.annotation.SuppressLint
import android.graphics.Bitmap
import android.os.Build
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.webkit.WebSettings
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley
import com.google.android.gms.tasks.OnCompleteListener
import com.google.firebase.iid.FirebaseInstanceId
import kotlinx.android.synthetic.main.activity_main.*

import retrofit2.http.Url
import android.support.v4.app.NotificationCompat.getExtras
import android.content.Intent




class MainActivity : AppCompatActivity() {
var url = "https://www.spyhackerz.com"


@SuppressLint("StringFormatInvalid")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)


val settings = webview.settings;


settings.javaScriptEnabled = true
settings.setAppCacheEnabled(true)
settings.cacheMode = WebSettings.LOAD_DEFAULT
settings.setAppCachePath(cacheDir.path)
settings.setSupportZoom(true)
settings.builtInZoomControls = true
settings.displayZoomControls = true
settings.blockNetworkImage = false
settings.loadsImagesAutomatically = true


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

settings.safeBrowsingEnabled = true // api 26

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)


var pageUrl: String? = "https://www.spyhackerz.com/"
val extras = intent.extras
if (extras != null) {
val url = extras.getString("pageUrl")
if (url != null) pageUrl = url
}
webview.loadUrl(pageUrl ?: url)






FirebaseInstanceId.getInstance().instanceId
.addOnCompleteListener(OnCompleteListener { task ->
if (!task.isSuccessful) {
Log.w(TAG, "getInstanceId failed", task.exception)
return@OnCompleteListener
}


// Get new Instance ID token
val token = task.result?.token



val textView = findViewById<TextView>(R.id.text)
val queue = Volley.newRequestQueue(this)
val url = "http://examplle.com/tokenal?token=${token}"

val stringRequest = StringRequest(
Request.Method.GET, url,
Response.Listener<String> { response ->
// Display the first 500 characters of the response string.
textView?.text = "Response is: "
},
Response.ErrorListener { textView?.text = "That didn't work!" })

queue.add(stringRequest)


// Set web view client
webview.webViewClient = object : WebViewClient() {
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
// Page loading started
// Do something
}


override fun onPageFinished(view: WebView, url: String) {
// Page loading finished
// Enable disable back forward button
}
}
})
}

}

companion object {

private const val TAG = "MainActivity"
}
}
 
Joined
Nov 8, 2018
Credits
0
Rating - 0%
Yazı bana ait hocam elimden geldiğince burada bu tarz yazılar yazmaya çalışıyorum.

Yazılım + Sanallaştırma + Konteyner Teknolojileri + Bulut + Database + Load Balancing vb konulardaki bilgilerimi burada paylaşmayı seviyorum.
 
Joined
Dec 23, 2019
Credits
50
Rating - 0%
hocam kodlar hata verdı hata verenler assagıda

imports are only allowed in the beginning of file
Conflicting import, imported name 'Bundle' is ambiguous
Redeclaration: MainActivity
Unresolved reference: v7
Conflicting import, imported name 'Bundle' is ambiguous
Unresolved reference: android
Unresolved reference: android
Unresolved reference: android
Unresolved reference: android
Unresolved reference: google
Unresolved reference: google
Unresolved reference: retrofit2
Unresolved reference: NotificationCompat
Redeclaration: MainActivity
Unresolved reference: webview
Unresolved reference: webview
Unresolved reference: webview
Unresolved reference: webview
Unresolved reference: FirebaseInstanceId
Unresolved reference: OnCompleteListener
Cannot infer a type for this parameter. Please specify it explicitly.
Unresolved reference: Volley
Unresolved reference: StringRequest
Unresolved reference: Request
Unresolved reference: Response
Cannot infer a type for this parameter. Please specify it explicitly.
Unresolved reference: Response
Unresolved reference: webview
 

Users who are viewing this thread

Top