Topics are not covered in the following order. For example, items 1, 2, and 4—XML layouts and Java classes—are interlaced.
android
namespacemain.xml
,
strings.xml
,
AndroidManifest.xml
.LinearLayout
s
and
TextView
s.FrameLayout
for simple superimpositions,
LinearLayout
,
TableLayout
for rows and columns,
RelativeLayout
.
Tabs for launching other
Activity
s.
ToggleButton
s.
EditText
:
dismiss the keyboard with an
InputMethodManager
.RadioButton
and
RadioGroup
.SeekBar
:
setMax
,
change integer value of bar into a fraction in the range 0 to 1,
onProgressChanged
.AdapterView
s:
ListView
and
Spinner
.
Two examples of
Adapter
s
to go with them:
ArrayAdapter<T>
and
SimpleCursorAdapter
.
extends
,
the @Override
annotation,
protected
,
super
.Activity
.
Override the method
onCreate
.
See how the Java connects to the XML:
setContentView
.
View.OnClickListener
.
Implement it as a named class and as an anonymous class;
instantiate it as a named object and as an anonymous object;
or let class
Activity
implement it.
AndroidManifest.xml
file.
Which activity is launched when the app starts up?
Launch the app in landscpae orientation..zip
file;
import it back in.
Screen shots.tools
directory.android
,
the
.apk
file with
ant
.
Install it into the emulator with
adb
.
.xml
file.
findViewById
.addView
.sqlite3
interactive interpreter.
SQLiteOpenHelper
,
write to it with
execSQL
,
read from it with a
Cursor
.
Put the
Cursor
in a
SimpleCursorAdapter
to provide data for a
ListView
or a
Spinner
.
Override
getString
in a subclass of
Cursor
.
adb
shell
to examine the database file created by the app.
Run
sqlite3
inside of
adb
shell
.
Pull
a file from the emulator filesystem to the computer;
push
it back again.
MotionEvent
s
have different indices for different fingers.Paint
onto a
Canvas
object.s
drawLine
,
drawPath
.getMatrix
and
getValues
.
View
by making repeated calls to
invalidate
.
View
with
Animation
and
Transformation
objects.
Drawable
s.WebView
.
The
WebView
’s
client
will tell us when the page is completely loaded.
The
WebView
’s
Chrome
client
will tell us if the page has called the JavaScript
alert
function.
Activity
class;
a filter for one particular Mime type.
No tests.
Grades will be determined by the apps handed in as homework.
Each app will be submitted as a
.zip
file uploaded to
GitHub.