
Android 스튜디오 설정 | Android Basics Compose - First Android app | Android Developers
첫 번째 프로젝트를 만들고 기기 또는 에뮬레이터에서 실행할 수 있도록 Android 스튜디오를 설치하고 설정합니다.
'Android' 카테고리의 글 목록
코틀린으로 안드로이드 탭 레이아웃(Tab Layout) 쉽게 만들기
탭 레이아웃 (Tab Layout) 안드로이드에서 가장 많이 쓰이는 UI 가 있다면 단연코 탭 레이아웃(Tab Layout) 을 뽑을 수 있습니다. 토스, 카카오톡을 비롯한 많은 기업들의 앱에서도 채용하고 있는데요. 화면을 크게 방해하지 않으면서도 최대 4 ~ 5개 가량의 메뉴를 가장 직관적으로 보여줄 수 있기 때문입니다. 시작하기 전에 안드로이드에서 탭 레이아웃(Tab Layout)을 구성하는 방법은 꽤 다양합니다. 탭 버튼을 각각 만들어 배치/구성 하는 방법(이건 진짜 옛날 방식이고 아주아주 피곤한 방법이에요.), 탭 레이아웃(Tab Layout) 을 이용하여 구성하는 방법, 네비게이션을 이용하여 구성하는 방법 등 여러가지가 있습니다. 하지만 별별코딩에서는 가장 기본이 되는 탭 레이아웃(Tab Lay..
![[코틀린 안드로이드 기초 강의] 14-9 화면 구성하기: 탭메뉴 뷰페이저와프래그먼트](https://i.ytimg.com/vi/pfte5i84D8Q/maxresdefault.jpg)
[코틀린 안드로이드 기초 강의] 14-9 화면 구성하기: 탭메뉴 뷰페이저와프래그먼트
※ 이 동영상은 『이것이 안드로이드다 with 코틀린』 (개정판) 책 내용을 토대로 제작되었습니다. ▶ 도서 자세히 보기 : https://www.hanbit.co.kr/store/books/look.php?p_code=B3136457679 ※ 주요 학습 내용 코틀린, 안드로이드, 안드로이드 스튜디오! 코틀린으로 안드로이드 앱을 개발하려면 살펴봐야 할 사항이 많습니다. 특히 코틀린 1.4.20 버전부터는 코틀린 익스텐션이 폐기되는 터라 입문자로서 더욱 혼란스럽습니다. 이것이 안드로이드다 with 코틀린(개정판)은 최신 버전에 대응해 코틀린 익스텐션 코드를 걷어내고 뷰바인딩 코드로 전면 수정했습니다. 물론 안드로이드 스튜디오 4.1과 4.2 베타, 그리고 안드로이드 11에 맞게 테스트했으며 MediaStore, Room, 코루틴 등의 설명도 추가했습니다. ※ 추천합니다! - 코틀린은 처음이다. 만들고 싶은 앱이 있다. - SW 개발자가 되고 싶다. 앱 개발을 잘하고 싶다. - 입사 후 의지와 상관없이 업무상 앱 개발을 담당하고 있다. ❝앱 개발의 시작부터 실무까지❞ Android 입문의 3가지 장벽인 언어+실전+환경을 대응합니다. 개발에 익숙한 사람보다는 막연히 개발자가 되고 싶거나, 개발에 대한 배경지식이 없는 입문자를 대상으로 집필하였습니다. 안드로이드 스튜디오 사용법과 코틀린의 기본 문법부터 오픈 API를 활용해 안드로이드 앱을 만들고, 구글 플레이 스토어에 출시하는 과정까지 안드로이드 앱 개발에 필요한 모든 과정을 설명합니다. 〉 책으로만 공부하는 것보다 효과를 높이기 위해서, 무료로 동영상 강의를 공개합니다. 〉 어디 물어볼곳이 없어 막막하신 분들을 돕기 위해서, Q&A 커뮤니티가 준비 되어 있어요. 공부하다가 막히면 저자님이 직접 도와 주십니다. ▶ 질문하기 : 커뮤니티에 질문을 올리시거나 영상에 댓글을 달아주세요. https://flow9.net/
[ Android Studio -Git ] 안드로이드 스튜디오 깃허브 연동 하기 (커밋/푸쉬
1 - 1. Git 버전 확인 1 - 2. File → Settings 1) Version Control 클릭 2) Git 클릭 3) test버튼 클릭 → 현재의 깃 버전과 실행 테스트를 진행할 수 있음 1 - 3 버전 확인 완료 https://dev-cini.tistory.com/5 [ GitHub ] 깃허브(GitHub) 연동하기 - 스프링(Spring) 깃허브 스프링 연동 1. 사이트 접속 !! https://github.com/ GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the.. dev-cini...
Basic Info

- xml: 어플이 사용할 권한 지정 및 어플 기본 정보 지정 (= include)
- kt: 코틀린 파일, 각 기능적인 정보가 저장되는 공간
Tip!
Run

Clone

Original Code
build.gradle.kts
plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) } android { namespace = "com.example.madcamp_project1" compileSdk = 34 defaultConfig { applicationId = "com.example.madcamp_project1" minSdk = 24 targetSdk = 34 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.1" } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.ui.test.junit4) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) }
xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.MadCamp_Project1" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/Theme.MadCamp_Project1"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
MainActivity.kt
package com.example.madcamp_project1 import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.example.madcamp_project1.ui.theme.MadCamp_Project1Theme import androidx.compose.ui.graphics.Color class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { MadCamp_Project1Theme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> Greeting( name = "Android", modifier = Modifier.padding(innerPadding) ) } } } } } @Composable fun Greeting(name: String, modifier: Modifier = Modifier) { Text( text = "Hello my name is $name!", modifier = modifier ) } @Preview(showBackground = true) @Composable fun GreetingPreview() { MadCamp_Project1Theme { Greeting("Android") } }
- splash 화면?
- text click, …
GitHub - junsu1023/Android-Study at tab-layout
Android 공부. Contribute to junsu1023/Android-Study development by creating an account on GitHub.
