27、获取运行时信息(包括运行时的service、运行任务、正在运行

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

package com.example.running;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 RunningService = 1;public static final int RunningTasks = 2;public static final int RunningProcesses = 3;ListView itemlist = null;List<Map<String, Object>> list;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);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.RunningService);map.put("name", "运行的service");map.put("desc", "正在运行的后台服务.");list.add(map);map = new HashMap<String, Object>();map.put("id", MainActivity.RunningTasks);map.put("name", "运行任务");map.put("desc", "正在运行的任务.");list.add(map);map = new HashMap<String, Object>();map.put("id", MainActivity.RunningProcesses);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);startActivityForResult(intent, 0);}}

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

package com.example.running;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 {private static final String TAG = "ShowInfo";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);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() {Log.i(TAG, "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.RunningProcesses:info_datas = FetchData.fetch_process_info();break;case MainActivity.RunningService:info_datas = FetchData.getRunningServicesInfo(this);break;case MainActivity.RunningTasks:info_datas = FetchData.getRunningTasksInfo(this);break;}handler.sendEmptyMessage(0);}private Handler handler = new Handler() {public void handleMessage(Message msg) {pd.dismiss();info.setText(info_datas);}};}

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

摘抄美文4、承诺是一件美好的事情,但美好的东西往往不会变为现实。

27、获取运行时信息(包括运行时的service、运行任务、正在运行

相关文章:

你感兴趣的文章:

标签云: