当前位置: 编程技术>移动开发
本页文章导读:
▪获得SIM卡内的信息 取得SIM卡内的信息/*
* 取得SIM卡内的信息
* Android API中的TelephonyManager(Android.telephony.TelephonyManager)
* 对象,提供了几个方法可以快速的取得SIM卡的状态以及相关信息。
* 程序中以getSystemServ.........
▪ 飞瀑流例子 瀑布流例子瀑布流例子
实现瀑布流的demo代码。。。。。。。。
......
▪ xcode路径引起的有关问题,使用xcode-select -print-path 显示后再使用Xcode-select -switch更改 xcode路径引起的问题,使用xcode-select -print-path 显示后再使用Xcode-select -switch更改在使用InstrumentDriver做iOS自动化测试,其他Mac电脑上都用的好好的,遇到一台MBP,总是无法自动启动iPhone模拟器.........
[1]获得SIM卡内的信息
来源: 互联网 发布时间: 2014-02-18
取得SIM卡内的信息
/*
* 取得SIM卡内的信息
* Android API中的TelephonyManager(Android.telephony.TelephonyManager)
* 对象,提供了几个方法可以快速的取得SIM卡的状态以及相关信息。
* 程序中以getSystemService(TELEPHONY_SERVICE)来取得TelephonyManager
* 对象,以TelephonyManager提供的方法来获取SIM卡的状态及相关信息,将
* 获取的信息存入自定义的MyAdapter中,最后以setListAdapter内的信息显示
* 于ListView中。
*/
import 略;
MyAdapter.java代码
main.xml代码
row_layout.xml代码
下面我们来看看程序运行后的结果:
/*
* 取得SIM卡内的信息
* Android API中的TelephonyManager(Android.telephony.TelephonyManager)
* 对象,提供了几个方法可以快速的取得SIM卡的状态以及相关信息。
* 程序中以getSystemService(TELEPHONY_SERVICE)来取得TelephonyManager
* 对象,以TelephonyManager提供的方法来获取SIM卡的状态及相关信息,将
* 获取的信息存入自定义的MyAdapter中,最后以setListAdapter内的信息显示
* 于ListView中。
*/
import 略;
public class Ex05_18Activity extends ListActivity { private TelephonyManager telMgr; private List<String> item = new ArrayList<String>(); private List<String> value = new ArrayList<String>(); /** Called when the activity is first created. */ @SuppressWarnings("static-access") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); // 将取得的信息写入List中,取得SIM卡状态 item.add(getResources().getText(R.string.str_list0).toString()); if (telMgr.getSimState() == telMgr.SIM_STATE_READY) { value.add("良好"); } else if (telMgr.getSimState() == telMgr.SIM_STATE_ABSENT) { value.add("无SIM卡"); } else { value.add("SIM卡被锁定或未知的的状态!"); } // 取得SIM卡号 item.add(getResources().getText(R.string.str_list1).toString()); if (telMgr.getSimSerialNumber() != null) { value.add(telMgr.getSimSerialNumber()); } else { value.add("无法获取SIM卡号"); } // 取得卡供货商代码 item.add(getResources().getText(R.string.str_list2).toString()); if (telMgr.getSimOperator().equals("")) { value.add("无法获取SIM卡供货商代码"); } else { value.add(telMgr.getSimOperator()); } // 取得卡供货商名称 item.add(getResources().getText(R.string.str_list3).toString()); if (telMgr.getSimOperator().equals("")) { value.add("无法获取SIM卡供货商名"); } else { value.add(telMgr.getSimOperatorName()); } // 取得卡国别 item.add(getResources().getText(R.string.str_list4).toString()); if (telMgr.getSimCountryIso().equals("")) { value.add("无法获取SIM卡国别"); } else { value.add(telMgr.getSimCountryIso()); } // 使用自定义的MyAdapter来将数据传入ListActivity中 setListAdapter(new MyAdapter(this, item, value)); } }
MyAdapter.java代码
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,需覆写以下method */ @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 parent) { 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.xml代码
<?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="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
row_layout.xml代码
<?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" > <TextView android:id="@+id/myText1" android:layout_width="wrap_content" android:layout_height="30px" android:layout_gravity="center_vertical" android:layout_weight="1.0" android:textColor="@drawable/darkgray" android:textSize="20sp" /> <TextView android:id="@+id/myText2" android:layout_width="wrap_content" android:layout_height="30px" android:layout_gravity="center_vertical" android:layout_weight="1.0" android:textColor="@drawable/white" android:textSize="14sp" /> </LinearLayout>
下面我们来看看程序运行后的结果:
[2] 飞瀑流例子
来源: 互联网 发布时间: 2014-02-18
瀑布流例子
瀑布流例子
实现瀑布流的demo代码。。。。。。。。
[3] xcode路径引起的有关问题,使用xcode-select -print-path 显示后再使用Xcode-select -switch更改
来源: 互联网 发布时间: 2014-02-18
xcode路径引起的问题,使用xcode-select -print-path 显示后再使用Xcode-select -switch更改
在使用InstrumentDriver做iOS自动化测试,其他Mac电脑上都用的好好的,遇到一台MBP,总是无法自动启动iPhone模拟器。
后来得知,该MBP的xcode曾安装在/Developer 下面。后来删除,重新安装后,xcode自动安装到了/Applications/Xcode.app了。
在终端中使用xcode-select -print-path打印命令看到,显示Xcode 的位置是/Developer
用下述命令可以更改。
sudo ./xcode-select -switch /Applications/Xcode.app/
再次使用xode-select -print-path看到,已经显示/Applications
最新技术文章: