• Nie Znaleziono Wyników

Hello World

N/A
N/A
Protected

Academic year: 2021

Share "Hello World"

Copied!
16
0
0

Pełen tekst

(1)

Android Introduction

Hello World

(2)

Goal

 Create a very simple application

 Run it on a real device

 Run it on the emulator

 Examine its

structure

(3)

Google Tutorial

 We will follow the tutorial at:

http://developer.android.com/resources/tut orials/hello-world.html

 Start Eclipse (Start -> All Programs ->

Eclipse)

 Create an Android Virtual Device (AVD)

 Create a New Android Project

(4)

Package Content

Java code for our activity All source code here

Generated Java code Helps link resources to Java code

Layout of the activity Strings used in the program

All non-code resources

Android Manifest Images

(5)

Android Manifest

 <?xml version="1.0" encoding="utf-8"?>

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

 package="com.example.helloandroid"

 android:versionCode="1"

 android:versionName="1.0">

 <application android:icon="@drawable/icon" android:label="@string/app_name">

 <activity android:name=".HelloAndroid"

 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>

(6)

Activity

 An Android activity is focused on a

single thing a user can do.

 Most applications have multiple

activities

(7)

Activities start each other

(8)

Revised HelloAndroid.java

package com.example.helloandroid;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

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 – by hand");

setContentView(tv);

}

}

Set the view “by

hand” – from the

Inherit from the Activity Class

(9)

Run it!

(10)

/res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

</LinearLayout>

Further redirection to /res/values/strings.xml

(11)

/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World, HelloAndroid – by resources!</string>

<string name="app_name">Hello, Android</string>

</resources>

(12)

HelloAndroid.java

package com.example.helloandroid;

import android.app.Activity;

import android.os.Bundle;

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);

} }

Set the layout of the view as described in

(13)

/gen/R.java

package com.example.helloandroid;

public final class R {

public static final class attr { }

public static final class drawable {

public static final int icon=0x7f020000;

}

public static final class id {

public static final int textview=0x7f050000;

}

public static final class layout {

public static final int main=0x7f030000;

}

public static final class string {

public static final int app_name=0x7f040001;

public static final int hello=0x7f040000;

}

(14)

Run it!

(15)

Introduce a bug

package com.example.helloandroid;

import android.app.Activity;

import android.os.Bundle;

public class HelloAndroid extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Object o = null;

o.toString();

setContentView(R.layout.main);

}

(16)

Run it!

Cytaty

Powiązane dokumenty

We measure the coherence times for the two Bell states, varying the total evolution time for the case of a single spin- echo pulse ( α ¼ 1) with the electron spin prepared in the

Thesis I The signal pre-processing algorithm based on filtration and estimation of statistics from the vibration signal and an artificial neural network dedicated for

W utworze opisywana jest operacja mózgu, która odbywa się w nadmorskim instytucie medycznym, gdzie wykonuje się m.in.. sekcje neuronów lub tworzy układy hybrydowe,

Maylor, Moulson, Muncer i Taylor (2002), badaj&#34;c oso- by z trzech grup wiekowych ($redni wiek 19, 67 i 81 lat), nie zreplikowali uzyskanych przez Happé i wspó pracow- ników

Results of the S–N analysis (zones of the FE model with determination of total fatigue life) are presented in Fig.. Location of the most fatigue-critical zone overlaps to the

Odnośnie do odstąpienia od umowy sprzedaży rzeczy ruchomej w orzecznictwie Sądu Najwyższego zarysowały się rozbieżne stanowiska. 84) stwierdzono, że odstąpienie przez kupującego

Firmy fintech mogą również skorzystać z umieszczania blokad cyfrowych na kopiach swoich prac, aby zapewnić dodatkowe bezpieczeństwo. Obejście blokad cyfrowych w

En effet, d’un autre côte, le silence, dans la prose de Herling, semble être une suspension consciente de la voix dans ces situations dans lesquelles il ne peut rien y avoir de cette