Skip to content
Snippets Groups Projects
Commit fa9aaedf authored by Adam A. Porter's avatar Adam A. Porter
Browse files

Initial commit

parent 3028015f
No related branches found
No related tags found
No related merge requests found
Showing
with 933 additions and 0 deletions
File added
File added
apply plugin: 'com.android.application'
android {
compileSdkVersion 18
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "course.labs.activitylab"
minSdkVersion 14
targetSdkVersion 19
testApplicationId "course.labs.activitylab.tests"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.3.1'
}
File added
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test1_StartActivityOneTest extends
ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test1_StartActivityOneTest() {
super(ActivityOne.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Execution of StartActivityOneTest
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("StartActivityOneTest failed: " + "Section One:"
+ "ActivityOne did not correctly load", solo.waitForActivity(
course.labs.activitylab.ActivityOne.class, timeout));
// ==================== Section Two =====================
// Check for proper counts
assertTrue("StartActivityOneTest failed:" + "Section Two:"
+ "onCreate() count was off for ActivityOne",
solo.waitForText("onCreate\\(\\) calls: 1"));
assertTrue("StartActivityOneTest failed:" + "Section Two:"
+ "onStart() count was off for ActivityOne",
solo.waitForText("onStart\\(\\) calls: 1"));
assertTrue("StartActivityOneTest failed:" + "Section Two:"
+ "onResume() count was off for ActivityOne",
solo.waitForText("onResume\\(\\) calls: 1"));
assertTrue("StartActivityOneTest failed:" + "Section Two:"
+ "onRestart() count was off for ActivityOne",
solo.waitForText("onRestart\\(\\) calls: 0"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test2_DoubleRotateActivityOneTest extends
ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test2_DoubleRotateActivityOneTest() {
super(ActivityOne.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed: " +
"Section One:" +
"ActivityOne did not correctly load",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// ==================== Section Two =====================
// Rotate the screen
solo.setActivityOrientation(Solo.LANDSCAPE);
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Two:" +
"ActivityOne did not correctly load after first LANDSCAPE rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// ==================== Section Three =====================
// Rotate the screen
solo.setActivityOrientation(Solo.PORTRAIT);
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"ActivityOne did not correctly load after second PORTRAIT rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// Check for proper counts
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onCreate() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onCreate\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onStart() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onStart\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onResume() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onResume\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onRestart() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onRestart\\(\\) calls: 0"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test2_DoubleRotateActivtyOneTest extends
ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test2_DoubleRotateActivtyOneTest() {
super(ActivityOne.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed: " +
"Section One:" +
"ActivityOne did not correctly load",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// ==================== Section Two =====================
// Rotate the screen
solo.setActivityOrientation(Solo.LANDSCAPE);
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Two:" +
"ActivityOne did not correctly load after first LANDSCAPE rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// ==================== Section Three =====================
// Rotate the screen
solo.setActivityOrientation(Solo.PORTRAIT);
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"ActivityOne did not correctly load after second PORTRAIT rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.sleep(sleep);
// Check for proper counts
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onCreate() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onCreate\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onStart() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onStart\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onResume() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onResume\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityOneTest failed:" +
"Section Three:" +
"onRestart() count was off for ActivityOne after second PORTRAIT rotation.",
solo.searchText("onRestart\\(\\) calls: 0"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test3_StartActivityTwoTest extends ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test3_StartActivityTwoTest() {
super(ActivityOne.class);
}
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Executes the StartActivityTwoTest
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("StartActivityTwoTest failed:" +
"Section One:" +
"ActivityOne did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
// ==================== Section Two =====================
// Click on Start Activity Two
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
solo.clickOnView(solo
.getView(course.labs.activitylab.R.id.bLaunchActivityTwo));
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("StartActivityTwoTest failed:" +
"Section Two:" +
"ActivityTwo did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
// Check for proper counts after ActivityTwo has been opened
assertTrue("StartActivityTwoTest failed:" +
"Section Two:" +
"onCreate() count was off for ActivityTwo.",
solo.waitForText("onCreate\\(\\) calls: 1"));
assertTrue("StartActivityTwoTest failed:" +
"Section Two:" +
"onStart() count was off for ActivityTwo.",
solo.waitForText("onStart\\(\\) calls: 1"));
assertTrue("StartActivityTwoTest failed:" +
"Section Two:" +
"onResume() count was off for ActivityTwo.",
solo.waitForText("onResume\\(\\) calls: 1"));
assertTrue("StartActivityTwoTest failed:" +
"Section Two:" +
"onRestart() count was off for ActivityTwo.",
solo.waitForText("onRestart\\(\\) calls: 0"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Condition;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test4_DoubleRotateActivityTwoTest extends ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test4_DoubleRotateActivityTwoTest() {
super(ActivityOne.class);
}
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Exectues the DoubleRotateActivityTwoTest
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section One:" +
"ActivityOne did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
// ==================== Section Two =====================
// Click on Start Activity Two
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
solo.clickOnView(solo
.getView(course.labs.activitylab.R.id.bLaunchActivityTwo));
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Two:" +
"ActivityTwo did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bClose);
// ==================== Section Three =====================
// Rotate the screen
solo.setActivityOrientation(Solo.LANDSCAPE);
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Three:" +
"ActivityTwo did not correctly load after first LANDSCAPE rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bClose);
// ==================== Section Four =====================
// Rotate the screen
solo.setActivityOrientation(Solo.PORTRAIT);
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Four:" +
"ActivityTwo did not correctly load after second PORTRAIT rotation.",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bClose);
// Check for proper counts
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Four:" +
"onCreate() count was off for ActivityTwo after second PORTRAIT rotation.",
solo.waitForText("onCreate\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Four:" +
"onStart() count was off for ActivityTwo after second PORTRAIT rotation.",
solo.waitForText("onStart\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Four:" +
"onResume() count was off for ActivityTwo after second PORTRAIT rotation.",
solo.waitForText("onResume\\(\\) calls: 3"));
assertTrue("DoubleRotateActivityTwoTest failed:" +
"Section Four:" +
"onRestart() count was off for ActivityTwo after second PORTRAIT rotation.",
solo.waitForText("onRestart\\(\\) calls: 0"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test5_CloseActivityTwoTest extends ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test5_CloseActivityTwoTest() {
super(ActivityOne.class);
}
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Executes the CloseActivityTwoTest
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("CloseActivityTwoTest failed:" +
"Section One:" +
"ActivityOne did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
// ==================== Section Two =====================
// Click on Start Activity Two
solo.clickOnView(solo.getView(course.labs.activitylab.R.id.bLaunchActivityTwo));
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("CloseActivityTwoTest failed:" +
"Section Two:" +
"ActivityTwo did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
// ==================== Section Three =====================
// Click on Close Activity
solo.waitForView(course.labs.activitylab.R.id.bClose);
solo.sleep(sleep);
solo.clickOnView(solo.getView(course.labs.activitylab.R.id.bClose));
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("CloseActivityTwoTest failed:" +
"Section Three:" +
"ActivityTwo did not close correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
// Check for proper counts
assertTrue("CloseActivityTwoTest failed:" +
"Section Three:" +
"onCreate() count was off for ActivityOne after ActivityTwo closed.",
solo.waitForText("onCreate\\(\\) calls: 1"));
assertTrue("CloseActivityTwoTest failed:" +
"Section Three:" +
"onStart() count was off for ActivityOne after ActivityTwo closed.",
solo.waitForText("onStart\\(\\) calls: 2"));
assertTrue("CloseActivityTwoTest failed:" +
"Section Three:" +
"onResume() count was off for ActivityOne after ActivityTwo closed.",
solo.waitForText("onResume\\(\\) calls: 2"));
assertTrue("CloseActivityTwoTest failed:" +
"Section Three:" +
"onRestart() count was off for ActivityOne after ActivityTwo closed.",
solo.waitForText("onRestart\\(\\) calls: 1"));
}
}
package course.labs.activitylab.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.activitylab.ActivityOne;
public class Test6_ReopenActivityTwoTest extends ActivityInstrumentationTestCase2<ActivityOne> {
private Solo solo;
private int timeout = 20000;
private int sleep = 1000;
public Test6_ReopenActivityTwoTest() {
super(ActivityOne.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Executes the ReopenActivityTwoTest
public void testRun() {
// ==================== Section One =====================
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("ReopenActivityTwoTest failed:" +
"Section One:" +
"ActivityOne did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
// ==================== Section Two =====================
// Click on Start Activity Two
solo.clickOnView(solo.getView(course.labs.activitylab.R.id.bLaunchActivityTwo));
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("ReopenActivityTwoTest failed:" +
"Section Two:" +
"ActivityTwo did not load correctly",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bClose);
solo.sleep(sleep);
// ==================== Section Three =====================
// Click on Close Activity
solo.clickOnView(solo.getView(course.labs.activitylab.R.id.bClose));
// Wait for activity: 'course.labs.activitylab.ActivityOne'
assertTrue("ReopenActivityTwoTest failed:" +
"Section Three:" +
"ActivityTwo did not close correctly",
solo.waitForActivity(course.labs.activitylab.ActivityOne.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bLaunchActivityTwo);
solo.sleep(sleep);
// ==================== Section Four =====================
// Click on Start Activity Two
solo.clickOnView(solo.getView(course.labs.activitylab.R.id.bLaunchActivityTwo));
// Wait for activity: 'course.labs.activitylab.ActivityTwo'
assertTrue("ReopenActivityTwoTest failed:" +
"Section Four:" +
"ActivityTwo did not reopen correctly after being closed",
solo.waitForActivity(course.labs.activitylab.ActivityTwo.class, timeout));
solo.waitForView(course.labs.activitylab.R.id.bClose);
// Check for proper counts
assertTrue("ReopenActivityTwoTest failed:" +
"Section Four:" +
"onCreate() count was off for ActivityTwo after being reopened for a second time.",
solo.waitForText("onCreate\\(\\) calls: 1"));
assertTrue("ReopenActivityTwoTest failed:" +
"Section Four:" +
"onStart() count was off for ActivityTwo after being reopened for a second time.",
solo.waitForText("onStart\\(\\) calls: 1"));
assertTrue("ReopenActivityTwoTest failed:" +
"Section Four:" +
"onResume() count was off for ActivityTwo after being reopened for a second time.",
solo.waitForText("onResume\\(\\) calls: 1"));
assertTrue("ReopenActivityTwoTest failed:" +
"Section Four:" +
"onRestart() count was off for ActivityTwo after being reopened for a second time.",
solo.waitForText("onRestart\\(\\) calls: 0"));
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="course.labs.activitylab"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityOne"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ActivityTwo"
android:label="@string/title_activity_activity_two" >
</activity>
</application>
</manifest>
\ No newline at end of file
package course.labs.activitylab;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class ActivityOne extends Activity {
// Use these as keys when you're saving state between reconfigurations
private static final String RESTART_KEY = "restart";
private static final String RESUME_KEY = "resume";
private static final String START_KEY = "start";
private static final String CREATE_KEY = "create";
// String for LogCat documentation
private final static String TAG = "Lab-ActivityOne";
// Lifecycle counters
// TODO:
// Create variables named
// mCreate, mRestart, mStart and mResume
// to count calls to onCreate(), onRestart(), onStart() and
// onResume(). These variables should not be defined as static.
// You will need to increment these variables' values when their
// corresponding lifecycle methods get called.
// TODO: Create variables for each of the TextViews
// named mTvCreate, mTvRestart, mTvStart, mTvResume.
// for displaying the current count of each counter variable
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
// TODO: Assign the appropriate TextViews to the TextView variables
// Hint: Access the TextView by calling Activity's findViewById()
// textView1 = (TextView) findViewById(R.id.textView1);
Button launchActivityTwoButton = (Button) findViewById(R.id.bLaunchActivityTwo);
launchActivityTwoButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO:
// Launch Activity Two
// Hint: use Context's startActivity() method
// Create an intent stating which Activity you would like to
// start
Intent intent = null;
// Launch the Activity using the intent
}
});
// Emit LogCat message using the Log.i method
}
@Override
public void onStart() {
super.onStart();
// Emit LogCat message using the Log.i method
}
@Override
public void onResume() {
super.onResume();
// Emit LogCat message using the Log.i method
}
@Override
public void onPause() {
super.onPause();
// Emit LogCat message using the Log.i method
}
@Override
public void onStop() {
super.onStop();
// Emit LogCat message using the Log.i method
}
@Override
public void onRestart() {
super.onRestart();
// Emit LogCat message using the Log.i method
}
@Override
public void onDestroy() {
super.onDestroy();
// Emit LogCat message using the Log.i method
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
}
public void displayCounts() {
}
}
package course.labs.activitylab;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class ActivityTwo extends Activity {
// Use these as keys when you're saving state between reconfigurations
private static final String RESTART_KEY = "restart";
private static final String RESUME_KEY = "resume";
private static final String START_KEY = "start";
private static final String CREATE_KEY = "create";
// String for LogCat documentation
private final static String TAG = "Lab-ActivityTwo";
// Lifecycle counters
// TODO:
// Create variables named
// mCreate, mRestart, mStart and mResume
// to count calls to onCreate(), onRestart(), onStart() and
// onResume(). These variables should not be defined as static.
// You will need to increment these variables' values when their
// corresponding lifecycle methods get called.
// TODO: Create variables for each of the TextViews
// named mTvCreate, mTvRestart, mTvStart, mTvResume.
// for displaying the current count of each counter variable
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
// TODO: Assign the appropriate TextViews to the TextView variables
// Hint: Access the TextView by calling Activity's findViewById()
// textView1 = (TextView) findViewById(R.id.textView1);
Button closeButton = (Button) findViewById(R.id.bClose);
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO:
// This function closes Activity Two
// Hint: use Context's finish() method
}
});
// Has previous state been saved?
if (savedInstanceState != null) {
// TODO:
// Restore value of counters from saved state
// Only need 4 lines of code, one for every count variable
}
// Emit LogCat message using the Log.i method
}
@Override
public void onStart() {
super.onStart();
// Emit LogCat message using the Log.i method
}
@Override
public void onResume() {
super.onResume();
// Emit LogCat message using the Log.i method
}
@Override
public void onPause() {
super.onPause();
// Emit LogCat message using the Log.i method
}
@Override
public void onStop() {
super.onStop();
// Emit LogCat message using the Log.i method
}
@Override
public void onRestart() {
super.onRestart();
// Emit LogCat message using the Log.i method
}
@Override
public void onDestroy() {
super.onDestroy();
// Emit LogCat message using the Log.i method
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
}
// specified above
public void displayCounts() {
}
}
app/src/main/res/drawable-hdpi/ic_launcher.png

8.02 KiB

app/src/main/res/drawable-ldpi/ic_launcher.png

2.5 KiB

app/src/main/res/drawable-mdpi/ic_launcher.png

3.97 KiB

app/src/main/res/drawable-xhdpi/ic_launcher.png

13.2 KiB

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/onCreate" />
<TextView android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/onStart" />
<TextView android:id="@+id/resume"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/onResume" />
<TextView android:id="@+id/restart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/onRestart" />
<Button android:id="@+id/bLaunchActivityTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button" />
</LinearLayout>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment