使用命令行创建的activuty默认是继承自Activity,然而在学习google traning中
http://developer.android.com/training/basics/firstapp/starting-activity.html
一节的时候发现示例继承的是ActionBarActivity。这是一个来自与Android Support Library的类,主要是为了兼容Android 3.0以下的版本。
关于action bar的内容traning中后面一节有更多介绍
http://developer.android.com/training/basics/actionbar/setting-up.html
为了使用Android Support Library,官网上提供了IDE的配置方法
http://developer.android.com/tools/support-library/setup.html
我用的是maven命令行的方式,ActionBarActivity来自support-v7-appcompat,但没有现成的maven dependency可用,所以得自己安装到本地仓库。参考了下面几个网页,
http://stackoverflow.com/questions/18419806/generate-apklib-of-compatibility-v7-appcompat/18796764#18796764
http://stackoverflow.com/questions/18025942/how-do-i-add-a-library-android-support-v7-appcompat-in-intellij-idea
https://code.google.com/p/maven-android-plugin/wiki/ApkLib具体配置方法如下:
首先得在Android SDK Manager的extras中安装Android Support Library
安装好后可以在
进入appcompat这个文件夹,将里面的内容打包成zip文件,再重命名为appcompat.apklib。运行
mvn install:install-file -Dfile=appcompat.apklib -DgroupId=com.google.android -DartifactId=support-v7-appcompat -Dversion=r7 -Dpackaging=apklib
因为这个库还依赖了其他两个jar包,
mvn install:install-file -Dfile=android-support-v7-appcompat.jar -DgroupId=com.google.android -DartifactId=support-v7-appcompat -Dversion=r7 -Dpackaging=jar
mvn install:install-file -Dfile=android-support-v4.jar -DgroupId=com.google.android -DartifactId=support-v4 -Dversion=r7 -Dpackaging=jar
然后就可以在自己项目的pom文件里添加依赖
com.google.android
support-v7-appcompat
r7
apklib
com.google.android
support-v4
r7
jar
com.google.android
support-v7-appcompat
r7
jar
最后还得在AndroidManifest中设置你需要的api level,为了能运行在Android 2.1以上,所以设置了minSdkVersion为7
最后贴上完整的DisplayMessageActivity.java
package com.example.myfirstapp;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.content.Intent;
public class DisplayMessageActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
}
编译、安装、部署,就可以看到traning中的效果了,我用的是真机测试,就不截图了。