즉시 목표 : 나는 안드로이드에중포 기지에서 검색 - 경계의 색인 아웃
장기 목표를 정보를 기록하려면를 표시 할 수 있도록 중포 기지에서 데이터를 검색 : 중포 기지에서 데이터를 검색 그래서 나는 그것을 표시 할 수 있습니다 텍스트 뷰 또는 오더 뷰
연구 : 유튜브, 구글, 유래, 그리고 (특히 https://firebase.google.com/docs/database/android/read-and-write) 중포 기지 문서
내가 뭘 시도했는지 : 나는 오류 잡기를 시도했거나 오류가없는 경우 로그를 보냈지 만 실제로 오류를 수정하지는 않는다.
오류 :
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:411)
at com.netgalaxystudios.timeclock.RegisterSubscriptionActivity.onCreate(RegisterSubscriptionActivity.java:80)
에러이 라인에서 발생된다 ENUM subscriptionInfo.get = (0)로 .toString();
나는 내가 DataSnapshot가 있습니다 .. .getValue 방법
중포 기지 DB specificall 이해 확실하지 않다 : Firebase Database
RegisterSubscriptionActivity.java :
public class RegisterSubscriptionActivity extends Activity {
private DatabaseReference mDatabase;
ArrayList subscriptionInfo;
//Subscription (String) values
String micro, small, medium, large, enterprise;
String mNum, sNum, medNum, lNum, eNum;
String mPrice, sPrice, medPrice, lPrice, ePrice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register_subscription);
subscriptionInfo = new ArrayList<>();
//GET INSTANCE OF FIREBASE DB & GRAB SUBSCRIPTION DATA
mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("Subscription").addValueEventListener(new ValueEventListener() { //get everything UNDER subscription
@Override
public void onDataChange(DataSnapshot dataSnapshot) { //literally a "snapshot" of the data
for(DataSnapshot subscriptionDataSnapshot : dataSnapshot.getChildren()) {
String subscriptions = subscriptionDataSnapshot.getValue(String.class);
subscriptionInfo.add(subscriptions);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
//MICRO
//mNum = subscriptionInfo.get(6).toString();
// mPrice = subscriptionInfo.get(7).toString();
// micro = subscriptionInfo.get(11).toString();
//ENTERPRISE
eNum = subscriptionInfo.get(0).toString();
Log.i("enterprise number", eNum);
을
제가 빠진 부분이나 내가 더 볼 필요가있는 부분을 이해하도록 도와주십시오. 고마워요!
안녕 티모는, 귀하의 의견 주셔서 감사합니다, 나는 당신이 그것을 비동기되고 따라서 왜 당신에 대해 무슨 말을하는지 이해 생각 코드를 수정했습니다. 나는 이것을 사용해 보았고 "unknown class eNum"을 얻었고 "symbol get을 해결할 수 없다"(eNum = subscriptionInfo.get (0) .toString();) –
그래서 코드의 일부를 for 루프를 사용하여 오류를 없애지 만 화면에 아무런 로그도 인쇄되지 않습니다. 따라서 onDataChange에 점점 더 많은 것이 있는지 궁금합니다. –