2017-07-27 105 views
0
public class SearchActivity extends AppCompatActivity { 

    private EditText InputString; 
    private Button btnScan, btnSearch; 
    private DatabaseReference mFirebaseDatabaseReference; 

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

     InputString = (EditText) findViewById(R.id.input_search); 
     btnScan = (Button) findViewById(R.id.btn_Scan); 
     btnSearch = (Button) findViewById(R.id.btn_Search); 
     mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference(); 


     btnSearch.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       final String checkString = "InputString"; 

       Query query = mFirebaseDatabaseReference.child("Stock").orderByChild("productName").orderByChild("productId").equalTo(checkString); 
       query.addListenerForSingleValueEvent(new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 

         setContentView(R.layout.activity_product__detail_); 
        } 

        @Override 
        public void onCancelled(DatabaseError databaseError) { 

        } 
       }); 
      } 
     }); 
    } 
} 

I am saving the data as follow in Firebase,搜索产品在火力地堡

我想这样做让用户搜索,如果在“产品名称”,“产品编号”或者使用“条形码”的用户关键字来搜索产品,然后应用程序将显示在产品detail.For例如,用户输入“软钢”,则应用程序将显示商品名称,商品码,条形码和数量

+3

你有代码到目前为止,你想显示,或尝试?即使它是错误的,请添加它 –

+1

请参阅Firebase上的一些教程。这不是一个家庭作业门户。如果您遇到问题,请实施并提出问题 –

+0

以供参考,这称为查询,并在Firebase入门指南:[使用列表](https://firebase.google.com/docs/database/android/lists-of-data)请参阅过滤数据部分 – Jay

回答

0

在这里的示例代码

final String checkString = "inputString"; 

Query query = mDatabase.child("user").orderByChild("productName").equalTo(checkString); 

query.addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 

    } 
0
mDatabase.child("e-inventory-store").chile("Stock") 
    .addListenerForSingleValueEvent(new 
    ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Map<String, String> map = (Map<String, String>) dataSnapshot.getValue(); 
      String productName = map.get("productName"); 

     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

试试这个,