Professional Documents
Culture Documents
Agustinus - MID PROGRAM MOBILE
Agustinus - MID PROGRAM MOBILE
Nim : 20182205126
Kls : TI.65
import android.content.Intent
import android.text.Layout
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.view.menu.ActionMenuItemView
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import kotlinx.android.synthetic.main.item_news.view.*
Glide.with(holder.itemView.context)
.load(list[position].urlImage)
.into(holder.itemView.img_news)
holder.itemView.setOnClickListener {
val intent = Intent(holder.itemView.context,
DetailActivity::class.java)
intent.putExtra("JUDUL",list[position].namaBerita)
intent.putExtra("DETAIL", list[position].isiBerita)
intent.putExtra("IMG", list[position].urlImage)
holder.itemView.context.startActivity(intent)
}
}
3. Script ApiRetrofit
package com.stmikakba. Agustinus_20182205126.mid_pemrog_mobile
import com.bumptech.glide.load.model.stream.BaseGlideUrlLoader
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.create
import java.util.concurrent.TimeUnit
class ApiRetrofit {
companion object {
4. Script Apiservice
package com.stmikakba.Agustinus_20182205126.mid_pemrog_mobile
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query
interface ApiService {
@GET("exec")
fun getNews (@Query("id") id : String,
@Query("sheet") sheet : String)
: Call<ResponseNews>
}
5. Script DataItem
package com.stmikakba. Agustinus_20182205126.mid_pemrog_mobile
import com.google.gson.annotations.SerializedName
@field:SerializedName("")
val jsonMember: String? = null,
@field:SerializedName("nama_berita")
val namaBerita: String? = null,
@field:SerializedName("keterangan")
val keterangan: String? = null,
@field:SerializedName("sumber")
val sumber: String? = null,
@field:SerializedName("tanggal")
val tanggal: String? = null,
@field:SerializedName("timestamp")
val timestamp: String? = null,
@field:SerializedName("isi_berita")
val isiBerita: String? = null,
@field:SerializedName("url_image")
val urlImage: String? = null
)
6. Script DetailActivity
package com.stmikakba. Agustinus_20182205126.mid_pemrog_mobile
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebChromeClient
import com.bumptech.glide.Glide
import kotlinx.android.synthetic.main.activity_detail.*
import kotlinx.android.synthetic.main.item_news.*
import kotlinx.android.synthetic.main.item_news.img_news
import kotlinx.android.synthetic.main.item_news.tv_judul
tv_judul.text = intent.getStringExtra("JUDUL")
val img = intent.getStringExtra("IMG")
Glide.with(this).load(img).into(img_news)
web.webChromeClient = WebChromeClient()
web.settings.javaScriptEnabled = true
web.loadData(intent.getStringExtra("DETAIL").toString(),
"text/html", "UTF-8")
}
}
import com.google.gson.annotations.SerializedName
@field:SerializedName("data")
val data: List<DataItem?>? = null,
@field:SerializedName("status")
val status: String? = null
)
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
Handler().postDelayed({
//pindah activity
startActivity(Intent(this, MainActivity::class.java))
},4000)
}
}
9. Script Activity_Main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_news"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<ImageView
android:id="@+id/img_news"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"
android:layout_width="match_parent"
android:layout_height="200dp"/>
<TextView
android:id="@+id/tv_judul"
android:gravity="center"
android:textColor="#fff"
android:textStyle="bold"
android:background="#6A000000"
android:layout_below="@+id/img_news"
android:scrollbarSize="16sp"
android:text="Judul"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<WebView
android:id="@+id/web"
android:layout_below="@+id/tv_judul"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
<TextView
android:text="SELAMAT DATANG"
android:textColor="#fff"
android:textSize="20sp"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView
android:id="@+id/img_news"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/tv_judul"
android:gravity="center"
android:textColor="#fff"
android:textStyle="bold"
android:background="#6A000000"
android:layout_alignParentBottom="true"
android:scrollbarSize="16sp"
android:text="Judul"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>