24、获取系统信息(包括操作系统版本、系统信息、运营商信息)

github上完整项目:https://github.com/shixinga/1-show-the-phone-message.git

————————main.java———————

package com.example.tg;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity extends ActionBarActivity implements OnItemClickListener{public static final int VER_INFO = 1;public static final int SystemProperty = 2;public static final int TEL_STATUS = 3;ListView itemlist = null;List<Map<String, Object>> list;@Overridepublic 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 attributesMap<String, Object> map = new HashMap<String, Object>();map = new HashMap<String, Object>();map.put("id", MainActivity.VER_INFO);map.put("name", "操作系统版本");map.put("desc", "读取/proc/version信息");list.add(map);map = new HashMap<String, Object>();map.put("id", MainActivity.SystemProperty);map.put("name", "系统信息");map.put("desc", "手机设备的系统信息.");// map.put("icon", R.drawable.mem);list.add(map);map = new HashMap<String, Object>();map.put("id", MainActivity.TEL_STATUS);map.put("name", "运营商信息");map.put("desc", "手机网络的运营商信息.");list.add(map);return list;}@Overridepublic void onItemClick(AdapterView<?> parent, View v, int position, long id) {Intent intent = new Intent();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"));intent.putExtra("android.intent.extra.info", info);intent.setClass(MainActivity.this, ShowInfoActivity.class);startActivity(intent);}}

——————————–ShowInfoActivity.java———————-

package com.example.tg;import android.app.Activity;import android.app.ProgressDialog;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.widget.TextView;public class ShowInfoActivity extends Activity implements Runnable {TextView info;TextView title;private ProgressDialog pd;public String info_datas;public boolean is_valid = false;public int _id = 0;public String _name = "";@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.showinfo);revParams();info = (TextView) findViewById(R.id.info);title = (TextView) findViewById(R.id.title);//ActionBar的title设置setTitle("eoeInfosAssistant: " + _name);title.setText(_name);load_data();}private void load_data() {pd = ProgressDialog.show(this, "Please Wait a moment..","fetch info datas…", true, false);Thread thread = new Thread(this);thread.start();}// 接收传递进来的信息private void revParams() {Intent startingIntent = getIntent();if (startingIntent != null) {Bundle infod = startingIntent.getBundleExtra("android.intent.extra.info");if (infod == null) {is_valid = false;} else {_id = infod.getInt("id");_name = infod.getString("name");is_valid = true;}} else {is_valid = false;}}@Overridepublic void run() {switch (_id) {case MainActivity.VER_INFO:info_datas = FetchData.fetch_version_info();break;case MainActivity.TEL_STATUS:info_datas = FetchData.fetch_tel_status(this);break;case MainActivity.SystemProperty:info_datas = FetchData.getSystemProperty();break;}handler.sendEmptyMessage(0);}private Handler handler = new Handler() {public void handleMessage(Message msg) {pd.dismiss();info.setText(info_datas);}};}

———————————–FetchData.java————————

看了哪些风景,遇到哪些人。尽管同学说,

24、获取系统信息(包括操作系统版本、系统信息、运营商信息)

相关文章:

你感兴趣的文章:

标签云: