Android 为什么我不能通过Firebase从我的设备获取数据?

Android 为什么我不能通过Firebase从我的设备获取数据?,android,html,firebase,Android,Html,Firebase,我的java代码请参见以下内容: package com.example.user.firebase; public class MainActivity extends ActionBarActivity { private Firebase mRef; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

我的java代码请参见以下内容:

package com.example.user.firebase;
public class MainActivity extends ActionBarActivity {

private Firebase mRef;

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

@Override
protected void onStart(){
    super.onStart();
    Button mbuttonHigh = (Button) findViewById(R.id.buttonHigh);
    Button mbuttonLow = (Button) findViewById(R.id.buttonLow);
    final TextView mtextViewCondition = (TextView) findViewById(R.id.textViewCondition);

    mRef = new Firebase("https://myfire.firebaseio.com/light/GPIO");
    mbuttonLow.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           mRef.setValue("0");
        }
    });

    mbuttonHigh.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mRef.setValue("1");
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}
var myDataRef = new Firebase('https://myfirebase.firebaseio.com/light');
    function high(){
        var gpio = "1";
        myDataRef.set({
            GPIO: gpio,
        });
};

function low(){
    var gpio = "0";
    myDataRef.set({
        GPIO: gpio,
    });
};
我可以将“0”或“1”发送到我的firebase。但我不知道为什么我的设备(ARM coretex M3 EVB)无法获取数据

当我使用HTML时,我的设备(ARM coretex M3 EVB)可以获取数据。我的HTML代码请参见以下内容:

package com.example.user.firebase;
public class MainActivity extends ActionBarActivity {

private Firebase mRef;

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

@Override
protected void onStart(){
    super.onStart();
    Button mbuttonHigh = (Button) findViewById(R.id.buttonHigh);
    Button mbuttonLow = (Button) findViewById(R.id.buttonLow);
    final TextView mtextViewCondition = (TextView) findViewById(R.id.textViewCondition);

    mRef = new Firebase("https://myfire.firebaseio.com/light/GPIO");
    mbuttonLow.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           mRef.setValue("0");
        }
    });

    mbuttonHigh.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mRef.setValue("1");
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}
var myDataRef = new Firebase('https://myfirebase.firebaseio.com/light');
    function high(){
        var gpio = "1";
        myDataRef.set({
            GPIO: gpio,
        });
};

function low(){
    var gpio = "0";
    myDataRef.set({
        GPIO: gpio,
    });
};
这两种方式都可以正常发送到firebase。我不知道为什么我的设备(ARM coretex M3)不能通过java获取数据。java的setvale()和html的set不同吗

多谢各位。
:D

您需要向Firebase引用添加一个侦听器

this.mRef2.child("thing").addChildEventListener(new ChildEventListener() {..});

或者添加ValueEventListener。

谢谢您的回答。我的设备是ARM CoreTex M3 EVB。请下次也包括读取数据的代码,因为问题很可能是写入和读取操作的数据结构不匹配。看见