[안드로이드 앱 만들기] firebase의 database 어플 #3(온클릭리스너)


이번에는 어제 만든 버튼이 실제로 작동할 수 있도록 코드를 짜보겠습니다. 


먼저 총 세개의 Activity(.class)와 세개의 layout(.xml)이 필요합니다.


빈 액티비티 만드는 방법

1. 원하는 경로에 우클릭 → New → Activity → Empty Activity 클릭

온클릭리스너

온클릭리스너

Configure Activity에서 액티비티 이름과 레이아웃 이름을 정해줍니다. 

AddActivity, ModifyActivity, DeleteActivity와 add, modify, delete 레이아웃을 만들어줍니다. 

레이아웃 네임은 보통 activity_add 이런식으로 되는데 그대로 하셔도 무방합니다. 


2. 기존에 있던 Activity와 layout를 총 세 번 ctrl+c, ctrl+v 한다. 단 이럴경우, manifests를 꼭 확인해야합니다. 


manifests.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"
    package="com.tistory.hamzzibari.upload_firebase">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".AddActivity" />
        <activity android:name=".ModifyActivity" />
        <activity android:name=".DeleteActivity"/>
    </application>

</manifest>

addActivity.class

package com.tistory.hamzzibari.upload_firebase;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class AddActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add);
    }
}
add.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".AddActivity">

</android.support.constraint.ConstraintLayout>

이제 MainActivity에서 버튼을 누르면 각 Activity로 넘어가게 코드를 짜야합니다.     

MainActivity의 Oncreate안에 다음 코드를 집어넣습니다. 

 //버튼 정의
        Button main_add = (Button) findViewById(R.id.main_add);
        Button main_modify = (Button) findViewById(R.id.main_modify);
        Button main_delete = (Button) findViewById(R.id.main_delete);

        //온클릭리스너
        main_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, AddActivity.class);
                startActivity(intent);
            }
        });

        main_modify.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, ModifyActivity.class);
                startActivity(intent);
            }
        });

        main_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, DeleteActivity.class);
                startActivity(intent);
            }
        });

버튼 정의를 해 준 뒤, 

setOnclickListener안에 Intent를 정의해주면 끝! 


다음 포스팅에서는 add, modify, deleteActivity의 레이아웃을 꾸며보겠습니다. 




댓글

Designed by JB FACTORY