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"
/>
-
-
-
+ >
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/string_list_item.xml b/app/src/main/res/layout/string_list_item.xml
index 575962d..7331c7d 100644
--- a/app/src/main/res/layout/string_list_item.xml
+++ b/app/src/main/res/layout/string_list_item.xml
@@ -2,14 +2,14 @@
diff --git a/build.gradle b/build.gradle
index 03bced9..387e496 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,15 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
+ ext.kotlin_version = '1.3.72'
repositories {
+ google()
jcenter()
+
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.0'
+ classpath 'com.android.tools.build:gradle:3.6.3'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -14,7 +18,9 @@ buildscript {
allprojects {
repositories {
+ google()
jcenter()
+
}
}
diff --git a/gradle.properties b/gradle.properties
index 1d3591c..23339e0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,18 +1,21 @@
# Project-wide Gradle settings.
-
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
-
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
-
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
-# Default value: -Xmx10248m -XX:MaxPermSize=256m
-# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
-
+org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
\ No newline at end of file
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 6767982..d26566c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
diff --git a/settings.gradle b/settings.gradle
index e7b4def..c80e1ae 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,2 @@
+rootProject.name='My Application'
include ':app'