누군가의 GPS를 추적하고 있기 때문에 때때로 Firebase에서 데이터를 가져옵니다. 그 사람이 5 분 간격으로 자신의 위치를 저장하므로 GPS를 추적 할 수 있습니다. 하지만 제 문제는 Firebase에서 5 분 간격으로 데이터를 가져 오는 방법입니다.가끔 Firebase에서 데이터를 가져 오는 방법은 무엇입니까?
아니면 다른 방법이 있습니까?
미리 감사드립니다. :)
누군가의 GPS를 추적하고 있기 때문에 때때로 Firebase에서 데이터를 가져옵니다. 그 사람이 5 분 간격으로 자신의 위치를 저장하므로 GPS를 추적 할 수 있습니다. 하지만 제 문제는 Firebase에서 5 분 간격으로 데이터를 가져 오는 방법입니다.가끔 Firebase에서 데이터를 가져 오는 방법은 무엇입니까?
아니면 다른 방법이 있습니까?
미리 감사드립니다. :)
누군가 5 분마다 자신의 위치를 업데이트하는 경우 5 분마다 위치를 추적하려면 실제로 CounterDownTimer
을 실행하지 않아도됩니다. 그래서 당신이 추적하고자하는 Firebase의 노드에 리스너를 추가하기 만하면됩니다.
여기 간단한 구현 방법이 나와 있습니다. Firebase Tutorial
Firebase ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts");
// Attach an listener to read the data at our posts reference
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
에서 복사 내가 거기 너무에서 따옴표를 복사하고 있습니다. 그래서 그것이 당신의 목적에 부합한다는 것을 알게됩니다.
이 방법은 새로운 데이터가 우리의 중포 기지 참조에 추가됩니다 언제 호출됩니다, 우리는 이런 일이 수 있도록 여분의 코드를 작성할 필요가 없습니다.
그래서 추적하려는 사람이 자신의 위치를 업데이트 할 때마다 위에 명시된 방법으로 콜백을 받아 필요한 조치를 취합니다. 추적을 수행하기 위해 실제로 폴링 메커니즘을 구현할 필요는 없습니다. 이것이 파이어베이스가 실제로 작동하는 방식입니다.
아니오 firebase에서 데이터를 검색하기 위해 스케줄러에 대한 서비스를 제공 할 필요가 없습니다.
으로 중포 기지 당신이 리스너가 트리거 당신이 당신의 데이터를 검색 할 수 있습니다 중포 기지 데이터베이스에 데이터를 푸시 할 때마다
데이터베이스가 갱신을받을 때마다이 당신이 당신의 데이터를 검색 할 수 있습니다 사용, 리스너 다음 구현 ... .. 실시간 데이터베이스를 제공 . 청취자에 대한 추가 정보를 원하시면
DatabaseReference mDatabase =FirebaseDatabase.getInstance().getReference();
ValueEventListener yourModelListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get YOURMODEL object and use the values to update the UI
YourModel mModel = dataSnapshot.getValue(YourModel.class);
Log.e("Data : ",""+mModel);
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
}
};
mDatabase.addValueEventListener(yourModelListener);
.. https://firebase.google.com/docs/database/android/retrieve-data
예, 대답이 작동 잘. 추가하는 대신 데이터를 업데이트하기 만하면됩니다. 거기에 대한 방법이 있습니까? – tin
이 콜백 메소드는 업데이트시에도 호출됩니다. 이름은 혼란 스럽다. –
괜찮으 시다면, 예를 들어 드리겠습니다. 이전 마커를 제거하고 현재 마커를 표시하는 대신 실행중인 앱을 확인하면서 'Firebase'에서 특정 어린이의 위도와 경도를 변경/업데이트하려고했습니다. 둘 다 표시됩니다. 하지만 앱을 강제 종료하고 다시 열면 마커에 커렛 마커가 표시됩니다. heheh를 이해하시기 바랍니다. – tin