Advertisement
Yanu

MainActivity_labinix

Jul 12th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.44 KB | None | 0 0
  1. package com.faizal.labinix
  2.  
  3. import android.os.AsyncTask
  4. import android.support.v7.app.AppCompatActivity
  5. import android.os.Bundle
  6. import java.net.URL
  7. import javax.net.ssl.HttpsURLConnection
  8. import android.net.Uri
  9. import android.util.Log
  10. import kotlinx.android.synthetic.main.activity_main.*
  11. import java.io.BufferedReader
  12. import java.io.InputStream
  13. import java.io.InputStreamReader
  14. import java.net.HttpURLConnection
  15. import org.json.JSONObject
  16.  
  17.  
  18. class MainActivity : AppCompatActivity() {
  19.  
  20.     val CONNECTION_TIME_OUT = 6000
  21.     var tvnamakota = String()
  22.  
  23.     override fun onCreate(savedInstanceState: Bundle?) {
  24.         super.onCreate(savedInstanceState)
  25.         setContentView(R.layout.activity_main)
  26.  
  27.         button.setOnClickListener {
  28.             tvnamakota = namakota.text.toString()
  29.             val url = "https://time.siswadi.com/pray/?address=" + tvnamakota
  30.             Jadwal().execute(url)
  31.         }
  32.  
  33.     }
  34.  
  35.     inner class Jadwal : AsyncTask<String, String, String>() {
  36.  
  37.         override fun doInBackground(vararg params: String?): String {
  38.             var urlConnection: HttpsURLConnection? = null
  39.  
  40.             try {
  41.                 val url = URL(params[0])
  42.  
  43.                 urlConnection = url.openConnection() as HttpsURLConnection
  44.                 urlConnection.connectTimeout = CONNECTION_TIME_OUT
  45.                 urlConnection.readTimeout = CONNECTION_TIME_OUT
  46.                 var inString = streamToString(urlConnection.inputStream)
  47.  
  48.                 publishProgress(inString)
  49.             } catch (ex: Exception) {
  50.             } finally {
  51.                 if (urlConnection != null) {
  52.                     urlConnection.disconnect()
  53.                 }
  54.             }
  55.  
  56.  
  57.             return ""
  58.         }
  59.  
  60.         override fun onProgressUpdate(vararg values: String?) {
  61.             try {
  62.                 var json = JSONObject(values[0])
  63.  
  64.  
  65.                 val data = json.getJSONObject("data")
  66.                 val lokasi = json.getJSONObject("location")
  67.  
  68.                 Log.e("hasil data", "" + data)
  69.  
  70.                 val subuh = data.get("Fajr")
  71.                 val terbit = data.get("Sunrise")
  72.                 val dzuhur = data.get("Dhuhr")
  73.                 val ashar = data.get("Asr")
  74.                 val maghrib = data.get("Maghrib")
  75.                 val isya = data.get("Isha")
  76.                 val kota = lokasi.get("address")
  77.  
  78.                 tvhasil.setText("Waktu Sholat \n" +
  79.                         "\n Nama kota = " + kota +
  80.                         "\n Subuh : " + subuh +
  81.                         "\n Terbit : " + terbit +
  82.                         "\n Dzuhur : " + dzuhur +
  83.                         "\n Ashar : " + ashar +
  84.                         "\n Maghrib : " + maghrib +
  85.                         "\n Isya : " + isya
  86.                 )
  87.             }catch (ex : Exception){
  88.  
  89.             }
  90.         }
  91.     }
  92.  
  93.     private fun streamToString(inptStream: InputStream): String {
  94.         val bufferReader = BufferedReader(InputStreamReader(inptStream))
  95.         var line: String
  96.         var result = ""
  97.         try {
  98.             do {
  99.                 line = bufferReader.readLine()
  100.                 if (line != null) {
  101.                     result += line
  102.                 } else {
  103.                     Log.e("info", "error")
  104.                 }
  105.             } while (line != null)
  106.             inptStream.close()
  107.         }catch (ex:Exception){
  108.         }
  109.         Log.e("tes", "tes")
  110.         return result
  111.     }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement