检查密钥是否存在的方法
我想创建一个check方法,如果它存在则返回true,否则返回false。
数据库结构:
{
"images" : {
"partner " : {
"text" : "partner",
"url" : "http://res.cloudinary.com/dg3jylcsw/image/upload/v1483565650/sister_x3lv6j.png"
},
"sister" : {
"text " : "sister",
"url" : "http://res.cloudinary.com/dg3jylcsw/image/upload/v1483565650/sister_x3lv6j.png"
}
}
}
主要活动类:
package com.example.android.testy;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.firebase.client.ChildEventListener;
import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import com.firebase.client.Query;
import com.firebase.client.ValueEventListener;
import java.util.ArrayList;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Firebase.setAndroidContext(this);
final EditText edittext = (EditText)findViewById(R.id.editText);
final TextView text = (TextView) findViewById(R.id.textView);
Button bt = (Button) findViewById(R.id.button);
String s;
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String s = edittext.getText().toString();
ArrayList<String> data = new ArrayList<String>(Arrays.asList(s.split(" ")));
text.setText(s);
String temp = (String) data.get(0);
boolean h = MainActivity.check(temp);
}
});
}
public static boolean check(String test){
Firebase rootRef = new Firebase("https://test-219f8.firebaseio.com/images");
final Query queryRef = rootRef.orderByKey().equalTo(test);
queryRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
}else{
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("not exist");
}
});
return ?;
}
答案 0 :(得分:0)
你只需要使用这个布尔函数containsKey
boolean check_rate = newPost.containsKey("mykey");
if(check_rate == true){
String disp_rate = newPost.get("mykey").toString();
rate_count.setText(disp_rate);
}
else{
System.out.println("FAILED");
}
答案 1 :(得分:0)
if(datasnapshat.haschild(“KEYNAME”))
{
//DO stuffs
}
否则 {
}