请高人帮忙翻译一段java程序~加急~在线等,谢谢,越详细越好,可以追加分

package com.eoemobile.infos_assistant;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.eoemobile.infos_assistant.util.PreferencesUtil;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;

public class System extends Activity implements OnItemClickListener{
private static final String TAG = "System";

ListView itemlist = null;
List<Map<String, Object>> list;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.infos);
setTitle("系统信息");
itemlist = (ListView) findViewById(R.id.itemlist);
refreshListItems();
}

private void refreshListItems() {
list = buildListForSimpleAdapter();
SimpleAdapter notes = new SimpleAdapter(this, list, R.layout.info_row,
new String[] { "name", "desc" }, new int[] { R.id.name,
R.id.desc });
itemlist.setAdapter(notes);
itemlist.setOnItemClickListener(this);
itemlist.setSelection(0);
}

private List<Map<String, Object>> buildListForSimpleAdapter() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(3);
// Build a map for the attributes
Map<String, Object> map = new HashMap<String, Object>();

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.VER_INFO);
map.put("name", "操作系统版本");
map.put("desc", "读取/proc/version信息");
list.add(map);

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.SystemProperty);
map.put("name", "系统信息");
map.put("desc", "手机设备的系统信息.");
// map.put("icon", R.drawable.mem);
list.add(map);

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.TEL_STATUS);
map.put("name", "运营商信息");
map.put("desc", "手机网络的运营商信息.");
list.add(map);

return list;
}

@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent();
Log.i(TAG, "item clicked! [" + position + "]");
Bundle info = new Bundle();
Map<String, Object> map = list.get(position);
info.putInt("id", (Integer) map.get("id"));
info.putString("name", (String) map.get("name"));
info.putString("desc", (String) map.get("desc"));
info.putInt("position", position);
intent.putExtra("android.intent.extra.info", info);
intent.setClass(System.this, ShowInfo.class);
startActivityForResult(intent, 0);
}
}
可能问题没写清楚,是加注释。。。不是单纯的翻译,谢谢

基本上看过来,大致的意思是页面上用一个listvew去保存相关的手机系统信息,然后当用户点击某个item时,页面上呈现该item的信息,然后有些地方我加下注释

public class System extends Activity implements OnItemClickListener{
private static final String TAG = "System";

ListView itemlist = null;
List<Map<String, Object>> list;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.infos);
setTitle("系统信息");
itemlist = (ListView) findViewById(R.id.itemlist); //从XML中获取到listview
refreshListItems();
}

private void refreshListItems() {
list = buildListForSimpleAdapter(); //这buildListForSimpleAdapter();整个方法都是为list中添加值,list中添加map,map中再添加key、value,比如什么操作版本啦,系统信息啦等
SimpleAdapter notes = new SimpleAdapter(this, list, R.layout.info_row,
new String[] { "name", "desc" }, new int[] { R.id.name,
R.id.desc }); //这个是simpleAdapte的常用用法,就是将list,呈现list的XML文件,和要呈现的相关字段绑定起来,比如这句的意思就是在页面上出现key为name和desc的相关值
itemlist.setAdapter(notes); //为listview增加适配器(也就是simpleAdapter),具体的用法你可能要再看一下文档,总之适配器的作用就是listview数据与界面之间的桥梁
itemlist.setOnItemClickListener(this); //为listview设置监听器
itemlist.setSelection(0); //设置初始索引为0
}

private List<Map<String, Object>> buildListForSimpleAdapter() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(3);
// Build a map for the attributes
Map<String, Object> map = new HashMap<String, Object>();

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.VER_INFO);
map.put("name", "操作系统版本");
map.put("desc", "读取/proc/version信息");
list.add(map);

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.SystemProperty);
map.put("name", "系统信息");
map.put("desc", "手机设备的系统信息.");
// map.put("icon", R.drawable.mem);
list.add(map);

map = new HashMap<String, Object>();
map.put("id", PreferencesUtil.TEL_STATUS);
map.put("name", "运营商信息");
map.put("desc", "手机网络的运营商信息.");
list.add(map);

return list;
}

@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent();
Log.i(TAG, "item clicked! [" + position + "]");
Bundle info = new Bundle();
Map<String, Object> map = list.get(position); //得到用户按下的索引,并从list中取到map相对应的值
info.putInt("id", (Integer) map.get("id")); //将取到的参数值放入bundle中,bundle相当于是传递参数作用
info.putString("name", (String) map.get("name"));
info.putString("desc", (String) map.get("desc"));
info.putInt("position", position);
intent.putExtra("android.intent.extra.info", info);
intent.setClass(System.this, ShowInfo.class);
startActivityForResult(intent, 0); //这里要重点提示下,不知道LZ是否知道startActivityForResult和startActivity的区别,startActivity作用在于就直接跳转到另外一个页面去了,而startActivityForResult会直接返回到数据给前一个activity,不用再跳一次啦,所以这里的意思就是 System再跳到showinfo的同时又取到了showinfo上面返回的数据,并直接显示在system上~~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-29
大体看了看,差不多应该就是在一个Activity中 点一个Item显示相应的系统硬件信息
第2个回答  2010-10-28
好长,大致看了一下,主要涉及到了集合和android,坐等达人出现
第3个回答  2010-10-29
楼主是新手刚找到工作吧。一看就知道。
这些代码不是要这样贴出来让别人来帮你注释的。
代码其实是业务的体现,关键要了解你们公司的业务。
不懂你们公司业务的人只能看的出来一部分,我只能把所看的懂的跟你说一下,
这个系统肯定是eoemobile易联致远,而且我到贵公司网站上看了,
你们公司主要专注Android平台应用开发和解决方案。

这个类应该是手机访问你们系统的一个入口,因为根据这个类名System和这个方法里面有两个public方法一个是重写父类的onCreate,个人认为是得到访问手机的系统信息,一个是重写父类的onItemClick,个人认为是当客户手机点击时进行一些处理。

另外连个private方法都是为两个public方法调用的。所以就是不知道也无所谓。

其实要知道这个代码的功能,最简单的方法就是在这块代码里面设置几个断点,当有请求过来的时候,一步一步debug,根据上下文一起来理解,要快的多。

还是自己多动手吧,不然永远不能提高。
第4个回答  2010-10-29
同学 你这父类没有啊。。。
相似回答
大家正在搜