java - Cant get my app to work. Just crashes -


i'm trying learn build android apps. first attempt. okay , when activity (this when select rock) have display hello world. tried develop rules winning , losing whenever select rock app crashes. please take look.

package ro.pa.sc;  import java.util.random;  import android.annotation.targetapi; import android.app.activity; import android.os.build; import android.os.bundle; import android.support.v4.app.navutils; import android.view.menu; import android.view.menuitem; import android.widget.textview;  public class rockvs extends activity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         randombox();         setcontentview(r.layout.activity_rockvs);         // show button in action bar.         setupactionbar();     }      /** * set {@link android.app.actionbar}, if api available. */     @targetapi(build.version_codes.honeycomb)     private void setupactionbar() {         if (build.version.sdk_int >= build.version_codes.honeycomb) {             getactionbar().setdisplayhomeasupenabled(true);         }     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.rockvs, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         switch (item.getitemid()) {         case android.r.id.home:             // id represents home or button. in case of             // activity, button shown. use navutils allow users             // navigate 1 level in application structure.             // more details, see navigation pattern on android design:             //             // http://developer.android.com/design/patterns/navigation.html#up-         vs-back             //             navutils.navigateupfromsametask(this);             return true;         }         return super.onoptionsitemselected(item);     }      public  void randombox()     {         random r = new random();         int pickednumber=r.nextint(2);          if (pickednumber==1) {             win();         } else if (pickednumber==2) {             lose();         } else if (pickednumber==0){             tie();         }      }      public void win() {         string message = "computer picked scissors! won!";          textview textview = new textview(this);         textview.settextsize(40);         textview.settext(message);          setcontentview(textview);      }      public void lose() {          string message = "computer picked paper! lose!";          textview textview = new textview(this);         textview.settextsize(40);         textview.settext(message);          setcontentview(textview);     }      public void tie() {         string message = "computer picked rock! it's tie!";          textview textview = new textview(this);         textview.settextsize(40);         textview.settext(message);          setcontentview(textview);     } } 

logcat output:

05-05 19:22:46.571: d/activitythread(15646): settargetheaputilization:0.25 05-05 19:22:46.571: d/activitythread(15646): settargetheapidealfree:8388608 05-05 19:22:46.581: d/activitythread(15646): settargetheapconcurrentstart:2097152 05-05 19:22:46.722: i/adreno200-egl(15646): <qegldrvapi_eglinitialize:269>: egl 1.4 qualcomm build:  (cl2803123) 05-05 19:22:46.722: i/adreno200-egl(15646): build date: 11/28/12 wed 05-05 19:22:46.722: i/adreno200-egl(15646): local branch: d1l_jb_1736j_disable_cpumempool 05-05 19:22:46.722: i/adreno200-egl(15646): remote branch:  05-05 19:22:46.722: i/adreno200-egl(15646): local patches:  05-05 19:22:46.722: i/adreno200-egl(15646): reconstruct branch:  05-05 19:22:48.233: w/dalvikvm(15646): threadid=1: thread exiting uncaught exception (group=0x4126c438) 05-05 19:22:48.253: e/androidruntime(15646): fatal exception: main 05-05 19:22:48.253: e/androidruntime(15646): java.lang.runtimeexception: unable start activity componentinfo{ro.pa.sc/ro.pa.sc.rockvs}: android.view.inflateexception: binary xml file line #11: error inflating class <unknown> 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2080) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2105) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread.access$600(activitythread.java:137) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread$h.handlemessage(activitythread.java:1203) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.os.handler.dispatchmessage(handler.java:99) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.os.looper.loop(looper.java:137) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread.main(activitythread.java:4904) 05-05 19:22:48.253: e/androidruntime(15646):    @ java.lang.reflect.method.invokenative(native method) 05-05 19:22:48.253: e/androidruntime(15646):    @ java.lang.reflect.method.invoke(method.java:511) 05-05 19:22:48.253: e/androidruntime(15646):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:790) 05-05 19:22:48.253: e/androidruntime(15646):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:557) 05-05 19:22:48.253: e/androidruntime(15646):    @ dalvik.system.nativestart.main(native method) 05-05 19:22:48.253: e/androidruntime(15646): caused by: android.view.inflateexception: binary xml file line #11: error inflating class <unknown> 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.createview(layoutinflater.java:613) 05-05 19:22:48.253: e/androidruntime(15646):    @ com.android.internal.policy.impl.phonelayoutinflater.oncreateview(phonelayoutinflater.java:56) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.oncreateview(layoutinflater.java:660) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:685) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.rinflate(layoutinflater.java:746) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.inflate(layoutinflater.java:489) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.inflate(layoutinflater.java:396) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.inflate(layoutinflater.java:352) 05-05 19:22:48.253: e/androidruntime(15646):    @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:321) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activity.setcontentview(activity.java:2087) 05-05 19:22:48.253: e/androidruntime(15646):    @ ro.pa.sc.rockvs.oncreate(rockvs.java:20) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activity.performcreate(activity.java:5232) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1082) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2044) 05-05 19:22:48.253: e/androidruntime(15646):    ... 11 more 05-05 19:22:48.253: e/androidruntime(15646): caused by: java.lang.reflect.invocationtargetexception 05-05 19:22:48.253: e/androidruntime(15646):    @ java.lang.reflect.constructor.constructnative(native method) 05-05 19:22:48.253: e/androidruntime(15646):    @ java.lang.reflect.constructor.newinstance(constructor.java:417) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.view.layoutinflater.createview(layoutinflater.java:587) 05-05 19:22:48.253: e/androidruntime(15646):    ... 24 more 05-05 19:22:48.253: e/androidruntime(15646): caused by: android.content.res.resources$notfoundexception: file picked rock! hope win! drawable resource id #0x7f050009: .xml extension required 05-05 19:22:48.253: e/androidruntime(15646):    @ android.content.res.resources.loadcolorstatelist(resources.java:2094) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.content.res.typedarray.getcolorstatelist(typedarray.java:342) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.widget.textview.<init>(textview.java:820) 05-05 19:22:48.253: e/androidruntime(15646):    @ android.widget.textview.<init>(textview.java:489) 05-05 19:22:48.253: e/androidruntime(15646):    ... 27 more 

xml file :

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin"     tools:context=".rockvs" >      <textview         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignparenttop="true"         android:layout_centerhorizontal="true"         android:text="@string/pickedrock"         android:textcolor="@string/pickedrock"         android:textsize="25sp" />  </relativelayout> 

in xml, line:

android:textcolor="@string/pickedrock" 

is not correct - should point color resource, not string.


Comments