Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase数据检索geter错误_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java Firebase数据检索geter错误

Java Firebase数据检索geter错误,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图从我的firebase实时数据库中获取一些数据,如下所示,但无法找出问题在代码中的什么地方困扰着我。我想不出问题出在哪里。有人能指出吗?任何事情都将不胜感激!代码附在下面- `包com.example.abed.smit import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import

我试图从我的firebase实时数据库中获取一些数据,如下所示,但无法找出问题在代码中的什么地方困扰着我。我想不出问题出在哪里。有人能指出吗?任何事情都将不胜感激!代码附在下面- `包com.example.abed.smit

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;

public class FindMedicineActivity extends AppCompatActivity {

private Button SearchButton_medicine;
private EditText SearchInput_medicine;

private RecyclerView SearchResult_medicine;

private DatabaseReference allDocdatabaseref;

FirebaseRecyclerAdapter<FindMedicine,FindMedicineViewHolder> firebaseRecyclerAdapter;

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

    SearchResult_medicine = (RecyclerView) findViewById(R.id.search_result_list2);
    SearchResult_medicine.setHasFixedSize(true);
    SearchResult_medicine.setLayoutManager(new LinearLayoutManager(this));

    SearchButton_medicine =  findViewById(R.id.search_people_btn2);
    SearchInput_medicine = (EditText) findViewById(R.id.Search_box_input2);

    allDocdatabaseref = FirebaseDatabase.getInstance().getReference().child("MEDICINE");


    SearchButton_medicine.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String searchBoxInput1 = SearchInput_medicine.getText().toString().trim();

            SearchMedicine(searchBoxInput1);


        }
    });
}

private void SearchMedicine(String searchBoxInput1) {

    Toast.makeText(this, "searching..", Toast.LENGTH_LONG).show();

    Query searchmedicinequery = allDocdatabaseref.orderByChild("medicinename").startAt(searchBoxInput1).endAt(searchBoxInput1 + "\uf8ff");

    firebaseRecyclerAdapter
            = new FirebaseRecyclerAdapter<FindMedicine, FindMedicineViewHolder>(
            FindMedicine.class,
            R.layout.all_medicine_display_layout,
            FindMedicineViewHolder.class,
            searchmedicinequery

    ) {
        @Override
        protected void populateViewHolder(FindMedicineViewHolder viewHolder, FindMedicine model, int position) {
             viewHolder.setMedicinename(model.getMedicinename());
        }
    };
    SearchResult_medicine.setAdapter(firebaseRecyclerAdapter);
    firebaseRecyclerAdapter.startListening();
}

private class FindMedicineViewHolder extends RecyclerView.ViewHolder {
    View mView;

    public FindMedicineViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
    }



    public void setMedicinename(String medicinename) {
        TextView Docname = mView.findViewById(R.id.all_user_profile_name2);
        Docname.setText(medicinename);
    }
}
}

xml全医学

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#000000">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_margin="5dp">

    <TextView
        android:id="@+id/all_user_profile_name2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="UserFullNAme"
        android:textColor="#91DC5A"
        android:textSize="18sp" android:textStyle="bold"/>


</LinearLayout>


</LinearLayout>

查找医学xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
tools:context=".FindMedicineActivity">


<RelativeLayout
    android:id="@+id/myLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true">


    <EditText
        android:id="@+id/Search_box_input2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:drawableLeft="@drawable/ic_action_name"
        android:hint="Enter Bmdc Number"
        android:textColor="#FFFFFFFF"
        android:textColorHint="#FFFFFFFF"
        android:textSize="16sp"
        android:textStyle="bold" />


    <Button
        android:id="@+id/search_people_btn2"
        android:layout_width="170dp"
        android:layout_height="30dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="94dp"
        android:layout_marginTop="67dp"
        android:background="@drawable/buttonshape"
        android:shadowColor="#A8A8A8"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="5"
        android:text="Confirm"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="94dp" />

</RelativeLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/search_result_list2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/myLayout2"
    android:layout_margin="10dp"
    android:background="#000000"

    >

</android.support.v7.widget.RecyclerView>

</RelativeLayout>

我想这是一个访问问题,现在我认为你的应用程序中没有身份验证。所以我想这是一个数据库规则问题

检查实时数据库中的规则选项卡并执行以下操作(如果不是):


我想这是一个访问问题,现在我认为你的应用程序中没有身份验证。所以我想这是一个数据库规则问题

检查实时数据库中的规则选项卡并执行以下操作(如果不是):

将您的查询更改为-

Query searchmedicinequery = allDocdatabaseref.orderByChild("name").startAt(searchBoxInput1).endAt(searchBoxInput1 + "\uf8ff");
根据firebase文件- 该类具有空构造函数,这是Firebase自动数据映射所必需的

因此,将您的模型更改为-

public class FindMedicine {

    public String name;

    public FindMedicine() {
    }

    public FindMedicine(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
将您的查询更改为-

Query searchmedicinequery = allDocdatabaseref.orderByChild("name").startAt(searchBoxInput1).endAt(searchBoxInput1 + "\uf8ff");
根据firebase文件- 该类具有空构造函数,这是Firebase自动数据映射所必需的

因此,将您的模型更改为-

public class FindMedicine {

    public String name;

    public FindMedicine() {
    }

    public FindMedicine(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

还要添加活动的xml(FindMedicineActivity).done先生。。我补充说他们看起来都很好。是的,先生!这就是我问的原因!长官,svi,请帮帮我!还要添加活动的xml(FindMedicineActivity).done先生。。我补充说他们看起来都很好。是的,先生!这就是我问的原因!长官,svi,请帮帮我!{“规则”:{.read:true,.write:true}}@ABED将它们设置为true(如果不是)。请确保您的google帐户服务。json是正确的{“规则”:{.read:true,.write:true}}@ABED如果不正确,请将它们设置为true。请确保您的google帐户服务。json是正确的