Android programming

Download Report

Transcript Android programming

Introduction to
Android Programming
19.3.2013
Content
Basic environmental structure
Building a simple app
Debugging
Basic environmental structure
Create a very simple
application
Examine its structure
Run it on a real device
Run it on the emulator
Create a new Android project
(File > New > Android Application)
Directory
name
Android
version
Name that
appears
on device
Class to
automatically
create
Java
package
Set your project:
Project Name:
Hello World
Build Target:
Select Android 2.1
Application Name:
Hello World
Package Name:
com.android.test
Create Activity:
HelloWorld
Press "Finish"
Project Components
src – your source code
gen – auto-generated code (usually R.java)
Included libraries
Resources
– Drawables (like .png images)
– Layouts
– Values (like strings)
Manifest file
Source
code
Auto-generated
code
String
constants
UI
layout
Configuration
Now you have your project created let's
write some code!
Your code is located in a file called
HelloWorld.java in the src folder.
Your screen layout file is main.xml in the
layout directory.
Project files
HelloWorld.java
Sourcecode
1
2
3
4
5
6
7
8
9
Inherit
from the
Activity
Class
public class HelloAndroid extends Activity {
/** Called when the activity first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Set the layout of
the view as
described in the
main.xml layout
Hello World
modify HelloWorld.java
12
XML file
Used to define some of the resources
– Layouts (UI)
– Strings
– Manifest file
res/layout: contains layout declarations of the app,
UIs are built according to the layout file
Elements and layouts
ImageButton
EditText
CheckBox
Button
RadioButton
ToggleButton
RatingBar
Elements and layouts
DatePicker
TimePicker
Spinner
AutoComplete
Gallery
MapView
WebView
Types of Layouts
Linear Layout
– It organizes controls vertical or horizontal fashion
Relative Layout,
– It organizes controls relative to one another.
Table Layout
– A grid of made up of rows and columns, where a
cell can display a view control
Frame Layout
– Frame layouts are the normal layout of choice
when you want to overlap different views stacked
on top the other.
Layout
Open main.xml in Layout mode
select main.xml to view/edit the xml markup
Drag a button on to layout
Layout
Linear 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"
TextView,
android:layout_height="wrap_content"
android:text="@string/hello" />
display static
</LinearLayout>
text
A reference to String
resource ‘hello’
21
strings.xml
In res/values
strings.xml
Promotes good programming style
Strings are just one kind of ‘Value’
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloAndroid!
</string>
<string name="app_name">Hello, Android</string>
</resources>
Manifest File
Contains characteristics about your application
NEED to specify it in manifest file
– Have more than one Activity in app,
– Services and other components too
– Important to define permissions and external
libraries, like Google Maps API
Manifest File – Adding an Activity
AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest
3
xmlns:android="http://schemas.android.com/apk/res/android"
4
package="edu.upenn.cis542"
5
android:versionCode="1"
6
android:versionName="1.0">
7
<application android:icon="@drawable/icon"
8
android:label="@string/app_name">
9
<activity android:name=".HelloAndroid"
10
android:label="@string/app_name">
11
<intent-filter>
12
<action
13
android:name="android.intent.action.MAIN" />
14
<category
15
android:name="android.intent.category.LAUNCHER"/>
16
</intent-filter>
17
</activity>
18
</application>
19 </manifest>
Run Hello World
Select HelloWorld Project,
Run->Run as->Android Application
ADT will start a proper AVD and run HelloWorld app on it
26
You may receive "Android AVD Error" if you
have not setup an android emulator device.
Select yes to setup a new Android Virtual Device
Select "New"
Create new
Android Virtual Device
• Name:
Android 2.1
• Target:
Android 2.1 API Level 7
• SD card Size:
4000 MiB
• Rest as default settings
To get it running…
Press "Create AVD". Be patient it will take a
minute to create your new AVD.
Select your new AVD and run your application.
Emulator
On Phone
Should be enabled on phone to use
developer features
In the main apps screen select:
→ Settings
→ Applications
→ Development
→ USB debugging (needs to be checked)
How to Debug
Log.v(tag, message);

Window > Show View > Other > Android >
LogCat
To show a pop-up window:
Toast.makeText(
getApplicationContext(),
message,
Toast.LENGTH_LONG).show();
Logcat Information
Log.e("MyTag", "Error message with my own tag");
Log.w("dalvikvm", "VM Warning message");
Log.d("MyTag", "Debug message");
Log.i("MainActivity","Information message");
Log.v("MyTag", "Verbose message");
Log.f(“Fail", "What a Terrible Failure");
Useful sources
Android Official Site
• http://www.android.com
Android SDK, Tutorial, Concepts and API docs
• http://androidappdocs.appspot.com/index.html
Android Development Community
• http://www.anddev.org/
30 Days Android Apps Development
• http://bakhtiyor.com/category/30-days-of-android-apps/
36