Android 为什么我不能通过Firebase从我的设备获取数据?
我的java代码请参见以下内容: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
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。请下次也包括读取数据的代码,因为问题很可能是写入和读取操作的数据结构不匹配。看见