본문 바로가기
개발/안드로이드

안드로이드 스튜디오 - Button, Toast, Intent

by lovely-hoi85 2015. 4. 6.

1. 버튼 생성

res> layout> activity_main.xml

<Button android:text="@string/hello_world"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onButton1Clicked" />

 

value> strings.xml

<resources>
    <string name="app_name">My Application</string>
    <string name="hello_world">안녕?</string>
    <string name="action_settings">Settings</string>
</resources>


 

 

2. 토스트 띄우기

java> MainActivity

public void onButton1Clicked(View v){
        Toast.makeText(getApplicationContext(), "시작버튼이 눌렸어요.", Toast.LENGTH_LONG).show();
    }

 

 

 

** Toast : 잠깐 보였다가 사라지는 메시지

 

3. 여러개 버튼 기능

1) 인터넷창 띄우기

2) 전화걸기

3) 다른창 띄우기

 

layout> activity_main.xml

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="네이버 접속하기"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="onButton1Clicked" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="전화걸기"
        android:id="@+id/button2"
        android:layout_below="@+id/button"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="25dp"
        android:layout_alignRight="@+id/button"
        android:layout_alignEnd="@+id/button"
        android:onClick="onButton2Clicked" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="새 화면 띄우기"
        android:id="@+id/button3"
        android:layout_below="@+id/button2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="32dp"
        android:layout_alignRight="@+id/button2"
        android:layout_alignEnd="@+id/button2"
        android:onClick="onButton3Clicked" />

 

layout> activity_new.xml

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="뒤돌아가기"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="onButton1Clicked" />

 

java> MainActivity

public void onButton1Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
        startActivity(myIntent);
    }

    public void onButton2Clicked(View v){
        Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:010-1000-1000"));
        startActivity(myIntent);
    }

    public void onButton3Clicked(View v){
        Intent intent = new Intent(getApplicationContext(), NewActivity.class);
        startActivity(intent);
    }

 

java> NewActivity

public void onButton1Clicked(View v){
        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(intent);
    }

 

layout 추가 시 manifests 새로운 activity name 추가  ( 추가 x -> 오류발생)

<application>

.

.

 <activity android:name=".MainActivity"> . . . </activity>

<activity android:name="NewActivity"></activity>

</application>

 

 

 

     

** Intent : 여러 activity 간 data를 주고 받고 대상에게 무엇을 하려는지 의도 전달 목적으로 사용되는 객체