Hi, folks:
I am really confused about Android at this point. I'm writing a very
simple application called "Counter" (a starting point) that uses a
drawabl PNG image and no matter what I do, when I run it in the
emulator, I get this annoying message:
"Sorry! The application Counter (process mine.counter) has
stopped unexpectedly. Please try again. [Force close buttton]"
All I want my application to do is to display a Drawable called
"n0.png" which I have defined to my "rsc\drawable" folder.
I've looked at other sample applications, including the ones in the
SDK and tried emulating the coding, without success. I'm very
confused about how the Java, XML, and other files interact. I just
don't see why the program is freezing when I've practically followed
the structure of other applications to the letter.
Below, I've replicated the code. Thanks for any help you can provide.
Charles
***************
FILE STRUCTURE
Counter
res
drawable
n0.png
layout
bkcounter.xml
main.xml
values
colors.xml
strings.xml
src
mine
counter
Counter.java
CounterView.java
R.java
In BKCOUNTER.XML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Demonstrates using a relative layout to create a form -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/
android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10px"
android:background="@color/blueback">
<!-- My connection to the view; THIS TIES IN ANDROID CLASSES (!) -->
<!-- "id" value will show up when using auto-complete -->
<mine.counter.CounterView
android:id="@+id/cview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ImageView android:id="@+id/firstdigit"
android:layout_height="fill_parent"
android:layout_width="fill_parent"></ImageView>
</FrameLayout>
In 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"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
In COLORS.XML:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="blueback">#0071BC</color>
</resources>
In STRINGS.XML:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Counter</string>
<string name="app_name">Counter</string>
</resources>
In COUNTER.JAVA:
package mine.counter;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
public class Counter extends Activity {
// MY CLASSES
private CounterView myCounterView;
// MY ELEMENTS
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bkcounter); // this should always
come first
myCounterView = (CounterView) findViewById(R.id.cview);
}
}
In COUNTERVIEW.JAVA:
package mine.counter;
import android.content.Context;
import android.view.View;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
public class CounterView extends View {
private Drawable imgDigit0;
// CONSTRUCTOR FOR THIS CLASS - "NEW" INSTANCE
public CounterView(Context ctx) {
super(ctx);
// Set up all images
imgDigit0 = ctx.getResources().getDrawable(R.drawable.n0);
// Turn on focus
setFocusable(true);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
imgDigit0.draw(canvas);
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---