cgs1999 发表于 2013-1-30 04:29:17

范例HelloWorld及测试代码

Android docs中的范例《HelloWorld》和《Hello, Testing》,简单翻译整理如下。

一、编写HelloWorld范例
--------------------------------------------
1、创建新项目,名称HelloWorld;

2、打开并修改HelloWorld.java,修改后的代码如下:
public class HelloAndroid extends Activity {   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       TextView tv = new TextView(this);       tv.setText("Hello, Android");       setContentView(tv);   }}

3、运行项目,即可看到运行效果,如下图所示:
http://dl.iteye.com/upload/attachment/428917/12f5ab24-2f17-3fc8-ade6-bb8376233593.png

4、本例实现的另一种方式——使用XML
(1)修改res/values/目录下strings.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello, Android! I am a string resource!</string>    <string name="app_name">Hello, Android</string></resources>
(2)修改res/layout/目录下main.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/textview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:text="@string/hello"/>
(3)打开HelloWorld.java,修改后的代码如下(创建项目后的初始代码一致):
public class HelloAndroid extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.main);    }}
(4)运行效果同3;



二、编写HelloWorld对应的测试代码
--------------------------------------------
1、在Eclipse中,通过New > Project > Android > Android Test Project创建测试项目;
Test Project Name: "HelloWorldTest"
Test Target: 设置为"An existing Android project",点击浏览并选择"HelloWorld"项目;
Build Target: 设置测试平台,如2.1;
Application name: "HelloWorldTest"
Package name: "cn.basttg.test"

2、进入源代码“cn.basttg.test”包,新建类测试类HelloWorldTest:
Name: "HelloWorldTest"
Superclass: "android.test.ActivityInstrumentationTestCase2<HelloWorld>"

3、打开HelloWorldTest.java,增加成员变量定义,代码如下:
    private HelloAndroid mActivity;    private TextView mView;    private String resourceString;

4、打开HelloWorldTest.java,增加构造方法,代码如下:
    public HelloWorldTest() {      super("cn.basttg.sample", HelloWorld.class);    }

5、打开HelloWorldTest.java,重写setUp()方法,代码如下:
protected void setUp() throws Exception {super.setUp();mActivity = this.getActivity();mView = (TextView) mActivity.findViewById(cn.basttg.sample.R.id.textview);resourceString = mActivity.getString(cn.basttg.sample.R.string.hello);}

6、打开HelloWorldTest.java,增加测试方法testPreconditions()、testText(),代码如下:
public void testPreconditions() {assertNotNull(mView);}public void testText() {assertEquals(resourceString, (String) mView.getText());}

7、修改后的HelloWorldTest.java完整代码,如下所示:
public class HelloAndroidTest extends ActivityInstrumentationTestCase2<HelloWorld> {private HelloWorld mActivity;private TextView mView;private String resourceString;public HelloAndroidTest() {super("cn.basttg.sample", HelloWorld.class);}@Overrideprotected void setUp() throws Exception {super.setUp();mActivity = this.getActivity();mView = (TextView) mActivity.findViewById(cn.basttg.sample.R.id.textview);resourceString = mActivity.getString(cn.basttg.sample.R.string.hello);}public void testPreconditions() {assertNotNull(mView);}public void testText() {assertEquals(resourceString, (String) mView.getText());}}

8、通过Run As > Android JUnit Test,运行测试代码,测试结果如下:
http://dl.iteye.com/upload/attachment/428920/63be8759-e737-39e1-86b9-525266154b7e.png

三、特别说明
--------------------------------------------
1、本例HelloWorld的包名为cn.basttg.sample,若有不同请自行更改;
2、本例HelloAndroidTest的包名为cn.basttg.test,若有不同请自行更改;
3、相关代码中所使用的对象,请在Eclipse使用Ctrl+Shift+O完成相关类的import引用;
页: [1]
查看完整版本: 范例HelloWorld及测试代码