일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- naver storage bucket error
- f035d
- MySQL
- naver storage
- onsenui
- sort
- vuejs
- 프로세스 방지
- Vuetify
- nodejs
- c#
- 동일 프로그램
- Vue
- JavaScript
- CSS
- vuetifyjs
- error
- bucket max-key
- v-text-field height
- kotlin
- onsen-ui
- sequelize
- bucket cors
- Electron
- electron-nuxt
- NUXT
- xlsx
- v-select
- 동일 프로세스
- Android
- Today
- Total
앙큼한 개발기록
firebase android connect 파이어베이스 안드로이드 연결 본문
안드로이드랑 파이어베이스랑 연결 하는 방법.
1. 파이어베이스 홈페이지에서 회원 가입 하고 새로운 파이어베이스 프로젝트를 만든다.
2. 왼쪽의 메뉴에서 [Database] - 위에 파란색 헤더라인 [규칙] 에서 read : true , write : true 로 바꿔준다. (누구나 읽고 쓰기 가능 하도록 설정.)
3. [데이터] 에서 임의로 데이터를 집어 넣는다.
데이터 집어 넣을때 [값] 입력 안해주면 데이터 안만들어 집니다.
하위 데이터를 만들고 싶으신 경우 일단 [name] or [이름] 에 값 입력하고 옆에 [+] 버튼 누르면 넘어가집니다.
아무것도 안넣고 싶다고 null 막 넣으면 안만들어지니 참고하세요.
4. 안드로이드 프로젝트에 firebase 연결하기
안드로이드 스튜디오에서 프로젝트를 만듭니다.
[Tools] - [FireBase] - [Realtime Database - Save and Retrieve data] - [Connect your app to Firebase] - 프로젝트를 선택 - [Add the Realtime DataBase to your app]
위의 과정을 끝내고 나면, 파이어베이스를 사용하기 위한 모든 환경설정이 자동으로 처리됩니다.(라이브러리 추가 등등...)
데이터 저장 / 불러오기
public class MainActivity extends AppCompatActivity {
//데이터 베이스
FirebaseDatabase database;
//데이터베이스의 정보
DatabaseReference ref;
//정보 담을 객체
List<User> userList = new ArrayList<>();
//화면에 뿌려줄 뷰
ListView listView;
//데이터 넣어줄 어뎁터
ListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//파이어 베이스와 연결
database = FirebaseDatabase.getInstance();
Log.i("start", "start");
// 파이어 베이스에서 레퍼런스를 가져옴
ref = database.getReference("User");
// 파이어베이스 에서 데이터를 가져 옴
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// 부모가 User 인데 부모 그대로 가져오면 User 각각의 데이터 이니까 자식으로 가져와서 담아줌
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
User user = snapshot.getValue(User.class);
user.User = snapshot.getKey();
Log.i("id", user.User);
Log.i("UserName", user.getName());
Log.i("UserAge", String.valueOf(user.getAge()));
userList.add(user);
}
//어뎁터한테 데이터 넣어줬다고 알려줌 (안하면 화면에 안나온다)
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w("MainActivity", "loadPost:onCancelled", databaseError.toException());
}
});
// 4. 리스트뷰에 목록 세팅
listView = (ListView)findViewById(R.id.listView);
adapter = new ListAdapter(userList, this);
listView.setAdapter(adapter);
}
}
내가 만든 프로젝트 데이터 이름 그대로 데이터를 받을 클래스(저는 User라고 만듦)를 만들어서 데이터를 받습니다.
레퍼런스로 가져 올때는 이름을 반드시 지정해줘야 가져 올 수 있습니다.
데이터스냅샷은 레퍼런스에서 해당 객체를 가져온 하나의 json객체를 지칭합니다.
프로젝트 깃
git android connect project : https://github.com/wmsdsd/firebase-android-connect-test
'개발 > android' 카테고리의 다른 글
[android] kotlin 파일 저장 및 호출 방법 (0) | 2023.05.17 |
---|---|
[android] kotlin에서 SharedPreference 사용하기 (0) | 2023.05.17 |
[android] app (update & delete)시 데이터 유지 (버전관리) (0) | 2023.05.16 |
[android] material datepicker 달력 한글 (0) | 2023.04.02 |
firebase 데이터 구조 (0) | 2018.01.21 |