我项目中使用到的以object作为参数的简单整理

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

1.android中使用simpleadapter创建自定义的listview

XML部分:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
<!-- 定义一个List -->
<ListView android:id="@+id/mylist"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	/>
<!-- 定义一个ImageView,用于作为列表项的一部分。 -->
<ImageView android:id="@+id/header"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content" 
	android:paddingLeft="10dp"
	/>
<!-- 定义一个TextView,用于作为列表项的一部分。 -->
<TextView android:id="@+id/name"
	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);
    }

}


这里Map<String, Object> listItem = new HashMap<String, Object>();
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问题异常处理
	}
	
}




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
17天前
|
JavaScript 前端开发
`Object.create()` 方法的参数
【10月更文挑战第29天】`Object.create()` 方法的参数提供了多种创建对象和控制对象属性及继承关系的方式,开发人员可以根据具体的需求灵活运用,以实现更高效、更符合设计要求的对象创建和继承机制。
configure/make的shared object参数
configure/make的shared object参数
54 0
VB编程:利用Object变量传递参数-21
VB编程:利用Object变量传递参数-21
121 0
重构——50引入参数对象(Introduce Parameter Object)
引入参数对象(Introduce Parameter Object):Range模式;某些参数总是很自然的同时出现;以一个对象取代这些参数
1769 0
object sender, LinkLabelLinkClickedEventArgs e 参数解释
开始是一个LinkLabel 控件,LinkLabel 绑定了Clicke事件 LinkLabel Delete = new LinkLabel(); Delete.
692 0
|
15天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
55 4
|
1月前
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
|
3月前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
2月前
|
Python
类与面向对象编程(Object-Oriented Programming, OOP)
类与面向对象编程(Object-Oriented Programming, OOP)

热门文章

最新文章