1.手机信息查看助手可行性分析
开始进入编写程序前,需要对需求的功能做一些可行性分析,以做到有的放矢,如果有些无法实现的功能,可以尽快调整。
这里分析一下项目需要的功能,主要是信息查看和信息收集,如版本信息、硬件信息等,这些都可以通过读取系统文件或者运行系统命令获取,而像获取安装的软件信息和运行时信息则需要通过API提供的接口获取。实现API接口不是什么问题,主要把精力集中在如何实现运行系统命令,获取其返回的结果功能实现上。具体实现代码如下所示:
1 public class CMDExecute {
2
3 public synchronized String run(String [] cmd, String workdirectory) throws IOException {
4 String result = "";
5 try {
6 ProcessBuilder builder = new ProcessBuilder(cmd);
7 InputStream in = null;
8 //设置一个路径
9 if (workdirectory != null) {
10 builder.directory(new File(workdirectory));
11 builder.redirectErrorStream(true);
12 Process process = builder.start();
13 in = process.getInputStream();
14 byte[] re = new byte[1024];
15 while (in.read(re) != -1)
16 result = result + new String(re);
17 }
18 if (in != null) {
19 in.close();
20 }
21 } catch (Exception ex) {
22 ex.printStackTrace();
23 }
24 return result;
25 }
26 }
1.2 手机信息查看助手功能实现
1.2.1 手机信息查看助手主界面
按照预设的规划,将4类信息的查看入口放在主界面上,其布局文件为main.xml,基本上是用一个列表组件组成的,实现代码如下所示:
在这里main.xml中使用的是LinearLayout布局,其中放置了一个ListView组件。
1 < ?xml version="1.0" encoding="utf-8"?>
2 < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:/orientation="vertical" android:layout_width="fill_parent"
4 android:layout_height="fill_parent">