Advertisement
MateuszGrabarczyk

prezenty kotlin

Jan 20th, 2023
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. package pl.polsl.lab6v2022
  2.  
  3. import android.content.Intent
  4. import android.content.pm.ActivityInfo
  5. import androidx.appcompat.app.AppCompatActivity
  6. import android.os.Bundle
  7. import android.webkit.JavascriptInterface
  8. import android.webkit.WebView
  9. import android.widget.Toast
  10. import java.util.*
  11.  
  12. class Prezenty : AppCompatActivity() {
  13. val gifts = ArrayList<String>()
  14.  
  15. override fun onCreate(savedInstanceState: Bundle?) {
  16. super.onCreate(savedInstanceState)
  17.  
  18. //WebView - kontrolka wyswietlajaca html
  19. val page = WebView(this)
  20.  
  21. //wlaczenie obslugi JS
  22. page.settings.javaScriptEnabled=true
  23.  
  24. //dodanie interfejsu pomiędzy Kotlinem a JS
  25. //this - obiekt tej klasy dostarcza metody JSInterface, activity - nazwa widoczna w JS
  26. page.addJavascriptInterface(this, "activity")
  27.  
  28. //zaladowanie zawartosci kontroli WebView - pliki z katalogu assests w projekcie
  29. page.loadUrl("file:///android_asset/Prezenty.html")
  30.  
  31. //wstawienie kontrolki WebView jako calej fasady aktywnosci
  32. setContentView(page)
  33. }
  34.  
  35. @JavascriptInterface //adnotacja sygnalizujaca ze metoda bedzie dostepna z poziomu JS
  36. fun addGift(name: String) {
  37. // Toast.makeText(this, name, Toast.LENGTH_SHORT).show()
  38.  
  39. gifts.add(name)
  40. }
  41.  
  42. @JavascriptInterface
  43. fun generate() {
  44. val string: String = parseListToString()
  45.  
  46. val intent: Intent = Intent(this, Kartka::class.java)
  47. intent.putExtra("giftsList", string)
  48. startActivity(intent)
  49. }
  50.  
  51. fun parseListToString(): String {
  52. val string: String = gifts.joinToString(separator = "<br>")
  53. return string
  54. }
  55.  
  56. @JavascriptInterface
  57. fun getDate(): String {
  58. return Date().toString()
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement