JAVA的DButil、Hashmap、ListView!

這是在網上看到的範例,在dbutil中有利用soap來和webservice交換數據,其中一個利用soap例子是:

增加貨物:

public void addedGood(String Cname, String Cnum) {

arrayList.clear();

brrayList.clear();

arrayList.add("Cname");

arrayList.add("Cnum");

brrayList.add(Cname);

brrayList.add(Cnum);

Soap.GetWebServre("addedGood", arrayList, brrayList);

}

在MainActivity按下按鈕:

btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

另外在dbutil有用List、soap及Hashmap方式來獲取全部的貨物的資料:

public List<HashMap<String, String>> getAllInfo() {

List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

arrayList.clear();

brrayList.clear();

crrayList.clear();

crrayList = Soap.GetWebServre("selectGood", arrayList, brrayList);

HashMap<String, String> tempHash = new HashMap<String, String>();

tempHash.put("Cno", "Cno");

tempHash.put("Cname", "Cname");

tempHash.put("Cnum", "Cnum");

list.add(tempHash);

for (int j = 0; j < crrayList.size(); j += 3) {

HashMap<String, String> hashMap = new HashMap<String, String>();

hashMap.put("Cno", crrayList.get(j));

hashMap.put("Cname", crrayList.get(j + 1));

hashMap.put("Cnum", crrayList.get(j + 2));

list.add(hashMap);

}

return list;

}

所有貨物在MainActivity有利用SimpleAdapter來轉煥至ListView,然後以ListView方式呈現。

List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

list = dbUtil.getAllInfo();

adapter = new SimpleAdapter(

MainActivity.this,

list,

R.layout.adapter_item,

new String[] { "Cno", "Cname", "Cnum" },

new int[] { R.id.txt_Cno, R.id.txt_Cname, R.id.txt_Cnum });

listView.setAdapter(adapter);

}

按下按鈕就可以呈現所有商品:

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

hideButton(true);

setListView();

}

});

而現在我有一個問題就是,如果只要查詢一個商品,是透過dialog輸入框商品編號來查詢商品資料,請問我該如何做?也是要和呈現所有商品的方法一樣嗎?還是有什麼方法可以寫?

Update:

MainActivity增加貨物:

btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

hideButton(true);

setAddDialog();

}

});

Update 2:

請問回傳的類別是指?

Update 3:

可以寄程式碼到您的email嗎?因為知識+的字數有限

Update 4:

如果把查詢部分用try-catch可以嗎?還是要用if-else?

Update 5:

因為我看一些其他像是用json或是sqlite的查詢範例會用到try-catch,以為會用到。我的查詢listview是和顯示所有項目的listview大致一樣,只有list = dbUtil.getAllInfo();這裡不一樣

Update 6:

public List > query() {

List > list = new ArrayList >();

arrayList.clear();

brrayList.clear();

crrayList.clear();

crrayList = Soap.GetWebServre("getnum", arrayList, brrayList);

HashMap tempHash = new

Update 7:

因為字數有限,因為字數有限,所以寄信給您了

1 Answer

Rating
  • Lei
    Lv 6
    5 years ago
    Best Answer

    文中所提的一些webservice和dbutil

    應該都屬於公司中客製的一些功能或類別

    且目前所列出的程式

    大多是以條列為主

    就是把查詢到的資料

    顯示在ListView

    若要將查詢到的資料顯示出來

    要先看有哪些webservice可以呼叫

    或是dbutil有哪些方法可以用

    然後根據回傳的類別才能決定

    2015-05-20 10:54:43 補充:

    一般狀況下

    會以List >型態回傳的類別

    通常就是要以listview呈現

    若要呈現商品的單品資料

    通常會以HashMap或是其他pojo的型態呈現

    查詢跟try-catch還有if-else似乎沒有太大關係

Still have questions? Get your answers by asking now.