3

そのため、これを 3 回試しましたが、Firebase と通信する Android アプリケーションをうまく作成できませんでした。チュートリアルと同じくらい簡単ですが、私またはそれ (おそらく前者) のいずれかが何かが欠けていると思わずにはいられません。

私が作成しているサンプル アプリは、 https: //dummy-firebase.firebaseio.com/ で私の Firebase に変更を加えて更新する必要がある TextView を保持するだけです(公共の Firebase を作成できないため、必要に応じて独自の Firebase の URL を貼り付けてコードをテストできます)。Firebase にあるもののスナップショットを次に示します。

Firebase スナップショット

これが私の唯一のアクティビティの onCreate です:

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

    Firebase f = new Firebase("https://dummy-firebase.firebaseio.com");
    f.addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot arg0) {
            TextView textViewSample = (TextView) findViewById(R.id.sampleTextView);
            textViewSample.setText(arg0.getValue(String.class));
        }

        @Override
        public void onCancelled() {
            // TODO Auto-generated method stub
        }
    });
}

XML ファイルの activity_main.xml は次のとおりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/sampleTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

そして、ここにマニフェストの写真があるので、インターネットの許可をはっきりと見ることができます:

ここに画像の説明を入力

ブラウザから Firebase のデータを変更すると、TextView のデータが更新されるはずです。これは起こっていません。以前の Firebase Android プロジェクトの試みで、EditTexts と Buttons を使用してデータを配置しようとして失敗しました。

ご覧いただきありがとうございます。Firebase のセットアップが非常にシンプルに見える (そして Javascript バージョンの場合) ため、私は自分が何を間違っているのか本当に困惑しています!

ありがとう!!

4

2 に答える 2

4

最新の SDK (v1.0.2) を試してみて、問題が解決するかどうかを確認できますか? Android の SSL 制限の一部に対する回避策を追加しました。

https://www.firebase.com/docs/downloads.html

于 2013-07-15T23:09:05.913 に答える
0

このコードを試してください。pojo クラスを使用しています。

  buttonSave.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Creating firebase object
            Firebase ref = new Firebase(Config.FIREBASE_URL);

            //Getting values to store
            String name = editTextName.getText().toString().trim();
            String address = editTextAddress.getText().toString().trim();

            //Creating Person object
            Person person = new Person();

            //Adding values
            person.setName(name);
            person.setAddress(address);

            //Storing values to firebase
            ref.child("Person").setValue(person);


            //Value event listener for realtime data update
            ref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot snapshot) {
                    for (DataSnapshot postSnapshot : snapshot.getChildren()) {
                        //Getting the data from snapshot
                        Person person = postSnapshot.getValue(Person.class);

                        //Adding it to a string
                        String string = "Name: "+person.getName()+"\nAddress: "+person.getAddress()+"\n\n";

                        //Displaying it on textview
                        textViewPersons.setText(string);
                    }
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                    System.out.println("The read failed: " + firebaseError.getMessage());
                }
            });

        }
    });

出典: Firebase Android チュートリアル

于 2016-02-25T02:35:06.460 に答える