diff --git a/EmotionPost.zip b/EmotionPost.zip new file mode 100644 index 0000000..1fd1a4d Binary files /dev/null and b/EmotionPost.zip differ diff --git a/MyApplication/.idea/.name b/MyApplication/.idea/.name new file mode 100644 index 0000000..b3405b3 --- /dev/null +++ b/MyApplication/.idea/.name @@ -0,0 +1 @@ +My Application \ No newline at end of file diff --git a/MyApplication/.idea/AndroidProjectSystem.xml b/MyApplication/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/MyApplication/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/MyApplication/.idea/vcs.xml b/MyApplication/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/MyApplication/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MyApplication/.idea/workspace.xml b/MyApplication/.idea/workspace.xml new file mode 100644 index 0000000..17e4fdc --- /dev/null +++ b/MyApplication/.idea/workspace.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1775029254474 + + + + \ No newline at end of file diff --git a/MyApplication2/.gitignore b/MyApplication2/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/MyApplication2/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/MyApplication2/app/.gitignore b/MyApplication2/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/MyApplication2/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/MyApplication2/app/build.gradle.kts b/MyApplication2/app/build.gradle.kts new file mode 100644 index 0000000..99b4075 --- /dev/null +++ b/MyApplication2/app/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + alias(libs.plugins.android.application) +} + +android { + namespace = "com.example.myapplication" + compileSdk { + version = release(36) { + minorApiLevel = 1 + } + } + + defaultConfig { + applicationId = "com.example.myapplication" + minSdk = 24 + targetSdk = 36 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +dependencies { + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.androidx.activity) + implementation(libs.androidx.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) +} \ No newline at end of file diff --git a/MyApplication2/app/proguard-rules.pro b/MyApplication2/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/MyApplication2/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/MyApplication2/app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.kt b/MyApplication2/app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..e9283cf --- /dev/null +++ b/MyApplication2/app/src/androidTest/java/com/example/myapplication/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.myapplication + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.example.myapplication", appContext.packageName) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/AndroidManifest.xml b/MyApplication2/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..e2d8658 --- /dev/null +++ b/MyApplication2/app/src/main/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/BuyFragment.kt b/MyApplication2/app/src/main/java/com/example/myapplication/BuyFragment.kt new file mode 100644 index 0000000..348dd41 --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/BuyFragment.kt @@ -0,0 +1,17 @@ +package com.example.myapplication + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class BuyFragment : Fragment() { + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // 이 줄이 "내 육체는 buyfragment.xml이야"라고 연결해주는 핵심입니다! + return inflater.inflate(R.layout.buyfragment, container, false) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/CartFragment.kt b/MyApplication2/app/src/main/java/com/example/myapplication/CartFragment.kt new file mode 100644 index 0000000..ef796ce --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/CartFragment.kt @@ -0,0 +1,13 @@ +package com.example.myapplication + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class CartFragment : Fragment() { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_cart, container, false) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/HomeFragment.kt b/MyApplication2/app/src/main/java/com/example/myapplication/HomeFragment.kt new file mode 100644 index 0000000..2c0a503 --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/HomeFragment.kt @@ -0,0 +1,13 @@ +package com.example.myapplication + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class HomeFragment : Fragment() { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_home, container, false) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/MainActivity.kt b/MyApplication2/app/src/main/java/com/example/myapplication/MainActivity.kt new file mode 100644 index 0000000..52b7e69 --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/MainActivity.kt @@ -0,0 +1,51 @@ +package com.example.myapplication + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.fragment.app.Fragment +import com.google.android.material.bottomnavigation.BottomNavigationView + +class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_main) + + // 1. 기본 시스템 바 설정 (기존 코드 유지) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + // 2. 하단 바와 프래그먼트 연결 로직 추가 + val bottomNav = findViewById(R.id.bottom_navigation) + + // 앱 처음 실행 시 홈 화면 표시 + if (savedInstanceState == null) { + replaceFragment(HomeFragment()) + } + + // 아이콘 클릭 리스너 + bottomNav.setOnItemSelectedListener { item -> + when (item.itemId) { + R.id.HouseSimple -> replaceFragment(HomeFragment()) + R.id.ListMagnifyingGlass -> replaceFragment(BuyFragment()) + R.id.HeartStraight -> replaceFragment(WishlistFragment()) + R.id.Bagsimple -> replaceFragment(CartFragment()) + R.id.User -> replaceFragment(ProfileFragment()) + } + true + } + } + + // 화면 교체 함수 + private fun replaceFragment(fragment: Fragment) { + supportFragmentManager.beginTransaction() + .replace(R.id.main_container, fragment) + .commit() + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/ProfileFragment.kt b/MyApplication2/app/src/main/java/com/example/myapplication/ProfileFragment.kt new file mode 100644 index 0000000..0f233bc --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/ProfileFragment.kt @@ -0,0 +1,13 @@ +package com.example.myapplication + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class ProfileFragment : Fragment() { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_profile, container, false) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/java/com/example/myapplication/WishlistFragment.kt b/MyApplication2/app/src/main/java/com/example/myapplication/WishlistFragment.kt new file mode 100644 index 0000000..8309654 --- /dev/null +++ b/MyApplication2/app/src/main/java/com/example/myapplication/WishlistFragment.kt @@ -0,0 +1,13 @@ +package com.example.myapplication + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment + +class WishlistFragment : Fragment() { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_wishlist, container, false) + } +} \ No newline at end of file diff --git a/MyApplication2/app/src/main/res/drawable/bagcircle.xml b/MyApplication2/app/src/main/res/drawable/bagcircle.xml new file mode 100644 index 0000000..1af2ce6 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/bagcircle.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/bagsimple.xml b/MyApplication2/app/src/main/res/drawable/bagsimple.xml new file mode 100644 index 0000000..3b6e816 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/bagsimple.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/heartstraight.xml b/MyApplication2/app/src/main/res/drawable/heartstraight.xml new file mode 100644 index 0000000..6597a4a --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/heartstraight.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/housesimple.xml b/MyApplication2/app/src/main/res/drawable/housesimple.xml new file mode 100644 index 0000000..a0d86b9 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/housesimple.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/ic_home.png b/MyApplication2/app/src/main/res/drawable/ic_home.png new file mode 100644 index 0000000..f42aa9d Binary files /dev/null and b/MyApplication2/app/src/main/res/drawable/ic_home.png differ diff --git a/MyApplication2/app/src/main/res/drawable/ic_launcher_background.xml b/MyApplication2/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/ic_launcher_foreground.xml b/MyApplication2/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/MyApplication2/app/src/main/res/drawable/listmagnifyingglass.xml b/MyApplication2/app/src/main/res/drawable/listmagnifyingglass.xml new file mode 100644 index 0000000..483d117 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/listmagnifyingglass.xml @@ -0,0 +1,38 @@ + + + + + + + + + diff --git a/MyApplication2/app/src/main/res/drawable/user.xml b/MyApplication2/app/src/main/res/drawable/user.xml new file mode 100644 index 0000000..1fc97b8 --- /dev/null +++ b/MyApplication2/app/src/main/res/drawable/user.xml @@ -0,0 +1,23 @@ + + + + + + + diff --git a/MyApplication2/app/src/main/res/layout/activity_main.xml b/MyApplication2/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..0329c19 --- /dev/null +++ b/MyApplication2/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,27 @@ + + + + + + + + \ No newline at end of file diff --git a/MyApplication2/app/src/main/res/layout/buyfragment.xml b/MyApplication2/app/src/main/res/layout/buyfragment.xml new file mode 100644 index 0000000..74f81ad --- /dev/null +++ b/MyApplication2/app/src/main/res/layout/buyfragment.xml @@ -0,0 +1,61 @@ + + + + + + + +