手持终端
Eclipse平台下Android开发环境的搭建
PhoneGap配置到Eclipse开发环境
使用PhoneGap开发Android应用程序
PhoneGap3.0以上版本配置到Eclipse开发环境
使用PhoneGap3.0版本开发Android应用程序
PhoneGap3.0的第三方Android插件
Cordova配置到Android Studio开发环境
Android系统基本架构
Android的字符串颜色图片样式
Android的常用控件及菜单
Android的消息提示及传递
Android系统的组件通信
Android系统的Service
Android的广播消息接收
Android的数据存储与访问
Android系统的网络应用
Android图形图像处理
Android的Fragment框架
Android系统的并发编程
Java源文件结构与保留字
Java语言的数据类型与变量
Java的运算符与流程控制
Java语言的数组及操作
Java面向对象编程
Java的常用类
Android开发常用工具及命令
Android应用程序权限管理
Android系统提供的R类内置资源
Android系统的控件类及其方法
Android系统的菜单类及其方法
Android系统的对话框
Android应用程序模型及组件
Android的绘图类及方法
Android系统的动画效果
Android的数据库操作
Android的多媒体功能
Android系统照相机的使用
Android的文本朗读TTS
获取Android系统信息
Android系统的电话操作
Android系统的定位
Android系统的传感器
Android是开放系统,通过Android.OS软件包提供了对系统信息的操作和获取,其中build类和Environment类是比较常用的两个类。build类提供了对一些直接与硬件相关的信息的获取,例如硬件厂商、序列号和SDK版本等信息;Environment类则提供了对一些常用的Android环境变量的获取,包括典型的文件目录和SD卡的状态等。
1.build类:构建信息
在Android系统中,通过OS软件包提供了许多与硬件直接相关的信息,其中一类信息是构建信息,通过build类来实现。所谓构建,就是一个Android系统的底层实现方式,build类提供了硬件厂商、编号、序列号、SDK版本等重要信息,这些信息与底层代码有关。
1)MODEL属性:手机型号
该属性用于获取Android手机的型号名称,其值为String字符串类型,用户可以在手机设置中查看该手机型号。语法:
public static final String MODEL
示例:
public class firstActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1=(Button)findViewById(R.id.button1);
btn1.setOnClickListenter(new View.OnClickListener(){
@Override
public void onClick(View v){
String info;
info=Build.MODEL;
Toast.makeText(getApplicationContext(),"手机型号为:"+info,
Toast.LENGTH_LONG).show();
}
});
}
}
2)SDK属性:SDK版本号
该属性用于获取Android手机的SDK版本号,其值为String字符串类型。语法:
public static final String SDK
示例:
info=Build.VERSION.SDK;
3)SDK_INI属性:SDK版本号
该属性用于获取Android手机的SDK版本号,其值为int整数类型。语法:
public static final String SDK_INI
示例:
info=Build.VERSION.SDK_INI;
4)RELEASE属性:获取系统版本
该属性用于获取Android手机的系统版本,其值为String字符串类型,一般取值为“1.0”、“2.2”等。语法:
public static final String RELEASE
示例:
info=Build.VERSION.RELEASE;
5)BOOTLOADER属性:bootloader版本号
该属性用于获取Android手机系统的bootloader版本号。bootloader为系统开机时的引导系统,其值为String字符串类型。语法:
public static final String BOOTLOADER
示例:
info=Build.BOOLOADER;
6)BOARD属性:底层板名称
该属性用于获取Android手机底层板的名称,其值为String字符串类型。如果底层板名称存在则返回名称值,否则返回unknown。语法:
public static final String BOARD
7)BRAND属性:品牌
该属性用于获取Android手机的品牌信息,其值为String字符串类型。品牌信息其实指的是哪个电信运营商定制的机型,如果品牌名称存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String BRAND
示例:
info=Build.BRAND;
8)CPU_ABI属性:指令集
该属性用于获取Android手机的CPU指令集名称,其值为String字符串类型,这里的指令集名称为CPU类型+ABI公约,如armeabl,该属性需要硬件设备的支持。语法:
public static final String CPU_ABI
示例:
info=Build.CPU_ABI;
9)CPU_ABI2属性:第二指令集
该属性用于获取Android手机的CPU第二指令集名称,其值为String字符串类型,这里的第二指令集名称为CPU类型+ABI公约,如armeabl,该属性需要硬件设备的支持。语法:
public static final String CPU_ABI2
10)DEVICE属性:工业设计名称
该属性用于获取Android手机的工业设计名称,其值为String字符串类型如果工业设计名称存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String DEVICE
示例:
info=Build.DEVICE;
11)DISPLAY属性:显示
该属性用于通过Android手机显示一个Id字符串,其值为String字符串类型。如果Id字符串存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String DISPLAY
示例:
info=Build.DISPLAY;
12)FINGERPRINT属性:构建的唯一标识符
该属性用于获取Android手机本次构建的唯一标识符,其值为String字符串类型。这个标识符是一个整体。如果此标识值存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String FINGERPRINT
示例:
info=Build.FINGERPRINT;
13)HARDWARE属性:硬件名称
该属性用于获取Android手机的硬件名称,其值为String字符串类型。这个硬件名称是从内核命令行或/proc提取的。如果硬件名称存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String HARDWARE
示例:
info=Build.HARDWARE;
14)HOST属性:主机
该属性用于获取Android手机的主机名称,其值为String字符串类型。如果主机名称存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String HOST
示例:
info=Build.HOST;
15)ID属性:ID标签
该属性用于获取Android手机的变更号码,或者类似于“M4-RC20”的标签,其值为String字符串类型。如果ID标签存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String ID
示例:
info=Build.ID;
16)MUNUFACTURER属性:制造商
该属性用于获取Android手机的产品/硬件制造商,其值为String字符串类型。如果制造商名称存在则返回名称值,否则返回unknown,该属性需要硬件设备的支持。语法:
public static final String MUNUFACTURER
示例:
info=Build.MUNUFACTURER;
17)PRODUCT属性:产品名称
该属性用于获取Android手机的整体产品名称,其值为String字符串类型。如果整体产品名称存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String PRODUCT
示例:
info=Build.PRODUCT;
18)RADIO属性:无线电固件版本号
该属性用于获取Android手机的无线电固件版本号,其值为String字符串类型。如果无线电固件版本号存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String RADIO
示例:
info=Build.RADIO;
19)SERIAL属性:硬件序列号
该属性用于获取Android手机的硬件序列号,其值为String字符串类型。硬件序列号只有字母、数字,不区分大小写。如果硬件序列号存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String SERIAL
示例:
info=Build.SERIAL;
20)TAGS属性:标签
该属性用于获取Android手机的关于构建的标签,其值为String字符串类型。如果构建标签存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String TAGS
示例:
info=Build.TAGS;
21)TIME属性:出厂时间
该属性用于获取Android手机的出厂时间信息,其值为long长整数类型。如果出厂时间存在则返回时间值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final long TIME
示例:
info=Build.TIME;
22)TYPE属性:构建类型
该属性用于获取Android手机的构建类型,其值为String字符串类型。如果构建类型存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String TYPE
示例:
info=Build.TYPE;
23)USER属性:构建用户名称
该属性用于获取Android手机的构建用户名称,其值为String字符串类型。如果构建用户名存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String USER
示例:
info=Build.USER;
24)CODENAME属性:开发代号
该属性用于获取Android手机的当前开发代号,其值为String字符串类型。如果开发代号存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String CODENAME
示例:
info=Build.CODENAME;
25)INCREMENTAL属性:构建增量
该属性用于获取Android手机的当前构建增量,其值为String字符串类型。构建增量由底层源代码控制。如果构建增量存在则返回名称值,否则将返回unknown,该属性需要硬件设备的支持。语法:
public static final String INCREMENTAL
示例:
info=Build.INCREMENTAL;
2.Environment类:环境变量类
Environment类提供了一些常用的Android环境变量的访问和获取,包括典型的文件目录,例如root目录、data目录和外部SD卡目录等。此外,Environment类还提供了一些SD卡状态的检测方法,可以帮助应用程序了解外部存储设备的状态信息。
1)getDataDirectory方法:获取数据目录
该方法用于获取Android手机的数据目录,返回值为File类型。Android的数据目录是系统的一个重要环境变量,很多应用程序的数据都保存在这里,包括数据库操作。语法格式:
public static File getDataDirectory()
示例:
File f=Environment.getDataDirectory();
String str="Android数据目录:"+f.getPath().toString();
2)getDownloadCacheDirectory方法:获取下载缓存目录
该方法用于获取Android手机的下载/缓存目录,返回值为File类型。该目录主要用于保存一些下载内容或者缓存信息,如通过Android手机的浏览器下载的内容将存放在该目录下。一些Android系统清理软件会获取该目录,并清理相应的垃圾文件。语法格式:
public static File getDownloadCacheDirectory()
3)getExternalStorageDirectory方法:获取外部存储目录
该方法用于获取Android手机的外部存储目录,返回值为File类型。该目录主要用于保存用户数据,也就是用户的外置SD卡。语法格式:
public static File getExternalStorageDirectory()
4)getRootDirectory方法:获取root目录
该方法用于获取Android手机的root目录,返回值为File类型。该目录是Android系统最重要的目录,包括了Android OS的重要数据,用户一般不能修改。语法格式:
public static File getRootDirectory()
5)getExternalStoragePublicDirectory方法:获取特定类型目录
该方法用于获取Android手机的特定类型目录,需要指定文件类型,返回值为File类型。Android系统通过该方法可以获取一些特定类型文件的通常保存目录,如铃声目录、图片目录、电影目录、音乐目录等。语法格式:
public static File getExternalStoragePublicDirectory(String type)
其中,参数type为目录类型,Android系统支持的目录类型为:
·DIRECTORY_MUSIC:音乐目录
·DIRECTORY_PODCASTS:播客目录
·DIRECTORY_RINGTONES:铃声目录
·DIRECTORY_ALARMS:闹铃目录
·DIRECTORY_NOTIFICATIONS:提示目录
·DIRECTORY_PICTURES:图片目录
·DIRECTORY_MOVIES:电影目录
·DIRECTORY_DOWNLOADS:下载目录
·DIRECTORY_DCIM:照片目录
示例:
File f=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
String str="Android照片目录:"+f.getPath().toString();
6)getExternalStorageState方法:获取外部存储状态
该方法用于获取Android手机的外部存储状态,一般指的是外部SD卡。Android系统可以通过该方法实时掌握SD卡的状态,目前支持的状态包括:
·MEDIA_BAD_REMOVAL:媒体在停止之前,SD卡被卸载
·MEDIA_CHECKING:磁盘检查
·MEDIA_MOUNTED:可以正常读/写
·MEDIA_MOUNTED_READ_ONLY:只读
·MEDIA_NOFS:空白,或不支持的文件系统
·MEDIA_REMOVED:SD卡不存在
·MEDIA_SHARED:SD卡没有安装,现在正通过USB海量存储共享
·MEDIA_UNMOUNTABLE:媒体存在,但文件系统损坏不能安装
·MEDIA_UNMOUNTED:媒体存在,但没有安装
语法格式:
public static String getExternalStorageState()
7)isExternalStorageEmulated方法:检查是否有外部存储设备模拟
该方法用于检查Android手机是否有外部存储设备模拟。如果返回值为true,表示设备不具有真正的外部存储,其使用内部存储系统的一部分作为外部存储设备,也就是模拟外部存储设备;如果返回值为false,则表示没有模拟外部存储设备。语法格式:
public static boolean isExternalStorageEmulated()
8)isExternalStorageRemovable方法:外部存储设备是否可以移除
该方法用于检查Android手机的外部存储设备是否可以移除。如果返回值为true,表示外部存储设备可以被移除;如果返回值为false,表示外部存储设备不可以被移除。语法格式:
public static boolean isExternalStorageRemovable()