Android项目实战手机安全卫士(01)

目录

  • 项目结构图
  • 源代码
  • 运行结果

项目结构图

V0100_01

源代码

SplashActivity.java

package com.coderdream.mobilesafe.activity;

import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

import com.coderdream.mobilesafe.R;

public class SplashActivity extends Activity {
	private TextView tv_splash_version;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 设置为无标题栏
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		// 设置为全屏模式
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);

		setContentView(R.layout.activity_splash);
		tv_splash_version = (TextView) findViewById(R.id.tv_splash_version);
		tv_splash_version.setText("版本号:" + getVersion());
	}

	/**
	 * <pre>
	 * 获取当前应用程序的版本号。 
	 * 版本号存在于我们的APK中对应的清单文件中(直接解压APK后,即可看到对应的清单文件),
	 * 版本号是manifest节点中的android:versionName="1.0" 
	 * 当一个应用程序被装到手机后 ,该apk拷贝到手机的data/app目录下(也就是系统中),
	 * 如图6。所以想得到版本号,我们需要拿到与系统相关的服务,就可以得到apk中的信息了
	 * 
	 * </pre>
	 * 
	 * @return
	 */
	private String getVersion() {
		// 得到系统的包管理器。已经得到了apk的面向对象的包装
		PackageManager pm = this.getPackageManager();
		try {
			// 参数一:当前应用程序的包名 参数二:可选的附加消息,这里我们用不到 ,可以定义为0
			PackageInfo info = pm.getPackageInfo(getPackageName(), 0);
			// 返回当前应用程序的版本号
			return info.versionName;
		} catch (Exception e) {// 包名未找到的异常,理论上, 该异常不可能会发生
			e.printStackTrace();
			return "";
		}
	}
}

 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.coderdream.mobilesafe"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.coderdream.mobilesafe.activity.SplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

运行结果

V0100_02

posted @ 2014-11-11 22:08  CoderDream  阅读(749)  评论(0编辑  收藏  举报