我項目中使用到的以object作為參數的簡單整理
1.android中使用simpleadapter創建自定義的listview
XML部分:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 定義一個List --> <ListView android: android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- 定義一個ImageView,用於作為列表項的一部分。 --> <ImageView android: android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" /> <!-- 定義一個TextView,用於作為列表項的一部分。 --> <TextView android: android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16dp" android:gravity="center_vertical" android:paddingLeft="10dp" /> </LinearLayout>android java部分
package com.example.simpleadaptertest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter; public class SimpleadapterMainActivity extends Activity { private String[] names = new String[] { "虎頭", "弄玉", "李清照", "李白"}; private int[] imageIds = new int[] { R.drawable.tiger , R.drawable.nongyu , R.drawable.qingzhao , R.drawable.libai}; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simpleadapter_main); //創建一個List集合,List集合的元素是Map List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>(); for (int i = 0; i < names.length; i++) { Map<String, Object> listItem = new HashMap<String, Object>(); listItem.put("header", imageIds[i]); listItem.put("personName", names[i]); listItems.add(listItem); } //創建一個SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this , listItems , R.layout.activity_simpleadapter_main , new String[]{ "personName", "header" } , new int[]{R.id.name , R.id.header}); ListView list = (ListView)findViewById(R.id.mylist); //為ListView設置Adapter list.setAdapter(simpleAdapter); } }
listItem.put("header", imageIds[i]);
listItem.put("personName", names[i]);
將圖片資源(int)和說明(String)作為Object參數統一傳過來。比較統一。
2.漢柏天氣預報係統中
循環從配置文件中讀取鍵值對
class TimerTaskMine extends TimerTask{ private static GetInfo get;//調用靜態方法從GetInfo類中獲取網頁信息 private OperateMysql operate=new OperateMysql(); @Override public void run() {//此計時器任務要執行的操作。 //Properties可保存在流中或從流中加載。屬性列表中每個鍵及其對應值都是一個字符串 Properties prop = new Properties();//Properties 類表示了一個持久的屬性集。Properties 可保存在流中或從流中加載。屬性列表中每個鍵及其對應值都是一個字符串 InputStream inputStream = new TestWeather().getClass().getResourceAsStream("/weather_code.properties");//獲取src同級目錄下properties的文件流 try { prop.load(inputStream);//從輸入流中讀取屬性列表 // System.out.println(prop.getProperty("101020100")); Enumeration<?> en = prop.propertyNames();//返回屬性列表中所有鍵的枚舉 String obj = "";//obj置空 //構造器,創建OperateMysql對象 operate.transferMysql();//將臨時表內容轉移到曆史表 System.out.println("transfer over!"); operate.truncateMysql();//清空數據庫數據表內容 System.out.println("truncate over!"); while (en.hasMoreElements()) {//測試此枚舉是否包含更多的元素。 obj = (String) en.nextElement();//obj即為weather_code.properties中獲得的城市代碼 // System.out.println(obj); // get.getInfo(Integer.parseInt(obj)); get = new GetInfo(); // System.out.println(obj.); Object[] data = get.getInfo(obj);//開始獲取城市鍵值對應的相應城市信息 if(null!=data) { //把數據插入到數據庫 operate.insertMysql(obj, data); } } } catch (IOException e) {//抓住IO錯誤 e.printStackTrace();//打印 } finally { // 關閉IO資源 try { if (null != inputStream)//如果inputStream非空 { inputStream.close();//關閉inputStream inputStream = null;//inputStream置空 } } catch (IOException e) {//抓住IO錯誤 e.printStackTrace();//打印 } } operate.update99Mysql();//處理99的異常問題 operate.updateBeijing();//解決ANDROID端的簡略省份city_id需求 operate.updateTianjin(); operate.updateShanghai(); operate.updateChongqin(); System.out.println("99的異常處理結束,所有img2為99的值都替換為對應的img1的值");//99問題異常處理 } }
最後更新:2017-04-02 22:15:46