FIT2081 Lecture Notes - Lecture 3: Asteroid Family, Asp.Net, Master Sergeant

151 views7 pages
!"#$%$#&'($)*"&"+*,
-#.#*/
012*321456
7
8.2#$.++&'9$66*5
7
04++&'9$66*5
7
:*/#21&*6
7
($)*"&"+*
;'"9$+6'1)'!"#$%$#&'"+.//<'=9$"9'9./'"1>&'1)'!(('+$)*"&"+*' ".++?."@/
onCreate()
setContentView
B*#/'+.&14#/')21C'/&/#*C
§
D5$#$.+$/*/'*+*C*5#/
§
onStart()
super.onStart();
onRestoreInstanceState();
D)'5**6'#1'/.%*E2*/#12*'."#$%$#&'$5/#.5"*'/#.#*
§
onResume()
super.onResume();
!"#$%$#&'?*"1C*/'%$/$?+*'$5')12*321456
onPause()
onSaveInstanceState();
D)'5**6'#1'/.%*E2*/#12*'."#$%$#&'$5/#.5"*'/#.#*
§
!"#$%$#&'51'+153*2'%$/$?+*
onStop()
!"#$%$#&')$5$/9$53E?*$53'6*/#21&*6'?&'#9*'/&/#*C
onDestroy()
F*+*./*/'.++'2*/142"*/'"422*5#+&'1""4>$*6'?&'#9*'."#$%$#&
!"#$%$#&'/94#/'61=5
GH."@I'-#."@
;'91='."#$%$#*/'.2*'.22.53*6'G$5'#9*'126*2'$5'=9$"9'*."9'."#$%$#&'$/'1>*5*6I
J./@';'.'"1++*"#$15'1)'."#$%$#$*/' #9.#'4/*2/'$5#*2."#'=$#9'=9*5'>*2)12C$53'
.'"*2#.$5'K1?
7
L*='."#$%$#&'>4/9*6'15'#1>'1)'/#."@'.56'#.@*/')1"4/
82*%$14/'."#$%$#&'2*C.$5/'$5'/#."@<'?4#'$/'/#1>>*6.M
-&/#*C'2*#.$5/'"422*5#'ND'/#.#*?M
OM
J1>'."#$%$#&'>1>>*6'1))'#1'2*%*.+'#9*'>2*%$14/'15*
N5#$+'4/*2'2*#425/'#1'91C*'/"2**5E=#%'."#$%$#&'=./'2455$53'=9*5'
#9*'#./@'?*3.5
.M
P9*5'.++'."#$%$#$*/'.2*'2*C1%*6<'#./@'51'+153*2'*Q$/#/?M
RM
S'".5'$5"+46*'."#$%$#$*/')21C'/*%*2.+'6$))*2*5#'.>>/'G$5#*5#/'".5'31'."21//'.>>/I
S'C4+#$>+*'#./@'?."@'/#."@/'".5'*Q$/#'$5'?."@321456'.#'15"*
84##$53'>915*'#1'/+**>'TTTU'>4/9*/'?+.5@'."#$%$#&'15#1'/#."@7
-4>*2
;'./@$53'>.2*5#'"+.//'#1'*Q*"4#*'
$#/'1=5'+$)*/#&+*'".++?."@
D/'.'/#.56.26'=.&'#1'
?*3$5'+$)*"&"+*'".++?."@
7
D)'6*+*#*6<'15+&'"9$+6V/'%*2'
$5%1@*6
7
D5/#.5"*'/#.#*';'%.+4*/'1)'.++'6.#.'G%$*=<'515T%$*=I
!"#$%$#&'$5/#.5"*'6.#.
!"#$%$#&'%$*='6.#.
;'#9*'/#.#*'1)'.++'W$*=/'$5'!"#$%$#&V/'+.&14#
7
!"#$%$#&'515T%$*='6.#.
;'!"#$%$#&'$5/#.5"*'%.2$.?+*/
7
D5%1+%*/'=2$#$53'#1'.56'2*.6$53')21C'.'6*%$"*V/'%1+.#$+*'C*C12&7
X/.%$53E2*/#12$53'."#$%$#&'$5/#.5"*'/#.#*'GY'C*#916/I
onSaveInstanceState(Bundle outState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'/.%*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'/.%*'LWT/#.#*'$5'H456+*
§
XX'P15V#'$5%1@*'=9*5'4/*2'$56$".#*/'615*'=$#9'!"#$%$#&'G$M*M'
!"#$%$#&'".5'?*'6*/#21&*6I
§
onCreate(Bundle savedInstanceState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'2*/#12*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'2*/#12*'LWT/#.#*')21C'H456+*
A9*"@'$)'H456+*'$/'515T54++
-**/'$)'#9*2*'$/'.5'*Q$/#$53'/#.#*'#9.#'5**6/'/#12$53<'
1#9*2=$/*'$5$#$.+$/*' #9*'/#.#*'=E'/*5/$?+*'6*).4+#'
%.+4*/
®
[
§
onRestoreInstanceState
(Bundle savedInstanceState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'2*/#12*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'2*/#12*'LWT/#.#*')21C'H456+*
\5+&'".++'$)'H456+*'$/'515T54++
H4#'".5V#'/*#'6*).4+#'%.+4*/'9*2*'45+$@*'
onCreate(Bundle)
®
[
§
Bundle 1?K'
§
;'".>.?+*'1)'/#12$53'@*&E%.+4*'>.$2/
D/'.'"1CC15'>.2.C*#*2'1)'#9*/*'".++?."@/'=9$"9'!5621$6'4/*/'
#1'/.%*E2*/#12*'."#$%$#&V/'%$*=T/#.#*
A.++?."@/'.++'4/*'#9*'/.C*'H456+*'G5.C*'61*/5V#'C.##*2I'
#1'>4/9'.56'2*#2$*%*'6.#.')21C
[
§
A.5'.+/1'?*'4/*6'#1'C.54.++&'/.%*E2*/#12*'."#$%$#&V/'515T%$*='
/#.#*
§
7
!4#1T/.%$53'WT/#.#*
]."9'W$*='C4/#'9.%*,
!'45$^4*'D:
§
saveEnabled = True
§
P$++'9.>>*5'$)'!5621$6'$/'#9*'".4/*'1)'#9*'."#$%$#&V/'6*/#24"#$15<'51#'
4/*2'G/&/#*C'@$++')12'2*/142"*/<'6*%$"*'2*12$*5#.#$15<'*#"I
7
8*2/$/#*5# 6.#.
;'6.#.'.//1"$.#*6'=$#9'C4+#$>+*'4/*/'1)'#9*'."#$%$#&'/*>.2.#*6'?&'.5&'.C145#'
1)'#$C*
7
->.5/'.5'!"#$%$#&V/'$5/#.5"*/7
Z4/#'>*2/$/#'."21//'.>>'6*/#21&/'./'=*++7
D5%1+%*/'=2$#$53'#1'.56'2*.6$53')21C'.'6*%$"*V/'515T%1+.#$+*'C*C12&7
]%*5#/'#9.#'2*^4$2*'6.#.'>*2/$/#*5"&
!"#$%$#&'>.2#$.++&E)4++&'9$66*5
!"#$%$#&'/#$++'$5'C*C12&<'51'/#.#*'6.#.'+1/#
§
LWT/#.#*'C4/#'?*'"16*6'$5'#1'?*'2*/#12*6
§
8*2/$/#*5#'6.#.'2*C.$5/'$5'+./#'4>6.#*6'/#.#*'GLWTC*C12&I
§
!"#$%$#&'6*/#21&*6'4/$53'H."@'?4##15
!5621$6'#.@*/'$#'./'WT/#.#*'51='455*"*//.2&<'/1'$#'6*/#21&/'WT
/#.#*'#3#'=$#9'."#$%$#&
§
8*2/$/#*5#'6.#.'2*C.$5/'$5'+./#'4>6.#*6'/#.#*'GLWTC*C12&I
§
:*%$"*'2*"15)$342.#$15
!>>'51#'@$++*6<'?4#'!"#$%$#&'6*/#21&*6'.56'2*+.45"9*6
§
WT/#.#*'/.%*6'$5'H456+*'#1'?*'2*/#12*6'+.#*2
§
LWT/#.#*'C4/#'?*'"16*6'$5'#1'?*'2*/#12*6
§
!>>'45$5/#.++*6')21C'6*%$"*
!++'.>>V/'6.#.'$/'+1/#<'$5"+46$53'.5&'>*2/$/#*5#'6.#.'/#12*6'15'LWT
C*C12&
§
7
X/.%$53E2*/#12$53'>*2/$/#*5#'."#$%$#&'6.#.
sharedPreferences
012'/#12$53'6.#.'#9.#'".5'?*'.""*//*6'?&'6$))*2*5#'."#$%$#$*/'.56'
>*2/$/#*5#'6.#.
§
-.%* 4/$53'public void saveSharedPreferences()
SharedPreferences sharedPref =
getPreferences(Context.MODE_PRIVATE);
[
SharedPreferences.Editor editor =
sharedPref.edit();
editor.putString
("key1",persistentState);
editor.commit();
§
F*/#12* 4/$53'restoreSharedPreferences()
SharedPreferences sharedPref =
getSharedPreferences(String filename,
int defaultValue);
[
persistentState = sharedPref.getString
("key1",persistentState);
getSharedPreferences 4/*6'=9*5'&14'5**6'#1'
4/*'C4+#$>+*'>2*)*2*5"*/')$+*/'$6*5#$)$*6'?&'5.C*<'
=9$"9'&14'4/*'#9*')$2/#'>.2.C*#*2'#1'$6*5#$)&
®
getPreferences 4/*6'=9*5'&14'15+&'5**6'15*'
>2*)*2*5"*/')$+*')12'&142'."#$%$#&M'-$5"*'#9$/'=$++'?*'
#9*'15+&'>2*)*2*5"*/')$+*')12'&142'!"#$%$#&<'&14'615V#'
/4>>+&'.'5.C*M
®
§
7
DC>#'#1'/.%*'>*2/$/#*5#'6.#.'$5'158.4/*GI'_=9$"9'$/'>.2#'1)'+$)*"&"+*'".++?."@/'
/1'$#'=$++'?*'".++*6'$5'*%*2&'/$#4.#$15`'$5/#*.6'1)'
15-.%*D5/#.5"*-#.#*GH456+*I
7
J.?+*'1)'a'/"*5.2$1/
-$C>+*!"#$%$#&($)*"&"+*:*C1-#46*5#
!"##$"%&'()*('+,-+*%+(.-/)*01
2+3/)+*4"4)3*(+5+*4
158.4/*GI'TTTTTTTU'15-#1>GI'TTTTTTTU'
15:*/#21&GI''TTTTTTTU'15A2*.#*GI'TTTTTTTU'15-#.2#GI'TTTTTTTU'15F*/4C*GI
6"%&(+5+*4
15:*/#21&GI'TTTTTTTU'15A2*.#*GI'TTTTTTTU'15-#.2#GI'TTTTTTTU'15F*/4C*GI
789("/+(48+9(.)::+/+*4;
:42$53'2*12$*5#.#$15<'#9*'4/*2'=.5#/'#1'/#.&'15'#9*'!"#$%$#&M
J9*2*)12*'#9*'/&/#*C'5**6/'#1'/.%*'#9*'/#.#*'?*)12*'6*/#21&$53'.56'>2*>.2$53'
)12'#9*'5*='12$*5#.#$15M
J9*'/.%*6'/#.#*'=$++'?*'2*/#12*6'$5'#9*'5*='12$*5#.#$15M
b1=*%*2<'=9*5'#9*'Back ?4##15'$/'"+$"@*6<'#9.#'$56$".#*/'#1'#9*'/&/#*C'#9.#'#9*'
4/*2'51'+153*2'5**6/'#9*'!"#$%$#&M'J9*2*)12*<'#9*2*'$/'51'5**6'#1'/.%*'$#/'/#.#*M
78+*(.3+'("*()*8+/)4+.(%"##$"%&<'('-=+/(+>+%-4+():1
?4()'(*34(35+//)..+*;
D)'".++?."@'$/'51#'".++*6'?&'"9$+6<'=9*5'.5'*%*5#'1""42/<'#9*'"16*'K4C>/'#1'$#/'
>.2*5#'.56'*Q*"4#*/'>.2*5#V/'%*2/$15M
?4()'(35+//)..+*;
D)'".++?."@'$/'".++*6'?&'"9$+6<'=9*5'.5'*%*5#'1""42/<'?1#9'"9$+6'.56'>.2*5#V/'
%*2/$15'$/'*Q*"4#*6M
3*@"5+?*'4"*%+@4"4+("*.(3*2+'43/+?*'4"*%+@4"4+("/+($348(%"##$"%&(A+483.'(
)*8+/)4+.($9(B%4)5)49('-$%#"''+'C(7)48(/+'=+%4(43('"5)*0(5)+D("*.()*'4"*%+(
5"/)"$#+('4"4+(3:("*(B%4)5)49('-$%#"''()*'4"*%+E(+>=#")*(48+(%3*'+,-+*%+'(3:(
*34(35+//).)*0("*.(35+//).)*0(48+'+(A+483.'C
D)'".++?."@'61*/5V#'1""42'?4#'/4>*2'1""42/<'15+&'/#.56.26'=12@'$5'>.2*5#V/'
"+.//'1""42/M
OM
D)'".++?."@'1""42/'?4#'/4>*2'61*/5V#'1""42<'15+&'"9$+6V/'%*2/$15'=$++'?*'
*Q*"4#*6M
A15/*^4*5"*/,'>.2*5#V/'%*2/$15'=$++'51#'?*'*Q*"4#*6<'?4#'$#'"15#.$5/'
$C>#'"16*'#1'>*2)12C'/1C*'/#6'=12@')12'#9*'!"#$%$#&M
.M
!4#1T/.%*E2*/#12*'1)'#9*'%$*=T/#.#*'=15V#'1""42?M
RM
D)'".++?."@'.56'/4>*2'?1#9'1""42<'?1#9'1""42'&.&MYM
78"4("/+(48+(F(4"'&'(48"4(%3.+()*("*(B%4)5)49<'(3*!/+"4+(%"##$"%&(-'-"##9(.3+';
A.++/'/4>*2'"+.//'15A2*.#*'#1'"1C>+*#*'"2*.#$15'1)'!"#$%$#&
super.onCreate(savedInstanceState)
OM
F*"1%*2/'$5/#.5"*'/#.#*')21C'?456+*
if(savedInstanceState != null) {
mGameState =
savedInstanceState.getString(GAME_STATE_KEY);
}
RM
-*#/'4/*2'$5#*2)."*'+.&14# )12'#9*'!"#$%$#&
(.&14#')$+*'$/'6*)$5*6'$5'>21K*"#'2*/E+.&14#EC.$5c."#$%$#&MQC+'')$+*
setContentView(R.layout.main_activity)
YM
D5$#$.+$/*/'C*C?*2'TextView /1'$#'".5'?*'C.5$>4+.#*6'+.#*2'G2*)*2*5"*/'
#1'#9*'ND'"1C>15*5#I
mTextView = (TextView)
findViewById(R.id.text_view);
aM
!3*').+/(48+(%3.+1
#3*0(8)08@%3/+(G('8"/+.H/+:C0+4?*4I0+4@4/)*0I2C'4/)*0C'"5+.J8)08J'%3/+KE(
'3A+L"#KM
78"4()'('3A+L"#;
!'6*).4+#'%.+4*'1)'#9*'/#12*6'6.#.'$)'.'%.+4*'61*/5d#'*Q$/#'$5'#9*'2*)*2*5"*M
78"4(.3+'(0+4@4/)*0(.3;
D#'2*#425/'.'/#2$53'%.+4*')21C'-#2$53/'$5'SZ('61"4C*5#M
78"4(/3#+(.3+'(0+4@4/)*0<'(/+4-/*(5"#-+(=#"9("'("(="/"A+4+/(3:(48+(0+4?*4(
A+483.;
J9*'2*#425'%.+4*'$/'#9*'@*&'%.+4*'$5'3*#D5#M
78"4("/+(@8"/+.H/+:+/+*%+'(:)#+'(:3/;
J9*&'.2*')12'/#12$53'6.#.'#9.#'".5'?*'.""*//*6'?&'6$))*2*5#'."#$%$#$*/'.56'
>*2/$/#*5#'6.#.M
78"4()'(48+(.)::+/+*%+($+4D++*(D8"4()'(/+:+/+*%+.($9(48+(/+4-/*(5"#-+'(3:(
0+4H/+:+/+*%+'IK("*.(0+4@8"/+.H/+:+/+*%+'IK;
3*#-9.2*682*)*2*5"*/G-#2$53 5.C*<'$5# C16*I T4/*6'=9*5'&14'5**6'#1'4/*'
C4+#$>+*'>2*)*2*5"*/')$+*/'$6*5#$)$*6'?&'5.C*<'=9$"9'&14'4/*'#9*')$2/#'>.2.C*#*2'
#1'$6*5#$)&
3*#82*)*2*5"*/GI T4/*6'=9*5'&14'15+&'5**6'15*'>2*)*2*5"*/')$+*')12'&142'
."#$%$#&M'-$5"*'#9$/'=$++'?*'#9*'15+&'>2*)*2*5"*/')$+*')12'&142'!"#$%$#&<'&14'615V#'
/4>>+&'.'5.C*M
\>#$15/'C*54
;'>2$C.2&'"1++*"#$15'1)'C*54'$#*C/')12'.5'!"#$%$#&'G512C.++&'."#$15/'
#9.#'9.%*'3+1?.+'$C>."#'."21//'#9*'.>>'*3M'/*##$53/I
7
P9*2*'."#$15'?4##15/'.2*'>4/9*6'$5#1'$)'51'/>."*'$5'."#$15'?.27
D5)+.#$53 ;'615*'$5'onCreateOptionsMenu(Menu)
MenuInflater.inflate(R.menu.main, Menu menu) ;'
"15/#24"#'.'5*='$5/#.5"*'1)'Menu 3$%*5'.'C*54'2*/142"*'
$6*5#$)$*2
7
F*/>156$53'#1'C*54'$#*C'/*+*"#$15';'615*'$5'
onOptionsItemSelected(MenuItem item)
\%*22$6*OM
]Q#2."#'$6'1)'C*54'$#*CRM
A2*.#*'"156$#$15.+'/=$#"9T"./*'/#24"#42*'#1'6*.+'=$#9'6$))'"./*/'
1)'#9*'$6'G$M*M'6$))'C*54'$#*C'/*+*"#$15/I
Z4/#'2*#425'true .)#*2'C*54'$#*C'$/'"+$"@*6
-$5"*'#9*'".++?."@'=./'$5%1@*6'?&'!5621$6<'#24*'9./'
#1'?*'2*#425*6'/1'!5621$6'@51=/'#9*'".++?."@'=./'
*Q*"4#*6'*))*"#$%*+&E#9*'*%*5#'=./'"15/4C*6'.56'
61*/5V#'9.%*'#1'31'#1'.51#9*2'View<')12'*Q.C>+*
[
!+/1'>2*%*5#/'6*).4+#'."#$15'G$5%1+%*/'".++$53'$#*CV/'
.//1"$.#*6'F455.?+*'12'/*56$53'.'C/3'#1'$#/'b.56+*2I
[
§
D)'64551'=9.#'#1'61<'6*)*2'#1'superV/'."#$15/'.56'$#/'
2*#425'%.+4*
§
YM
Action Bar =$++'.4#1C.#$".++&'9.56+*'"+$"@/'15'b1C*EN>'
?4##15<'./'+153'./'>.2*5#'."#$%$#&'$/'/>*"$)$*6'$5'
AndroidManifest.xml
item.getItemId() 4/*6'$5'/=$#"9T"./*'#1'2*/>156'#1'1>#$15/'
C*54'/*+*"#$15/'$5'onOptionsItemSelected(MenuItem
item)
default:
return super.onOptionsItemSelected(item);
7
Menu -> menuFile.xml G>.2#'1)'#9*'2*/'#9.#'!5621$6'>4++/')21CI'
G"15#.$5/'#9*'C*54'QC+'2*/142"*')$+*I
<menu version="1"
Title="Intro"
Position="top"
>
<item
Title="1 Menu"
Src="chap1.txt"
Dest="ch1.html" >
</item>
</menu>
7
821"*//
b1/#/'.>>/<'=9$"9'.2*'C.6*'4>'
1)'"1C>15*5#/
7
A.5'6*>*56'15'*."9'1#9*27
A422*5#'/#.#*
;'9$39*/#T2.5@$53'."#$%*'
"1C>15*5#'=$#9$5'#9*'.>>'
$#'91/#/
Week$3
J4*/6.&<' Re'Z.&'RfOg
Of,af
Unlock document

This preview shows pages 1-2 of the document.
Unlock all 7 pages and 3 million more documents.

Already have an account? Log in
!"#$%$#&'($)*"&"+*,
-#.#*/
012*3214567
8.2#$.++&'9$66*57
04++&'9$66*57
:*/#21&*67
($)*"&"+*
;'"9$+6'1)'!"#$%$#&'"+.//<'=9$"9'9./'"1>&'1)'!(('+$)*"&"+*' ".++?."@/
A.++?."@/,
onCreate()
setContentView
B*#/'+.&14#/')21C'/&/#*C
§
D5$#$.+$/*/'*+*C*5#/
§
onStart()
super.onStart();
onRestoreInstanceState();
D)'5**6'#1'/.%*E2*/#12*'."#$%$#&'$5/#.5"*'/#.#*
§
onResume()
super.onResume();
!"#$%$#&'?*"1C*/'%$/$?+*'$5')12*321456
onPause()
onSaveInstanceState();
D)'5**6'#1'/.%*E2*/#12*'."#$%$#&'$5/#.5"*'/#.#*
§
!"#$%$#&'51'+153*2'%$/$?+*
onStop()
!"#$%$#&')$5$/9$53E?*$53'6*/#21&*6'?&'#9*'/&/#*C
onDestroy()
F*+*./*/'.++'2*/142"*/'"422*5#+&'1""4>$*6'?&'#9*'."#$%$#&
!"#$%$#&'/94#/'61=5
GH."@I'-#."@
;'91='."#$%$#*/'.2*'.22.53*6'G$5'#9*'126*2'$5'=9$"9'*."9'."#$%$#&'$/'1>*5*6I
J./@';'.'"1++*"#$15'1)'."#$%$#$*/' #9.#'4/*2/'$5#*2."#'=$#9'=9*5'>*2)12C$53'
.'"*2#.$5'K1?
7
L*='."#$%$#&'>4/9*6'15'#1>'1)'/#."@'.56'#.@*/')1"4/
82*%$14/'."#$%$#&'2*C.$5/'$5'/#."@<'?4#'$/'/#1>>*6
.M
-&/#*C'2*#.$5/'"422*5#'ND'/#.#*
?M
OM
J1>'."#$%$#&'>1>>*6'1))'#1'2*%*.+'#9*'>2*%$14/'15*
N5#$+'4/*2'2*#425/'#1'91C*'/"2**5E=#%'."#$%$#&'=./'2455$53'=9*5'
#9*'#./@'?*3.5
.M
P9*5'.++'."#$%$#$*/'.2*'2*C1%*6<'#./@'51'+153*2'*Q$/#/
?M
RM
S'".5'$5"+46*'."#$%$#$*/')21C'/*%*2.+'6$))*2*5#'.>>/'G$5#*5#/'".5'31'."21//'.>>/I
S'C4+#$>+*'#./@'?."@'/#."@/'".5'*Q$/#'$5'?."@321456'.#'15"*
84##$53'>915*'#1'/+**>'TTTU'>4/9*/'?+.5@'."#$%$#&'15#1'/#."@
7
-4>*2
;'./@$53'>.2*5#'"+.//'#1'*Q*"4#*'
$#/'1=5'+$)*/#&+*'".++?."@
D/'.'/#.56.26'=.&'#1'
?*3$5'+$)*"&"+*'".++?."@
7
D)'6*+*#*6<'15+&'"9$+6V/'%*2'
$5%1@*6
7
D5/#.5"*'/#.#*';'%.+4*/'1)'.++'6.#.'G%$*=<'515T%$*=I
!"#$%$#&'$5/#.5"*'6.#.
!"#$%$#&'%$*='6.#.
;'#9*'/#.#*'1)'.++'W$*=/'$5'!"#$%$#&V/'+.&14#
7
!"#$%$#&'515T%$*='6.#.
;'!"#$%$#&'$5/#.5"*'%.2$.?+*/
7
D5%1+%*/'=2$#$53'#1'.56'2*.6$53')21C'.'6*%$"*V/'%1+.#$+*'C*C12&
7
X/.%$53E2*/#12$53'."#$%$#&'$5/#.5"*'/#.#*'GY'C*#916/I
onSaveInstanceState(Bundle outState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'/.%*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'/.%*'LWT/#.#*'$5'H456+*
§
XX'P15V#'$5%1@*'=9*5'4/*2'$56$".#*/'615*'=$#9'!"#$%$#&'G$M*M'
!"#$%$#&'".5'?*'6*/#21&*6I
§
onCreate(Bundle savedInstanceState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'2*/#12*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'2*/#12*'LWT/#.#*')21C'H456+*
A9*"@'$)'H456+*'$/'515T54++
-**/'$)'#9*2*'$/'.5'*Q$/#$53'/#.#*'#9.#'5**6/'/#12$53<'
1#9*2=$/*'$5$#$.+$/*' #9*'/#.#*'=E'/*5/$?+*'6*).4+#'
%.+4*/
®
[
§
onRestoreInstanceState
(Bundle savedInstanceState)
Z4/#'".++'/4>*2'#1'+*#'!5621$6'2*/#12*'WT/#.#*
§
Z4/#'C.54.++&'"16*'#1'2*/#12*'LWT/#.#*')21C'H456+*
\5+&'".++'$)'H456+*'$/'515T54++
H4#'".5V#'/*#'6*).4+#'%.+4*/'9*2*'45+$@*'
onCreate(Bundle)
®
[
§
Bundle 1?K'
§
;'".>.?+*'1)'/#12$53'@*&E%.+4*'>.$2/
D/'.'"1CC15'>.2.C*#*2'1)'#9*/*'".++?."@/'=9$"9'!5621$6'4/*/'
#1'/.%*E2*/#12*'."#$%$#&V/'%$*=T/#.#*
A.++?."@/'.++'4/*'#9*'/.C*'H456+*'G5.C*'61*/5V#'C.##*2I'
#1'>4/9'.56'2*#2$*%*'6.#.')21C
[
§
A.5'.+/1'?*'4/*6'#1'C.54.++&'/.%*E2*/#12*'."#$%$#&V/'515T%$*='
/#.#*
§
7
!4#1T/.%$53'WT/#.#*
]."9'W$*='C4/#'9.%*,
!'45$^4*'D:
§
saveEnabled = True
§
P$++'9.>>*5'$)'!5621$6'$/'#9*'".4/*'1)'#9*'."#$%$#&V/'6*/#24"#$15<'51#'
4/*2'G/&/#*C'@$++')12'2*/142"*/<'6*%$"*'2*12$*5#.#$15<'*#"I
7
8*2/$/#*5# 6.#.
;'6.#.'.//1"$.#*6'=$#9'C4+#$>+*'4/*/'1)'#9*'."#$%$#&'/*>.2.#*6'?&'.5&'.C145#'
1)'#$C*
7
->.5/'.5'!"#$%$#&V/'$5/#.5"*/7
Z4/#'>*2/$/#'."21//'.>>'6*/#21&/'./'=*++7
D5%1+%*/'=2$#$53'#1'.56'2*.6$53')21C'.'6*%$"*V/'515T%1+.#$+*'C*C12&7
]%*5#/'#9.#'2*^4$2*'6.#.'>*2/$/#*5"&
!"#$%$#&'>.2#$.++&E)4++&'9$66*5
!"#$%$#&'/#$++'$5'C*C12&<'51'/#.#*'6.#.'+1/#
§
LWT/#.#*'C4/#'?*'"16*6'$5'#1'?*'2*/#12*6
§
8*2/$/#*5#'6.#.'2*C.$5/'$5'+./#'4>6.#*6'/#.#*'GLWTC*C12&I
§
!"#$%$#&'6*/#21&*6'4/$53'H."@'?4##15
!5621$6'#.@*/'$#'./'WT/#.#*'51='455*"*//.2&<'/1'$#'6*/#21&/'WT
/#.#*'#3#'=$#9'."#$%$#&
§
8*2/$/#*5#'6.#.'2*C.$5/'$5'+./#'4>6.#*6'/#.#*'GLWTC*C12&I
§
:*%$"*'2*"15)$342.#$15
!>>'51#'@$++*6<'?4#'!"#$%$#&'6*/#21&*6'.56'2*+.45"9*6
§
WT/#.#*'/.%*6'$5'H456+*'#1'?*'2*/#12*6'+.#*2
§
LWT/#.#*'C4/#'?*'"16*6'$5'#1'?*'2*/#12*6
§
!>>'45$5/#.++*6')21C'6*%$"*
!++'.>>V/'6.#.'$/'+1/#<'$5"+46$53'.5&'>*2/$/#*5#'6.#.'/#12*6'15'LWT
C*C12&
§
7
X/.%$53E2*/#12$53'>*2/$/#*5#'."#$%$#&'6.#.
sharedPreferences
012'/#12$53'6.#.'#9.#'".5'?*'.""*//*6'?&'6$))*2*5#'."#$%$#$*/'.56'
>*2/$/#*5#'6.#.
§
-.%* 4/$53'public void saveSharedPreferences()
SharedPreferences sharedPref =
getPreferences(Context.MODE_PRIVATE);
[
SharedPreferences.Editor editor =
sharedPref.edit();
editor.putString
("key1",persistentState);
editor.commit();
§
F*/#12* 4/$53'restoreSharedPreferences()
SharedPreferences sharedPref =
getSharedPreferences(String filename,
int defaultValue);
[
persistentState = sharedPref.getString
("key1",persistentState);
getSharedPreferences 4/*6'=9*5'&14'5**6'#1'
4/*'C4+#$>+*'>2*)*2*5"*/')$+*/'$6*5#$)$*6'?&'5.C*<'
=9$"9'&14'4/*'#9*')$2/#'>.2.C*#*2'#1'$6*5#$)&
®
getPreferences 4/*6'=9*5'&14'15+&'5**6'15*'
>2*)*2*5"*/')$+*')12'&142'."#$%$#&M'-$5"*'#9$/'=$++'?*'
#9*'15+&'>2*)*2*5"*/')$+*')12'&142'!"#$%$#&<'&14'615V#'
/4>>+&'.'5.C*M
®
§
7
DC>#'#1'/.%*'>*2/$/#*5#'6.#.'$5'158.4/*GI'_=9$"9'$/'>.2#'1)'+$)*"&"+*'".++?."@/'
/1'$#'=$++'?*'".++*6'$5'*%*2&'/$#4.#$15`'$5/#*.6'1)'
15-.%*D5/#.5"*-#.#*GH456+*I
7
J.?+*'1)'a'/"*5.2$1/
-$C>+*!"#$%$#&($)*"&"+*:*C1-#46*5#
!"##$"%&'()*('+,-+*%+(.-/)*01
2+3/)+*4"4)3*(+5+*4
158.4/*GI'TTTTTTTU'15-#1>GI'TTTTTTTU'
15:*/#21&GI''TTTTTTTU'15A2*.#*GI'TTTTTTTU'15-#.2#GI'TTTTTTTU'15F*/4C*GI
6"%&(+5+*4
15:*/#21&GI'TTTTTTTU'15A2*.#*GI'TTTTTTTU'15-#.2#GI'TTTTTTTU'15F*/4C*GI
789("/+(48+9(.)::+/+*4;
:42$53'2*12$*5#.#$15<'#9*'4/*2'=.5#/'#1'/#.&'15'#9*'!"#$%$#&M
J9*2*)12*'#9*'/&/#*C'5**6/'#1'/.%*'#9*'/#.#*'?*)12*'6*/#21&$53'.56'>2*>.2$53'
)12'#9*'5*='12$*5#.#$15M
J9*'/.%*6'/#.#*'=$++'?*'2*/#12*6'$5'#9*'5*='12$*5#.#$15M
b1=*%*2<'=9*5'#9*'Back ?4##15'$/'"+$"@*6<'#9.#'$56$".#*/'#1'#9*'/&/#*C'#9.#'#9*'
4/*2'51'+153*2'5**6/'#9*'!"#$%$#&M'J9*2*)12*<'#9*2*'$/'51'5**6'#1'/.%*'$#/'/#.#*M
78+*(.3+'("*()*8+/)4+.(%"##$"%&<'('-=+/(+>+%-4+():1
?4()'(*34(35+//)..+*;
D)'".++?."@'$/'51#'".++*6'?&'"9$+6<'=9*5'.5'*%*5#'1""42/<'#9*'"16*'K4C>/'#1'$#/'
>.2*5#'.56'*Q*"4#*/'>.2*5#V/'%*2/$15M
?4()'(35+//)..+*;
D)'".++?."@'$/'".++*6'?&'"9$+6<'=9*5'.5'*%*5#'1""42/<'?1#9'"9$+6'.56'>.2*5#V/'
%*2/$15'$/'*Q*"4#*6M
3*@"5+?*'4"*%+@4"4+("*.(3*2+'43/+?*'4"*%+@4"4+("/+($348(%"##$"%&(A+483.'(
)*8+/)4+.($9(B%4)5)49('-$%#"''+'C(7)48(/+'=+%4(43('"5)*0(5)+D("*.()*'4"*%+(
5"/)"$#+('4"4+(3:("*(B%4)5)49('-$%#"''()*'4"*%+E(+>=#")*(48+(%3*'+,-+*%+'(3:(
*34(35+//).)*0("*.(35+//).)*0(48+'+(A+483.'C
D)'".++?."@'61*/5V#'1""42'?4#'/4>*2'1""42/<'15+&'/#.56.26'=12@'$5'>.2*5#V/'
"+.//'1""42/M
OM
D)'".++?."@'1""42/'?4#'/4>*2'61*/5V#'1""42<'15+&'"9$+6V/'%*2/$15'=$++'?*'
*Q*"4#*6M
A15/*^4*5"*/,'>.2*5#V/'%*2/$15'=$++'51#'?*'*Q*"4#*6<'?4#'$#'"15#.$5/'
$C>#'"16*'#1'>*2)12C'/1C*'/#6'=12@')12'#9*'!"#$%$#&M
.M
!4#1T/.%*E2*/#12*'1)'#9*'%$*=T/#.#*'=15V#'1""42?M
RM
D)'".++?."@'.56'/4>*2'?1#9'1""42<'?1#9'1""42'&.&MYM
78"4("/+(48+(F(4"'&'(48"4(%3.+()*("*(B%4)5)49<'(3*!/+"4+(%"##$"%&(-'-"##9(.3+';
A.++/'/4>*2'"+.//'15A2*.#*'#1'"1C>+*#*'"2*.#$15'1)'!"#$%$#&
super.onCreate(savedInstanceState)
OM
F*"1%*2/'$5/#.5"*'/#.#*')21C'?456+*
if(savedInstanceState != null) {
mGameState =
savedInstanceState.getString(GAME_STATE_KEY);
}
RM
-*#/'4/*2'$5#*2)."*'+.&14# )12'#9*'!"#$%$#&
(.&14#')$+*'$/'6*)$5*6'$5'>21K*"#'2*/E+.&14#EC.$5c."#$%$#&MQC+'')$+*
setContentView(R.layout.main_activity)
YM
D5$#$.+$/*/'C*C?*2'TextView /1'$#'".5'?*'C.5$>4+.#*6'+.#*2'G2*)*2*5"*/'
#1'#9*'ND'"1C>15*5#I
mTextView = (TextView)
findViewById(R.id.text_view);
aM
!3*').+/(48+(%3.+1
#3*0(8)08@%3/+(G('8"/+.H/+:C0+4?*4I0+4@4/)*0I2C'4/)*0C'"5+.J8)08J'%3/+KE(
'3A+L"#KM
78"4()'('3A+L"#;
!'6*).4+#'%.+4*'1)'#9*'/#12*6'6.#.'$)'.'%.+4*'61*/5d#'*Q$/#'$5'#9*'2*)*2*5"*M
78"4(.3+'(0+4@4/)*0(.3;
D#'2*#425/'.'/#2$53'%.+4*')21C'-#2$53/'$5'SZ('61"4C*5#M
78"4(/3#+(.3+'(0+4@4/)*0<'(/+4-/*(5"#-+(=#"9("'("(="/"A+4+/(3:(48+(0+4?*4(
A+483.;
J9*'2*#425'%.+4*'$/'#9*'@*&'%.+4*'$5'3*#D5#M
78"4("/+(@8"/+.H/+:+/+*%+'(:)#+'(:3/;
J9*&'.2*')12'/#12$53'6.#.'#9.#'".5'?*'.""*//*6'?&'6$))*2*5#'."#$%$#$*/'.56'
>*2/$/#*5#'6.#.M
78"4()'(48+(.)::+/+*%+($+4D++*(D8"4()'(/+:+/+*%+.($9(48+(/+4-/*(5"#-+'(3:(
0+4H/+:+/+*%+'IK("*.(0+4@8"/+.H/+:+/+*%+'IK;
3*#-9.2*682*)*2*5"*/G-#2$53 5.C*<'$5# C16*I T4/*6'=9*5'&14'5**6'#1'4/*'
C4+#$>+*'>2*)*2*5"*/')$+*/'$6*5#$)$*6'?&'5.C*<'=9$"9'&14'4/*'#9*')$2/#'>.2.C*#*2'
#1'$6*5#$)&
3*#82*)*2*5"*/GI T4/*6'=9*5'&14'15+&'5**6'15*'>2*)*2*5"*/')$+*')12'&142'
."#$%$#&M'-$5"*'#9$/'=$++'?*'#9*'15+&'>2*)*2*5"*/')$+*')12'&142'!"#$%$#&<'&14'615V#'
/4>>+&'.'5.C*M
\>#$15/'C*54
;'>2$C.2&'"1++*"#$15'1)'C*54'$#*C/')12'.5'!"#$%$#&'G512C.++&'."#$15/'
#9.#'9.%*'3+1?.+'$C>."#'."21//'#9*'.>>'*3M'/*##$53/I
7
P9*2*'."#$15'?4##15/'.2*'>4/9*6'$5#1'$)'51'/>."*'$5'."#$15'?.27
D5)+.#$53 ;'615*'$5'onCreateOptionsMenu(Menu)
MenuInflater.inflate(R.menu.main, Menu menu) ;'
"15/#24"#'.'5*='$5/#.5"*'1)'Menu 3$%*5'.'C*54'2*/142"*'
$6*5#$)$*2
7
F*/>156$53'#1'C*54'$#*C'/*+*"#$15';'615*'$5'
onOptionsItemSelected(MenuItem item)
\%*22$6*OM
]Q#2."#'$6'1)'C*54'$#*CRM
A2*.#*'"156$#$15.+'/=$#"9T"./*'/#24"#42*'#1'6*.+'=$#9'6$))'"./*/'
1)'#9*'$6'G$M*M'6$))'C*54'$#*C'/*+*"#$15/I
Z4/#'2*#425'true .)#*2'C*54'$#*C'$/'"+$"@*6
-$5"*'#9*'".++?."@'=./'$5%1@*6'?&'!5621$6<'#24*'9./'
#1'?*'2*#425*6'/1'!5621$6'@51=/'#9*'".++?."@'=./'
*Q*"4#*6'*))*"#$%*+&E#9*'*%*5#'=./'"15/4C*6'.56'
61*/5V#'9.%*'#1'31'#1'.51#9*2'View<')12'*Q.C>+*
[
!+/1'>2*%*5#/'6*).4+#'."#$15'G$5%1+%*/'".++$53'$#*CV/'
.//1"$.#*6'F455.?+*'12'/*56$53'.'C/3'#1'$#/'b.56+*2I
[
§
D)'64551'=9.#'#1'61<'6*)*2'#1'superV/'."#$15/'.56'$#/'
2*#425'%.+4*
§
YM
Action Bar =$++'.4#1C.#$".++&'9.56+*'"+$"@/'15'b1C*EN>'
?4##15<'./'+153'./'>.2*5#'."#$%$#&'$/'/>*"$)$*6'$5'
AndroidManifest.xml
item.getItemId() 4/*6'$5'/=$#"9T"./*'#1'2*/>156'#1'1>#$15/'
C*54'/*+*"#$15/'$5'onOptionsItemSelected(MenuItem
item)
default:
return super.onOptionsItemSelected(item);
7
Menu -> menuFile.xml G>.2#'1)'#9*'2*/'#9.#'!5621$6'>4++/')21CI'
G"15#.$5/'#9*'C*54'QC+'2*/142"*')$+*I
<menu version="1"
Title="Intro"
Position="top"
>
<item
Title="1 Menu"
Src="chap1.txt"
Dest="ch1.html" >
</item>
</menu>
7
821"*//
b1/#/'.>>/<'=9$"9'.2*'C.6*'4>'
1)'"1C>15*5#/
7
A.5'6*>*56'15'*."9'1#9*2
7
A422*5#'/#.#*
;'9$39*/#T2.5@$53'."#$%*'
"1C>15*5#'=$#9$5'#9*'.>>'
$#'91/#/
Week$3
J4*/6.&<' Re'Z.&'RfOg Of,af
Unlock document

This preview shows pages 1-2 of the document.
Unlock all 7 pages and 3 million more documents.

Already have an account? Log in

Document Summary

= asking parent class to execute its own lifestyle callback. Is a standard way to begin lifecycle callback. = child of activity class, which has copy of all lifecycle callbacks. If need to save/restore activity instance state onresume() super. onresume(); Releases all resources currently occupied by the activity. = how activites are arranged (in the order in which each activity is opened) Task = a collection of activities that users interact with when performing. Task = a collection of activities that users interact with when performing a certain job. New activity pushed on top of stack and takes focus a. b. Previous activity remains in stack, but is stopped. Top activity popped off to reveal the previous one a. b. Until user returns to home screen/wtv activity was running when the task began. When all activities are removed, task no longer exists. X can include activities from several different apps (intents can go across apps)

Get access

Grade+20% off
$8 USD/m$10 USD/m
Billed $96 USD annually
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
40 Verified Answers
Class+
$8 USD/m
Billed $96 USD annually
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
30 Verified Answers