diff --git a/app/build.gradle b/app/build.gradle index d8c78cb..e93958b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,29 +1,56 @@ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 29 + buildToolsVersion "29.0.2" defaultConfig { - applicationId "kurtis.rx.androidexamples" - minSdkVersion 21 - targetSdkVersion 23 + applicationId "com.neeraj.myapplication" + minSdkVersion 19 + targetSdkVersion 29 versionCode 1 versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + buildTypes { release { minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + +// To inline the bytecode built with JVM target 1.8 into +// bytecode that is being built with JVM target 1.6. (e.g. navArgs) + + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'io.reactivex:rxandroid:1.1.0' - compile 'io.reactivex:rxjava:1.1.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'io.reactivex:rxandroid:1.1.0' + implementation 'io.reactivex:rxjava:1.1.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.core:core-ktx:1.2.0' + implementation 'com.google.android.material:material:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2' + implementation 'androidx.navigation:navigation-ui-ktx:2.2.2' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' } + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3280552..0814978 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,12 +10,19 @@ android:supportsRtl="true" android:theme="@style/AppTheme" > + + + + + + + - + + > + + + + + > + + + + > + + + + > + + + + > + + diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example1Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example1Activity.java index 5ec832b..f6e0698 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example1Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example1Activity.java @@ -1,9 +1,11 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; + + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; import java.util.List; @@ -11,6 +13,8 @@ import rx.Observable; import rx.Observer; + + public class Example1Activity extends AppCompatActivity { RecyclerView mColorListView; diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example2Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example2Activity.java index 8d54e19..d57303d 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example2Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example2Activity.java @@ -1,9 +1,10 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.ProgressBar; diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example3Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example3Activity.java index 0e7eb0a..28e654b 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example3Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example3Activity.java @@ -1,9 +1,9 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; @@ -43,7 +43,8 @@ public List call() throws Exception { * * return RestClient.getFavoriteTvShowsWithException(); */ - return mRestClient.getFavoriteTvShows(); + //return mRestClient.getFavoriteTvShows(); + return RestClient.getFavoriteTvShowsWithException(); } }); diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example4Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example4Activity.java index a869eb2..f5e5873 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example4Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example4Activity.java @@ -1,8 +1,9 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.Button; import android.widget.TextView; @@ -34,11 +35,14 @@ public void onCompleted() { @Override public void onError(Throwable e) { - + e.printStackTrace(); } @Override public void onNext(Integer integer) { + if(integer == 3) { //error produce + int t = 5 / 0; + } mCounterDisplay.setText(String.valueOf(integer)); } }); diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example5Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example5Activity.java index d2c70a9..5307ab0 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example5Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example5Activity.java @@ -1,7 +1,8 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; + import android.widget.TextView; import rx.Single; @@ -25,7 +26,7 @@ public String call(Integer integer) { }).subscribe(new SingleSubscriber() { @Override public void onSuccess(String value) { - mValueDisplay.setText(value); + mValueDisplay.setText(value+ "test"); } @Override diff --git a/app/src/main/java/kurtis/rx/androidexamples/Example6Activity.java b/app/src/main/java/kurtis/rx/androidexamples/Example6Activity.java index 570d640..dd46a49 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/Example6Activity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/Example6Activity.java @@ -1,9 +1,9 @@ package kurtis.rx.androidexamples; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.text.Editable; import android.text.TextWatcher; import android.view.View; diff --git a/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java b/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java index db64f8f..cd6aea0 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java +++ b/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java @@ -2,7 +2,9 @@ import android.content.Context; import android.content.Intent; -import android.support.v7.widget.RecyclerView; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/kurtis/rx/androidexamples/ExampleListActivity.java b/app/src/main/java/kurtis/rx/androidexamples/ExampleListActivity.java index 71176a2..09c42bc 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/ExampleListActivity.java +++ b/app/src/main/java/kurtis/rx/androidexamples/ExampleListActivity.java @@ -1,10 +1,11 @@ package kurtis.rx.androidexamples; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; + import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/kurtis/rx/androidexamples/MainActivity.java b/app/src/main/java/kurtis/rx/androidexamples/MainActivity.java new file mode 100644 index 0000000..6a940ab --- /dev/null +++ b/app/src/main/java/kurtis/rx/androidexamples/MainActivity.java @@ -0,0 +1,78 @@ +package kurtis.rx.androidexamples; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import androidx.appcompat.app.AppCompatActivity; +import java.util.ArrayList; +import java.util.List; + + + +public class MainActivity extends AppCompatActivity implements View.OnClickListener { + + private Button firstButton; + private Button button2; + private Button firstButton3; + private Button firstButton4; + private Button firstButton5; + private Button firstButton6; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + configureLayout(); + } + + private void configureLayout() { + setContentView(R.layout.main_activity2); + firstButton = (Button) findViewById(R.id.button1); + firstButton.setOnClickListener(this); + button2 = (Button) findViewById(R.id.button2); + button2.setOnClickListener(this); + firstButton3 = (Button) findViewById(R.id.button3); + firstButton3.setOnClickListener(this); + firstButton4 = (Button) findViewById(R.id.button4); + firstButton4.setOnClickListener(this); + firstButton5 = (Button) findViewById(R.id.button5); + firstButton5.setOnClickListener(this); + firstButton6 = (Button) findViewById(R.id.button6); + firstButton6.setOnClickListener(this); + } + + private static List getColorList() { + ArrayList colors = new ArrayList<>(); + colors.add("blue"); + colors.add("green"); + colors.add("red"); + colors.add("chartreuse"); + colors.add("Van Dyke Brown"); + return colors; + } + + @Override + public void onClick(View view) { + if (view == firstButton){ + startActivity(new Intent(this,Example1Activity.class)); + } + if (view == button2){ + startActivity(new Intent(this,Example2Activity.class)); + } + if (view == firstButton3){ + startActivity(new Intent(this,Example3Activity.class)); + } + if (view == firstButton4){ + startActivity(new Intent(this,Example4Activity.class)); + } + if (view == firstButton5){ + startActivity(new Intent(this,Example5Activity.class)); + } + if (view == firstButton6){ + startActivity(new Intent(this,Example6Activity.class)); + } + } + + +} diff --git a/app/src/main/java/kurtis/rx/androidexamples/RestClient.java b/app/src/main/java/kurtis/rx/androidexamples/RestClient.java index 18a9f99..a5682b7 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/RestClient.java +++ b/app/src/main/java/kurtis/rx/androidexamples/RestClient.java @@ -25,7 +25,7 @@ public List getFavoriteTvShows() { return createTvShowList(); } - public List getFavoriteTvShowsWithException() { + public static List getFavoriteTvShowsWithException() { try { // "Simulate" the delay of network. Thread.sleep(5000); diff --git a/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java b/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java index 5c1a3c4..d096b6b 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java +++ b/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java @@ -1,7 +1,9 @@ package kurtis.rx.androidexamples; import android.content.Context; -import android.support.v7.widget.RecyclerView; + + +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/res/layout/activity_example_1.xml b/app/src/main/res/layout/activity_example_1.xml index d775c3b..470b79a 100644 --- a/app/src/main/res/layout/activity_example_1.xml +++ b/app/src/main/res/layout/activity_example_1.xml @@ -4,9 +4,12 @@ android:layout_width="match_parent" android:layout_height="match_parent" > - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_example_2.xml b/app/src/main/res/layout/activity_example_2.xml index d882ce3..689730a 100644 --- a/app/src/main/res/layout/activity_example_2.xml +++ b/app/src/main/res/layout/activity_example_2.xml @@ -12,7 +12,7 @@ android:layout_gravity="center" /> - - - + > - + + +