J2MEで検索する方法が気になります。私はインターネットで検索しているので、多くの結果が表示されます。Java2s.comで、レコードストアでの検索の結果の使用RecordFilter
と一致の方法を取得しました。
しかし、私の問題は、2つ以上のパラメーターを渡す必要がある場合です。結果はこれらのパラメータとどのように一致しますか?
そして、バブルソートのように降順または昇順でソートする方法は?
検索を単一の文字列変数に連結します。;
たとえば、それぞれを区切ります。matches
メソッドのコードでは、文字列を分解して各検索基準を取得します。フィルターを有効にするには、SearchFilter のインスタンスを作成matches
し、連結された String をパラメーターとしてメソッドを呼び出します。インターフェースをsort
実装するにはRecordComparator
; メソッドを実装しcompare
てソート基準を構築します。j2me+recordcomparator について Google 検索を行い、並べ替えの方法の例を確認してください。
編集 :
メソッドのコードではmatches
、byte[] パラメータから取得した String パラメータを展開します。分解された各文字列を処理して基準を作成します。私が理解しているように、あなたが書いたときに検索基準として2つの文字列を渡したいと思っています:
SearchFilter search = new SearchFilter(txtSearch.getString(), strType);
したがって、コンストラクターには2つのパラメーターが必要です!!!
マッチングを行いたい場合はお電話ください
if searchFilter.matches((search1+";"+sType).getBytes())
次に、メソッドcandidate
をコーディングするときに、param を 2 つの String に分解しますmatches
。
データを RMS に保存するときは、各従業員の名前、年齢、給与、EmpID を保存するように String[] として保存します。配列を作成してバイトに変換し、RMS に保存します。取得するときは、逆のプロセスを実行します。名前が A で始まり、給与が 10000 の従業員を取得する場合は、次のフィルターを使用します
class UtilFilter implements RecordFilter{
public UtilFilter(String str_searchText,String str_searchText1)
{
this.str_searchText = str_searchText.toLowerCase();
this.str_searchText1 = str_searchText1.toLowerCase();
}
public boolean matches(byte[] bt_byteData)
{
String str_str = "";
String str_str1 = "";
//here goes code how u get back ur String[] from RMS say u get it in Data
str_str = Data[0].trim();
str_str1 = gd_cd.Data[2].trim();
if(str_searchText != null && str_searchText1 != null && str_str.equals(str_searchText) && str_str1.equals(str_searchText1 ))
{
return true;
}
else
{
return false;
}
}
}
このようにして、任意のパラメーターをフィルタリングできます。:)