Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Olive Study Room

[Android Studio] 기초 본문

카테고리 없음

[Android Studio] 기초

Olive Dev 2021. 7. 13. 02:30

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()

Comments