java - My lifecycle codes not compiling -


for each callback events (oncreate(), onstart()... ), record callback event triggered in log(use log.d); message written log should defined in “strings.xml” , getresources.getstring() should used retrieve message

implement onsaveinstancestate , onrestoreinstancestate – track number of times onsaveinstancestate being called, in onrestoreinstancestate, print value log file

tag “log” statement should defined in strings.xml , set using getresources.getstring()

package com.csci235labs.rob_lifecycles;  import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.util.log;  public class mainactivity extends appcompatactivity {  string tag = getresources().getstring(r.string.app_name); //logcat tag string activitystate; int instancetimes; //number of times instance called string act_keys;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);      //recover instance state     if(savedinstancestate!=null)     {         activitystate = savedinstancestate.getstring(act_keys);     }     else     {         instancetimes=0;         act_keys="";     }      setcontentview(r.layout.activity_main);   }  @override protected void onrestoreinstancestate(bundle savedinstancestate) {     super.onrestoreinstancestate(savedinstancestate); }  @override protected void onsaveinstancestate(bundle outstate) {     instancetimes++;     activitystate=string.valueof(instancetimes);      outstate.putstring(act_keys,activitystate);      super.onsaveinstancestate(outstate); }   @override protected void onstart() {     super.onstart();     //logs event message     string eventmessage=getresources().getstring(r.string.on_start_str);     log.d(tag,eventmessage); }  @override protected void onresume() {     super.onresume();     //logs event message     string eventmessage=getresources().getstring(r.string.on_resume_str);     log.d(tag,eventmessage); }  @override protected void onpause() {     super.onpause();     //logs event message     string eventmessage=getresources().getstring(r.string.on_pause_str);     log.d(tag,eventmessage); }  @override protected void onstop() {     super.onstop();     //logs event message     string eventmessage=getresources().getstring(r.string.on_stop_str);     log.d(tag,eventmessage); }  @override protected void ondestroy() {     super.ondestroy();     //logs event message     string eventmessage=getresources().getstring(r.string.on_destroy_str);     log.d(tag,eventmessage);  } } 

xml file:

<resources>   <string name="app_name">rob_lifecycles</string>   <string name="app_str">teststring</string>   <string name="on_create_str">oncreate() method</string>   <string name="on_start_str">onstart() method</string>   <string name="on_resume_str">onresume() method</string>   <string name="on_pause_str">onpause() method</string>   <string name="on_stop_str">onstop() method</string>   <string name="on_destroy_str">ondestroy() method</string>   <string name="action_settings">settings</string> </resources> 

remove tag initialization outside , move oncreate() because context.getresources() give null pointer exception in case

public class mainactivity extends appcompatactivity {  string tag; string activitystate; int instancetimes; //number of times instance called string act_keys;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);       setcontentview(r.layout.activity_main);     tag = getresources().getstring(r.string.app_name); //logcat tag     //recover instance state     if(savedinstancestate!=null)     {        activitystate = savedinstancestate.getstring(act_keys);     }     else     {        instancetimes=0;        act_keys="";     } } 

Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -