Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. package pl.polsl.lab6przykladkotlin
  2.  
  3. import android.app.Activity
  4. import android.content.Intent
  5. import androidx.appcompat.app.AppCompatActivity
  6. import android.os.Bundle
  7. import android.provider.MediaStore
  8. import android.view.ActionMode
  9. import android.webkit.JavascriptInterface
  10. import android.widget.Toast
  11. import java.util.*
  12. import android.webkit.WebView
  13. import java.lang.StringBuilder
  14. import kotlin.collections.ArrayList
  15.  
  16. class kartkaActivity : AppCompatActivity() {
  17.  
  18. val gifts = ArrayList<String>()
  19.  
  20. var imgPath = String()
  21.  
  22. override fun onCreate(savedInstanceState: Bundle?) {
  23. super.onCreate(savedInstanceState)
  24.  
  25. gifts.addAll(intent.getStringArrayListExtra("gifts"))
  26. imgPath = intent.getStringExtra("imgpath")
  27.  
  28. //WebView - kontrolka wyswietlajaca html
  29. val page = WebView(this)
  30.  
  31. //wlaczenie obslugi JS
  32. page.settings.javaScriptEnabled=true
  33.  
  34. //dodanie interfejsu pomiędzy Kotlinem a JS
  35. //this - obiekt tej klasy dostarcza metody JSInterface, activity - nazwa widoczna w JS
  36. page.addJavascriptInterface(this, "activity")
  37.  
  38. //zaladowanie zawartosci kontroli WebView - pliki z katalogu assests w projekcie
  39. page.loadUrl("file:///android_asset/kartka.html")
  40.  
  41. //wstawienie kontrolki WebView jako calej fasady aktywnosci
  42. setContentView(page)
  43. }
  44.  
  45. override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  46. if (resultCode == RESULT_OK) {
  47. var uri = data!!.data;
  48. imgPath = uri!!.encodedPath!!
  49. }
  50. }
  51.  
  52. @JavascriptInterface //adnotacja sygnalizujaca ze metoda bedzie dostepna z poziomu JS
  53. fun getImagePath() : String = imgPath
  54.  
  55. @JavascriptInterface
  56. fun getLocation(): String {
  57. return Date().toString()
  58. }
  59.  
  60. @JavascriptInterface
  61. fun getGifts(): String {
  62. val builder = StringBuilder()
  63. for (str in gifts) {
  64. builder.append(str).append('\n');
  65. }
  66. return builder.toString()
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement