Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gradle/config.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#Tue Nov 26 00:44:34 KST 2024
java.home=C\:\\Program Files\\Android\\Android Studio1\\jbr
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

214 changes: 214 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 6 additions & 4 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {

android {
namespace = "com.example.assignment02"
compileSdk = 34
compileSdk = 35

defaultConfig {
applicationId = "com.example.assignment02"
Expand Down Expand Up @@ -36,11 +36,13 @@ android {
}

dependencies {
implementation("androidx.activity:activity-ktx:1.7.0")
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.viewpager2:viewpager2:1.0.0")
implementation("androidx.fragment:fragment-ktx:1.3.5")
implementation("com.google.android.material:material:1.10.0")
implementation("androidx.core:core-ktx:1.15.0")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.constraintlayout:constraintlayout:2.2.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
Expand Down
9 changes: 8 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
Expand All @@ -21,7 +25,10 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RandomActivity" />
<service
android:name=".PlayMusic"
android:permission="android.permission.BIND_JOB_SERVICE"
android:foregroundServiceType="mediaPlayback" />
</application>

</manifest>
69 changes: 42 additions & 27 deletions app/src/main/java/com/example/assignment02/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,42 +1,57 @@
package com.example.assignment02

import android.app.Activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.bottomnavigation.BottomNavigationView

class MainActivity : AppCompatActivity() {

private lateinit var bottom_nav: BottomNavigationView
private lateinit var view_page: ViewPager2

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val number_text: TextView = findViewById(R.id.number_text)
val count_btn: TextView = findViewById(R.id.count_btn)
val toast_btn: TextView = findViewById(R.id.toast_btn)
val random_btn: TextView = findViewById(R.id.random_btn)
val intent = Intent(this, RandomActivity::class.java)

val resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
number_text.text = result.data?.getIntExtra("random_number", 0).toString()
Toast.makeText(this, "OK", Toast.LENGTH_SHORT).show()
}
else {
Toast.makeText(this, "오류", Toast.LENGTH_SHORT).show()
view_page = findViewById(R.id.viewPage)
bottom_nav = findViewById(R.id.bottomNav)
view_page.adapter = ColorAdapter(this)

bottom_nav.setOnItemSelectedListener { item ->
when(item.itemId) {
R.id.color -> {
view_page.adapter = ColorAdapter(this)
}
R.id.number -> {
view_page.adapter = NumberAdapter(this)
}
R.id.alphabet -> {
view_page.adapter = AlphabetAdapter(this)
}
}
true
}

count_btn.setOnClickListener {
number_text.text = (number_text.text.toString().toInt()+1).toString()
}
class ColorAdapter(fragment: MainActivity) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 7
override fun createFragment(position: Int): Fragment {
return TextFragment.newInstance("", position)
}
toast_btn.setOnClickListener {
Toast.makeText(this, "숫자 : "+number_text.text, Toast.LENGTH_LONG).show()
}
class NumberAdapter(fragment: MainActivity) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = Int.MAX_VALUE
override fun createFragment(position: Int): Fragment {
return TextFragment.newInstance((position+1).toString(), 7)
}
random_btn.setOnClickListener {
intent.putExtra("number", number_text.text.toString().toInt())
resultLauncher.launch(intent)
}
class AlphabetAdapter(fragment: MainActivity) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 26
override fun createFragment(position: Int): Fragment {
return TextFragment.newInstance(('a'+position).toString(), 7)
}
}
}
}

28 changes: 0 additions & 28 deletions app/src/main/java/com/example/assignment02/RandomActivity.kt

This file was deleted.

Loading