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 f6de1ab

Browse files
committed
added lifecycleScope example
1 parent 44e7bbe commit f6de1ab

File tree

4 files changed

+97
-1
lines changed

4 files changed

+97
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="com.smarttoolfactory.tutorial1_1basics">
44

5-
<uses-permission android:name="android.permission.INTERNET"/>
5+
<uses-permission android:name="android.permission.INTERNET"/>
66

77
<application
88
android:allowBackup="true"
@@ -25,6 +25,7 @@
2525
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope3" />
2626
<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.chapter3_lifecycle.Activity3LifecycleScope" />
2829
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob" />
2930
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelScope" />
3031
<activity android:name="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelRxJava" />

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity
1717
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope3
1818
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter2_scopes.Activity2CoroutineScope4
1919
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle.Activity3CoroutineLifecycle
20+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle.Activity3LifecycleScope
2021
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter4_supervisorjob.Activity4SupervisorJob
2122
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelRxJava
2223
import com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter5_viewmodel.Activity5ViewModelScope
@@ -47,6 +48,7 @@ class MainActivity : AppCompatActivity(), BaseAdapter.OnRecyclerViewItemClickLis
4748
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope3::class.java))
4849
activityClassModels.add(ActivityClassModel(Activity2CoroutineScope4::class.java))
4950
activityClassModels.add(ActivityClassModel(Activity3CoroutineLifecycle::class.java))
51+
activityClassModels.add(ActivityClassModel(Activity3LifecycleScope::class.java))
5052
activityClassModels.add(ActivityClassModel(Activity4SupervisorJob::class.java))
5153
activityClassModels.add(ActivityClassModel(Activity5ViewModelScope::class.java))
5254
activityClassModels.add(ActivityClassModel(Activity5ViewModelRxJava::class.java))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle
2+
3+
import android.os.Bundle
4+
import android.widget.Toast
5+
import androidx.appcompat.app.AlertDialog
6+
import androidx.appcompat.app.AppCompatActivity
7+
import androidx.lifecycle.lifecycleScope
8+
import com.smarttoolfactory.tutorial1_1basics.R
9+
import com.smarttoolfactory.tutorial1_1basics.databinding.Activity3LifecycleScopeBinding
10+
import com.smarttoolfactory.tutorial1_1coroutinesbasics.util.dataBinding
11+
import kotlinx.coroutines.delay
12+
import kotlinx.coroutines.launch
13+
14+
/*
15+
*
16+
* */
17+
18+
class Activity3LifecycleScope : AppCompatActivity(R.layout.activity3_lifecycle_scope) {
19+
20+
private val binding: Activity3LifecycleScopeBinding by dataBinding()
21+
22+
override fun onCreate(savedInstanceState: Bundle?) {
23+
super.onCreate(savedInstanceState)
24+
25+
val builder = AlertDialog.Builder(this)
26+
builder.setMessage("Mesajj")
27+
builder.setTitle("Titlee")
28+
val alertDialog = builder.create()
29+
30+
31+
binding.button1.setOnClickListener {
32+
binding.textViewResult.text = binding.textViewResult.text.toString() + "Clicked\n"
33+
lifecycleScope.launch {
34+
35+
binding.textViewResult.text =
36+
binding.textViewResult.text.toString() + "🤓 Delay 5 sn before showing dialog\n"
37+
delay(5000)
38+
39+
alertDialog.show()
40+
41+
binding.textViewResult.text =
42+
binding.textViewResult.text.toString() + "🥳 Delay 5 sn after showing dialog\n"
43+
delay(5000)
44+
45+
binding.textViewResult.text =
46+
binding.textViewResult.text.toString() + "Dismissed AlertDialog \n"
47+
Toast.makeText(baseContext, "Dismissed AlertDialog", Toast.LENGTH_SHORT).show()
48+
alertDialog.dismiss()
49+
}
50+
binding.textViewResult.text =
51+
binding.textViewResult.text.toString() + "🚗🚗🚗 Codes after lifecycleScope \n"
52+
}
53+
54+
}
55+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<layout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto"
4+
xmlns:tools="http://schemas.android.com/tools">
5+
6+
<data>
7+
8+
</data>
9+
10+
<androidx.constraintlayout.widget.ConstraintLayout
11+
android:layout_width="match_parent"
12+
android:layout_height="match_parent"
13+
tools:context="com.smarttoolfactory.tutorial1_1coroutinesbasics.chapter3_lifecycle.Activity3LifecycleScope">
14+
15+
<Button
16+
android:id="@+id/button1"
17+
android:layout_width="wrap_content"
18+
android:layout_height="wrap_content"
19+
android:text="Button 1"
20+
app:layout_constraintBottom_toBottomOf="parent"
21+
app:layout_constraintEnd_toEndOf="parent"
22+
app:layout_constraintStart_toStartOf="parent"
23+
app:layout_constraintTop_toTopOf="parent"
24+
app:layout_constraintVertical_bias="0.32" />
25+
26+
<TextView
27+
android:id="@+id/textViewResult"
28+
android:layout_width="wrap_content"
29+
android:layout_height="wrap_content"
30+
app:layout_constraintBottom_toBottomOf="parent"
31+
app:layout_constraintEnd_toEndOf="parent"
32+
app:layout_constraintStart_toStartOf="parent"
33+
app:layout_constraintTop_toTopOf="parent"
34+
app:layout_constraintVertical_bias="0.62"
35+
tools:text="Result" />
36+
37+
</androidx.constraintlayout.widget.ConstraintLayout>
38+
</layout>

0 commit comments

Comments
(0)

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