ListView展示网络服务信息 (SIM信息的扩展)!

先来看下程序运行的图片:

程序的框架如下:

和获得sim卡类似

代码部分,第一步,主程序代码,同样把注释写到了程序当中:

/** * 这个应用是取得sim卡信息的扩展,只是多取得了一些电信网络与手机的相关信息,其他基本相同 */ public class GetSIMinfoExpand extends Activity { private TelephonyManager telMgr; private List<String> item = new ArrayList<String>(); private List<String> value = new ArrayList<String>(); private ListView listview; @SuppressWarnings("static-access") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listview = (ListView) findViewById(R.id.list); telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); /* 将取得的信息写入List中 */ /* 取得手机电话号码 */ item.add(getResources().getText(R.string.str_list0).toString()); if (telMgr.getLine1Number() != null) { value.add(telMgr.getLine1Number()); } else { value.add("无法取得"); } /* 取得电信网络国别 */ item.add(getResources().getText(R.string.str_list1).toString()); if (telMgr.getNetworkCountryIso().equals("")) { value.add("无法取得"); } else { value.add("" + telMgr.getNetworkCountryIso()); } /* 取得电信公司代码 */ item.add(getResources().getText(R.string.str_list2).toString()); if (telMgr.getNetworkOperator().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getNetworkOperator()); } /* 取得电信公司名称 */ item.add(getResources().getText(R.string.str_list3).toString()); if (telMgr.getNetworkOperatorName().equals("")) { value.add("无法取得"); } else { value.add(telMgr.getNetworkOperatorName()); } /* 取得行动通信类型 */ item.add(getResources().getText(R.string.str_list4).toString()); if (telMgr.getPhoneType() == telMgr.PHONE_TYPE_GSM) { value.add("GSM"); } else { value.add("未知"); } /* 取得网络类型 */ item.add(getResources().getText(R.string.str_list5).toString()); if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_EDGE) { value.add("EDGE"); } else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_GPRS) { value.add("GPRS"); } else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_UMTS) { value.add("UMTS"); } else if (telMgr.getNetworkType() == 4) { value.add("HSDPA"); } else { value.add("未知"); } /* 取得漫游状态 */ item.add(getResources().getText(R.string.str_list6).toString()); if (telMgr.isNetworkRoaming()) { value.add("漫游中"); } else { value.add("无漫游"); } /* 取得手机IMEI */ item.add(getResources().getText(R.string.str_list7).toString()); value.add(telMgr.getDeviceId()); /* 取得IMEI SV */ item.add(getResources().getText(R.string.str_list8).toString()); if (telMgr.getDeviceSoftwareVersion() != null) { value.add(telMgr.getDeviceSoftwareVersion()); } else { value.add("无法取得"); } /* 取得手机IMSI */ item.add(getResources().getText(R.string.str_list9).toString()); if (telMgr.getSubscriberId() != null) { value.add(telMgr.getSubscriberId()); } else { value.add("无法取得"); } /* 取得ContentResolver */ ContentResolver cv = GetSIMinfoExpand.this.getContentResolver(); String tmpS = ""; /* 取得蓝牙状态 */ item.add(getResources().getText(R.string.str_list10).toString()); tmpS = android.provider.Settings.System.getString(cv, android.provider.Settings.System.BLUETOOTH_ON); if (tmpS.equals("1")) { value.add("已打开"); } else { value.add("未打开"); } /* 取得WIFI状态 */ item.add(getResources().getText(R.string.str_list11).toString()); tmpS = android.provider.Settings.System.getString(cv, android.provider.Settings.System.WIFI_ON); if (tmpS.equals("1")) { value.add("已打开"); } else { value.add("未打开"); } /* 取得飞行模式是否打开 */ item.add(getResources().getText(R.string.str_list12).toString()); tmpS = android.provider.Settings.System.getString(cv, android.provider.Settings.System.AIRPLANE_MODE_ON); if (tmpS.equals("1")) { value.add("打开中"); } else { value.add("未打开"); } /* 取得数据漫游是否打开 */ item.add(getResources().getText(R.string.str_list13).toString()); tmpS = android.provider.Settings.System.getString(cv, android.provider.Settings.System.DATA_ROAMING); if (tmpS.equals("1")) { value.add("打开中"); } else { value.add("未打开"); } /* 使用自定义的MyAdapter来将数据传入ListActivity */ MyAdapter myAdapter = new MyAdapter(this, item, value); listview.setAdapter(myAdapter); } }

第二步,适配器:

public class MyAdapter extends BaseAdapter { /* 变量声明 */ private LayoutInflater mInflater; private List<String> items; private List<String> values; /* MyAdapter的构造器,传入三个参数 */ public MyAdapter(Context context,List<String> item, List<String> value) { /* 参数初始化 */ mInflater = LayoutInflater.from(context); items = item; values = value; } /* 因继承BaseAdapter,需覆盖以下方法 */ @Override public int getCount() { return items.size(); } @Override public Object getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position,View convertView,ViewGroup par) { ViewHolder holder; if(convertView == null) { /* 使用自定义的file_row作为Layout */ convertView = mInflater.inflate(R.layout.row_layout,null); /* 初始化holder的text与icon */ holder = new ViewHolder(); holder.text1=(TextView)convertView.findViewById(R.id.myText1); holder.text2=(TextView)convertView.findViewById(R.id.myText2); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } /* 设置要显示的信息 */ holder.text1.setText(items.get(position).toString()); holder.text2.setText(values.get(position).toString()); return convertView; } /* class ViewHolder */ private class ViewHolder { /* text1:信息名称 * text2:信息内容 */ TextView text1; TextView text2; } }

第三步,一个main布局文件,再加上listview的布局文件:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView> </LinearLayout>

<?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" > <TextView android:id="@+id/myText1" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_weight="1.0" android:layout_height="30px" android:textColor="@drawable/darkgray" android:textSize="20sp" > </TextView> <TextView android:id="@+id/myText2" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_weight="1.0" android:layout_height="30px" android:textColor="@drawable/white" android:textSize="14sp" > </TextView> </LinearLayout>

就那么多了。

转载于:https://www.cnblogs.com/boyupeng/archive/2011/04/01/2028534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值