2017-07-27 108 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) { 

     } 
    }); 

試試這個,