Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f4deef4

Browse files
Merge pull request #3 from oiyio/master
New examples added
2 parents dc5290f + 26c09c8 commit f4deef4

File tree

52 files changed

+2032
-433
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2032
-433
lines changed

‎Tutorial1-1CoroutinesBasics/build.gradle‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ android {
1111
targetSdkVersion rootProject.ext.targetSdkVersion
1212
versionCode 1
1313
versionName "1.0"
14-
14+
multiDexEnabled true
1515
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1616
}
1717

@@ -95,6 +95,7 @@ dependencies {
9595

9696
// androidx.fragment
9797
implementation "androidx.fragment:fragment:$fragmentVersion"
98+
implementation 'androidx.fragment:fragment-ktx:1.3.0-alpha05'
9899

99100
// **** TESTING ****
100101

‎Tutorial1-1CoroutinesBasics/src/main/AndroidManifest.xml‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@
2222
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter1_basics.Activity1Basics" />
2323
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope1" />
2424
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope2" />
25-
26-
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob" />
25+
<activityandroid:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope3" />
26+
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope4" />
2727
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle.Activity3CoroutineLifecycle" />
28+
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob" />
2829
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelScope" />
2930
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelRxJava" />
3031
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter6_network.Activity6Network" />
3132
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter7_database.Activity7Database" />
3233
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter8_single_source_of_truth.Activity8SingleSourceOfTruth" />
34+
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.retrofitexample.RetrofitActivity" />
3335
</application>
3436

3537
</manifest>

‎Tutorial1-1CoroutinesBasics/src/main/java/com/smarttoolfactory/tutorial1_1coroutinesbasics/MainActivity.kt‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,17 @@ import com.smarttoolfactory.tutorial1_1coroutinesbasics.adapter.ChapterSelection
1414
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter1_basics.Activity1Basics
1515
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope1
1616
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope2
17-
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob
17+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope3
18+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope4
1819
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle.Activity3CoroutineLifecycle
20+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob
1921
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelRxJava
2022
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelScope
2123
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter6_network.Activity6Network
2224
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter7_database.Activity7Database
2325
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter8_single_source_of_truth.Activity8SingleSourceOfTruth
2426
import com.smarttoolfactory.tutorial1_1coroutinesbasics.model.ActivityClassModel
27+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.retrofitexample.RetrofitActivity
2528
import java.util.*
2629

2730
class MainActivity : AppCompatActivity(), BaseAdapter.OnRecyclerViewItemClickListener {
@@ -41,13 +44,16 @@ class MainActivity : AppCompatActivity(), BaseAdapter.OnRecyclerViewItemClickLis
4144
activityClassModels.add(ActivityClassModel(Activity1Basics::class.java))
4245
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope1::class.java))
4346
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope2::class.java))
47+
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope3::class.java))
48+
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope4::class.java))
4449
activityClassModels.add(ActivityClassModel(Activity3CoroutineLifecycle::class.java))
4550
activityClassModels.add(ActivityClassModel(Activity4SupervisorJob::class.java))
4651
activityClassModels.add(ActivityClassModel(Activity5ViewModelScope::class.java))
4752
activityClassModels.add(ActivityClassModel(Activity5ViewModelRxJava::class.java))
4853
activityClassModels.add(ActivityClassModel(Activity6Network::class.java))
4954
activityClassModels.add(ActivityClassModel(Activity7Database::class.java))
5055
activityClassModels.add(ActivityClassModel(Activity8SingleSourceOfTruth::class.java))
56+
activityClassModels.add(ActivityClassModel(RetrofitActivity::class.java))
5157

5258
val recyclerView = activityMainBinding.recyclerView
5359

‎Tutorial1-1CoroutinesBasics/src/main/java/com/smarttoolfactory/tutorial1_1coroutinesbasics/chapter1_basics/Fragment3Basics.kt‎

Lines changed: 0 additions & 94 deletions
This file was deleted.

‎Tutorial1-1CoroutinesBasics/src/main/java/com/smarttoolfactory/tutorial1_1coroutinesbasics/chapter2_scopes/Activity2CoroutineScope1.kt‎

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,18 @@ package com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes
22

33
import android.os.Bundle
44
import androidx.appcompat.app.AppCompatActivity
5-
import androidx.databinding.DataBindingUtil
65
import com.smarttoolfactory.tutorial1_1basics.R
76
import com.smarttoolfactory.tutorial1_1basics.databinding.Activity2Scope1Binding
7+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.util.dataBinding
88
import kotlinx.coroutines.*
99

10-
class Activity2CoroutineScope1 : AppCompatActivity() {
10+
class Activity2CoroutineScope1 : AppCompatActivity(R.layout.activity2_scope_1) {
1111

12-
private lateinitvarbinding: Activity2Scope1Binding
12+
private valbinding: Activity2Scope1Binding by dataBinding()
1313

1414
override fun onCreate(savedInstanceState: Bundle?) {
1515
super.onCreate(savedInstanceState)
1616

17-
binding =
18-
DataBindingUtil.setContentView(this, R.layout.activity2_scope_1)
19-
2017
binding.button4.setOnClickListener {
2118
CoroutineScope(Dispatchers.IO).launch {
2219
fakeApiRequest()
@@ -25,21 +22,29 @@ class Activity2CoroutineScope1 : AppCompatActivity() {
2522
}
2623

2724
private suspend fun fakeApiRequest() {
28-
val result1 = getResult1FromApi()
25+
val result1 =
26+
getResult1FromApi() // the following line is not executed until the suspending function getResult1FromApi() returns
2927
println("test123 - result : $result1")
30-
setTextOnMainThread(result1)
28+
setTextOnMainThread(result1)// the following line is not executed until the suspending function setTextOnMainThread() returns
3129

32-
val result2 = getResult2FromApi()
33-
setTextOnMainThread(result2)
30+
val result2 =
31+
getResult2FromApi() // the following line is not executed until the suspending function getResult2FromApi() returns
32+
setTextOnMainThread(result2) // the following line is not executed until the suspending function setTextOnMainThread() returns
3433
println("test123 - result: $result2")
3534
}
3635

36+
/** Simulates network request
37+
* delay(2000) simulates the waiting for response from server
38+
* */
3739
private suspend fun getResult1FromApi(): String {
3840
println("test123 - getResult1FromApi : ${Thread.currentThread().name}")
3941
delay(2000)
4042
return "\nResult 1"
4143
}
4244

45+
/**
46+
* delay(2000) simulates the waiting for response from server
47+
* Simulates network request */
4348
private suspend fun getResult2FromApi(): String {
4449
println("test123 - getResult2FromApi : ${Thread.currentThread().name}")
4550
delay(2000)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /