[안드로이드 앱 만들기] firebase의 database 어플 #6(firebase upload)


지난 포스팅에 이어, 서버에 데이터를 보낼 Java 코딩을 해보겠습니다.


매우 간단합니다!


AddActivity.java

package com.tistory.hamzzibari.upload_firebase;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.Exclude;
import com.google.firebase.database.FirebaseDatabase;

import java.util.HashMap;
import java.util.Map;

public class AddActivity extends AppCompatActivity {

    DatabaseReference mDatabase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add);

        //아이디 정의
        Button add_savebtn = (Button) findViewById(R.id.add_savebtn);
        final EditText add_title = (EditText) findViewById(R.id.add_title);
        final EditText add_url = (EditText) findViewById(R.id.add_url);

        //온클릭리스너
        add_savebtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //edittext에 저장된 텍스트 Strig에 저장
                String get_title = add_title.getText().toString();
                String get_url = add_url.getText().toString();

                //hashmap 만들기
                HashMap result = new HashMap<>();
                result.put("title", get_title);
                result.put("url", get_url);

                //firebase 정의
                mDatabase = FirebaseDatabase.getInstance().getReference();
                //firebase에 저장
                mDatabase.child("article").push().setValue(result);

            }
        });
    }

}

<간단 정리>
1. add.xml의 버튼과 에딧텍스트의 아이디를 정의해주고 
(Edittext 앞에 final을 붙인 이유는 OnclickListener에서 사용하기 위함입니다. 다른 방법으로는 class에 바로 정의를 해도 된답니다)
2. 온클릭리스너에서 String에 Edittext의 텍스트를 가져옵니다. 
3. 그리고 HashMap에 String을 저장해줍니다. 
4. firebase를 정의한 뒤에 저장하면 끝! 

<상세 정리>
맨 아랫부분을 보면 mDatabase.child("article").setValue(result); 가 있죠? 
여기서 child("article")은 데이터베이스에 article이라는 폴더를 만들어서 그 안에 데이터를 저장하겠다는 의미입니다. 

직접 한번 해보겠습니다. 

firebase upload

제목에 naver, URL에 www.naverr.com 을 적고 저장버튼을 눌러보겠습니다. 

firebase upload

firebase의 database로 들어가보면 article라는 폴더(?)가 생기고 그 안에 데이터가 저장되는 모습을 볼 수 있습니다. 저장을 누르면 계속 추가된답니다^^


굉장히 쉬운 firebase database write(upload)를 알아보았습니다! 


아참, 만약에 데이터를 더 추가하고 싶다면 
//hashmap 만들기
HashMap result = new HashMap<>();
result.put("title", get_title);
result.put("url", get_url);
이 부분에 put을 추가하면 된답니다. (물론 Edittext를 더 만들거나 해야겠죠^^)
 


댓글

Designed by JB FACTORY