Olive Study Room
[Android Studio] 기초 본문
manifests
환경 설정. 꼭 이름이 'Androidmanifests' 여야 한다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="calnedarTest4.makecalendar">
<application
// 앱이 파괴되었을 때 복원할 것인지
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
// supportsRightToLeft : 아이콘과 제목같은 것의 기본 정렬
android:supportsRtl="true"
android:theme="@style/Theme.MakeCalendar">
// 추가할 activity가 있을 때 꼭 여기 추가해줘야 한다
// <activity android:name=".SubActivity"/>
// 최초로 시작할 때 사용되는 코드
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity
package calnedarTest4.makecalendar
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.CalendarView
import java.util.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// 일단 첫 UI를 저장
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
값 받아 다른 뷰(다른 xml, class..)로 넘겨주기 (Intent 사용)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var firstBtn: Button = findViewById(R.id.firstBtn)
firstBtn.setOnClickListener {
var toast: Toast = Toast.makeText(this, "ㅋㅋ", Toast.LENGTH_LONG)
// set Gravity는 안드로이드11(API 30)이후에는 먹지 않는다.
// toast.setGravity(Gravity.TOP, 0, 0)
toast.show()
}
var secondBtn: Button = findViewById(R.id.secondBtn)
secondBtn.setOnClickListener {
val intent = Intent(this, SubActivity::class.java )
// intent로 값 주기
intent.putExtra("키", "위")
startActivity(intent)
}
}
class SubActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sub)
val button: Button = findViewById(R.id.buttonBack)
// intent 받아와서 버튼 텍스트로 띄워주기
val intent1 = getIntent()
var text: String? = intent1.getStringExtra("키")
if (text != null) {
button.text = text
}
button.setOnClickListener {
// 화면 전환
val intent = Intent(this, MainActivity::class.java)
// intent로 값 받기
startActivity(intent)
}
}
}
화면 전환은 intent를 통해
Intent(내 activity, 넘길 activity::class.java), startActivity(Intent)
값을 줄 때는 intent.putExtra(다양하게 가능)
받을 때는 getIntent()