Skip to content

Instantly share code, notes, and snippets.

View CoderJava's full-sized avatar
🏠
Stay Safe. #WFH

Yudi Setiawan CoderJava

🏠
Stay Safe. #WFH
View GitHub Profile
@CoderJava
CoderJava / WaktuDb.kt
Created September 14, 2018 15:30
Waktu database
@Database(entities = [(WaktuData::class)], version = 1)
abstract class WaktuDb : RoomDatabase() {
abstract fun waktuDao(): WaktuDao
companion object {
private var INSTANCE: WaktuDb? = null
fun getInstance(context: Context) : WaktuDb? {
if (INSTANCE == null) {
@CoderJava
CoderJava / MainActivity.kt
Created September 14, 2018 15:32
MainActivity Database Debugging
// ...
button_database.setOnClickListener { it ->
val waktuDb: WaktuDb = WaktuDb.getInstance(this@MainActivity)!!
Observable
.create<Boolean> { emitter ->
val strWaktu = SimpleDateFormat("dd-MM-yyyy HH:mm:ss", Locale.US)
.format(Date())
val waktuData = WaktuData(null, strWaktu)
waktuDb.waktuDao()
.insert(waktuData)
@CoderJava
CoderJava / build.gradle
Created September 14, 2018 15:37
Build.gradle(app) Stetho Dev
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.ysn.stethodev"
minSdkVersion 19
@CoderJava
CoderJava / RetrofitClient.java
Last active September 25, 2018 16:33
Example Singleton RetrofitClient with Authorization
import android.content.Context;
import android.content.SharedPreferences;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
@CoderJava
CoderJava / RxOperatorCreate.java
Created October 1, 2018 13:30
Create Operator Rx
import io.reactivex.Observable;
import io.reactivex.ObservableOnSubscribe;
public class RxOperatorCreate {
public static void main(String[] args) {
Observable
.create((ObservableOnSubscribe<String>) emitter -> {
emitter.onNext("Yudi Setiawan");
emitter.onComplete();
})
@CoderJava
CoderJava / RxOperatorDefer.java
Created October 1, 2018 13:41
Defer Operator RxJava
public class RxOperatorDefer {
public static void main(String[] args) {
User user = new User();
Observable<String> name = user.getName();
user.setName("Yudi Setiawan");
name.subscribe(System.out::println);
}
}
class User {
@CoderJava
CoderJava / RxOperatorFrom.java
Created October 1, 2018 13:47
Operator from RxJava
public class RxOperatorFrom {
public static void main(String[] args) {
String[] names = new String[]{"Yudi Setiawan", "Harli Lopies", "Rosalia"};
Observable.fromArray(names)
.subscribe(System.out::println);
}
}
@CoderJava
CoderJava / RxOperatorInterval.java
Created October 1, 2018 15:08
Interval Operator RxJava
public class RxOperatorInterval {
public static void main(String[] args) throws InterruptedException {
CountDownLatch countDownLatch = new CountDownLatch(1);
Observable.interval(1000 * 2, TimeUnit.MILLISECONDS)
.subscribe(new Observer<Long>() {
@Override
public void onSubscribe(Disposable d) {
System.out.println("onSubscribe");
}
@CoderJava
CoderJava / RxOperatorJust.java
Created October 1, 2018 15:25
Operator just RxJava
public class RxOperatorJust {
public static void main(String[] args) {
String[] names = new String[]{"Yudi Setiawan", "Harli Lopies", "Rosalia"};
Observable.just(names)
.subscribe(strings -> System.out.println(Arrays.toString(strings)));
}
}
@CoderJava
CoderJava / RxOperatorRange.java
Created October 1, 2018 15:29
Operator range RxJava
public class Main {
public static void main(String[] args) {
Observable.range(0, 5)
.subscribe(System.out::println);
}
}