目录

  • 1 第一周 android简介
    • 1.1 第一课 Android基础入门1
    • 1.2 第二课 Android基础入门2
    • 1.3 第三课 Android UI开发介绍
  • 2 第二周 android布局
    • 2.1 第一课 Android 布局文件介绍1
    • 2.2 第二课 Android 布局文件介绍2
    • 2.3 第三课 Android 布局文件介绍3
  • 3 第三周 Android UI组件开发
    • 3.1 第一课 Button和ImageButton
    • 3.2 第二课 TextView和EditText
    • 3.3 第三课 RadioButton和CheckBox
  • 4 第四周 Android UI组件开发
    • 4.1 第一课 Spinner和ListView
    • 4.2 第二课 应用案例-手机信息页面
    • 4.3 第三课 Android生命周期
  • 5 第五周 Android组件通信
    • 5.1 第一课 Intent的介绍
    • 5.2 第二课 Intent实现各种系统功能
    • 5.3 第三课 应用案例-手机注册页面
  • 6 第六周 数据存储
    • 6.1 第一课 应用案例-新建联系人
    • 6.2 第二课 数据存储-简单文件存储
    • 6.3 第三课 SharedPreferences存储
  • 7 第七周 数据存储
    • 7.1 第一课 xml文件存储
    • 7.2 第二课 应用案例-植物百科
    • 7.3 第三课  ListView 组件高级使用
  • 8 第八周 SQLite数据库
    • 8.1 第一课 应用案例-应用列表
    • 8.2 第二课 使用SQLite数据库存储(创建数据库和表)
    • 8.3 第三课 使用SQLite数据库存储(对表数据操作)
  • 9 第九周 项目实战-商品购物车处理
    • 9.1 第一课 使用SQLite数据库存储(对表数据查询)
    • 9.2 第二课 商品购物车处理(布局)
    • 9.3 第三课 商品购物车处理(数据处理)
  • 10 第十周 内容提供者及广播
    • 10.1 第一课 内容提供者的使用
    • 10.2 第二课 广播概念以及如何使用
    • 10.3 第三课 自定义广播
  • 11 第十一周 广播和服务
    • 11.1 第一课 应用案例-电池电量
    • 11.2 第二课 应用案例-通话记录
    • 11.3 第三课 服务简介
  • 12 第十二周 服务应用
    • 12.1 第一课 应用案例—音乐播放器
    • 12.2 第二课 应用案例—地震监测
    • 12.3 第三课 获得手机SIM卡信息
  • 13 第十三周 网络编程
    • 13.1 第一课 网络编程入门
    • 13.2 第二课 使用HttpClient访问网络
    • 13.3 第三课 webview组件
  • 14 第十四周 网络编程应用案例
    • 14.1 第一课 消息机制简介
    • 14.2 第二课 应用案例-应用升级
    • 14.3 第三课 应用案例-应用升级
第三课 获得手机SIM卡信息

一、获得手机SIM卡信息

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

<!-- 获得手机卡信息的按钮 -->

    <Button

        android:id="@+id/btn_siminfo"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="当前SIM卡信息" />

    <!-- 显示手机卡信息的标签 -->

   <TextView 

       android:id="@+id/tv_siminfoshow"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:textSize="20dp"/>

</LinearLayout>


MainActivity.java

//定义了本实例的主要Activity

public class MainActivity extends Activity {

// 定义当前手机卡信息的按钮

private Button btnNetWork;

//定义显示SIM卡信息的文本框

private TextView tvSimInfoShow;

//声明TelephonyManager对象

private TelephonyManager tm;

//定义显示SIM卡信息的String

private String strSimInfo;

//定义SIM卡的状态

private String [] simState={"状态未知","无SIM卡","被PIN加锁","被PUK加锁",

"被NetWork PIN加锁","已准备好"};

//定义手机的制式

private String [] phoneTypes={"未知","GSM","CDMA"};

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获得locationManager服务

tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

//得到布局中的所有对象

btnNetWork = (Button) findViewById(R.id.btn_siminfo);

tvSimInfoShow=(TextView)findViewById(R.id.tv_siminfoshow);

//设置对象的监听器

btnNetWork.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

//获得设备的编号

String deviceId=tm.getDeviceId();

//获得SIM的国别

String Country=tm.getSimCountryIso();

//获取SIM卡序列号

String SIMSerial=tm.getSimSerialNumber();

//获取SIM卡状态

String SIMState=simState[tm.getSimState()];

//获取网络运营商代号

String networkOperator= tm.getNetworkOperator();

//获取网络运营商名称

String networkOperatorName= tm.getNetworkOperatorName();

//获得手机的制式

String phoneType=phoneTypes[tm.getPhoneType()];

strSimInfo="设备编号:"+deviceId+"\nSIM卡的国别: "+Country+"\nSIM卡序列号: "

+SIMSerial+"\nSIM卡状态: "+SIMState+"\n网络运营商代号 : "

+networkOperator+"\n网络运营商名称: "+networkOperatorName

+"\n手机的制式: "+phoneType;

//设置textview的text属性

tvSimInfoShow.setText(strSimInfo);

};

});

}

private void setListener() {

// 设置对象的监听器

btnNetWork.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

//获得设备的编号

String deviceId=tm.getDeviceId();

//获得SIM的国别

String Country=tm.getSimCountryIso();

//获取SIM卡序列号

String SIMSerial=tm.getSimSerialNumber();

//获取SIM卡状态

String SIMState=simState[tm.getSimState()];

//获取网络运营商代号

String networkOperator= tm.getNetworkOperator();

//获取网络运营商名称

String networkOperatorName= tm.getNetworkOperatorName();

//获得手机的制式

String phoneType=phoneTypes[tm.getPhoneType()];

strSimInfo="设备编号:"+deviceId+"\nSIM卡的国别: "+Country+"\nSIM卡序列号: "+SIMSerial

+"\nSIM卡状态: "+SIMState+"\n网络运营商代号 : "+networkOperator+"\n网络运营商名称: "+networkOperatorName

+"\n手机的制式: "+phoneType;

//设置textview的text属性

tvSimInfoShow.setText(strSimInfo);

};

});

}

}