无法使Android应用程序连接到Firebase

无法使Android应用程序连接到Firebase,android,firebase,Android,Firebase,因此,我已经尝试了3次,但都没有成功制作出一个能够与Firebase通信的Android应用程序。简单的说,我忍不住想,要么是我,要么是它(很可能是前者)遗漏了什么 我正在制作的示例应用程序只是保存了一个文本视图,该视图应该随着对我的Firebase的任何更改而更新(因为我无法创建公共Firebase,如果您愿意,可以粘贴您自己的Firebase的URL以测试代码)。以下是Firebase上的快照: 以下是我唯一活动的onCreate: @Override protected void onC

因此,我已经尝试了3次,但都没有成功制作出一个能够与Firebase通信的Android应用程序。简单的说,我忍不住想,要么是我,要么是它(很可能是前者)遗漏了什么

我正在制作的示例应用程序只是保存了一个文本视图,该视图应该随着对我的Firebase的任何更改而更新(因为我无法创建公共Firebase,如果您愿意,可以粘贴您自己的Firebase的URL以测试代码)。以下是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项目尝试中,我尝试使用EditText和按钮来放置数据,但没有成功

提前感谢您抽出时间查看此内容。由于Firebase的设置似乎很简单(而且是针对Javascript版本的),我真的很困惑我到底做错了什么


谢谢

您能试用最新的SDK(v1.0.2)看看它是否能解决问题吗?我们刚刚为Android的一些SSL限制添加了一个解决方案


试试这段代码。它使用的是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());
                }
            });

        }
    });

来源:

顺便说一句,我是通过Eclipse在物理2.2设备(不是模拟器)上运行这个程序的,并且设备的internet连接很好。(在Wi-Fi和3G上都进行了测试)。谢谢您能试用其中一个示例应用程序,看看它们是否能在您的设备上运行吗?这将让我们知道您的项目是否存在问题,或者是Android SDK是否存在问题(完全可能,SDK是新的,并且处于测试阶段)。你应该能够直接在你的设备上安装或测试它们。@MichaelLehenbauer:我刚刚在物理2.3.6手机(三星Galaxy Ace)上试用了Firebase repo中的AndroidDrawing和AndroidChat应用程序,它们都不起作用。没有强制关闭,但它们只是没有连接。好的,谢谢。听起来像是我们这边的问题。我们会看一看,然后再联系你(可能下周)。欢迎发电子邮件support@firebase.com更新。很抱歉给您带来不便!试着看看f.setValue(“test”);有效吗?我使用相同的sdk和jar文件,api级别为14,并在emulator中运行,但我仍然面临着相同的问题无论上面提到的是什么,我的代码对于eclipse的简单代码行都不起作用。有人能告诉我问题出在哪里吗@格雷格·索蒂斯