You need to provide the -full- stack crawl including, very importantly, all
of the "caused by" clauses which tell you the actual original errors that
happened.

2009/10/12 黄登辉 <[email protected]>

> Thanks for your warm reply. yeah,
> i know which line code cause this exception.
> the following is part of system log.
> 10-13 09:42:10.782: ERROR/AndroidRuntime(705): Caused by:
> java.lang.NullPointerException
> 10-13 09:42:10.782: ERROR/AndroidRuntime(705):     at
> com.example.android.snake.Snake.onCreate(Snake.java:84)
>
> line 84 is :mSnakeView.setMode(SnakeView.READY);
>
> and the root reason is
> >                try {
> >                        setContentView(R.layout.snake_layout);
> >                } catch (Exception e) {
> >                        Log.d("SnakeView", "inside onCreate function --
> setContentView!");
> >
> >                }
> >
> >
> >                try {
> >                        mSnakeView.setTextView((TextView)
> findViewById(R.id.text));
> >                } catch (Exception e) {
> >                        Log.d("SnakeView", "inside onCreate function
> last!");
> >
> >                }
>
> because in system log, there are two log as following:
>
> 10-13 09:42:10.763: DEBUG/SnakeView(705): inside onCreate function --
> setContentView!
> 10-13 09:42:10.763: DEBUG/SnakeView(705): inside onCreate function last!
>
>
> summary, i think there is a error in layout xml file, and cause android
> can't explain this layout xml file.
>
> then occur the above exception. But the just reuse the snake's layout xml
> from sdk sample. so i can't find any error in layout xml file.
>
> But i modify the implemented code of SnakeView and tileView . maybe the
> implemented code have some problems.
>
> and attachment is source code, if you have some time, please have a look at
> it. and i will continue to find this bug, which let me be in trouble  two
> days.
>
>
>
>
>
> 2009/10/13 Marco Nelissen <[email protected]>
>
>
>> Look at the system log (either using "adb logcat" or with the ddms
>> perspective in eclipse), and it will tell you exactly where and why it
>> crashed.
>>
>>
>> On Mon, Oct 12, 2009 at 7:37 AM, 登辉 黄 <[email protected]> wrote:
>> >
>> > we modifid snake from sdk samples. there is a running exception
>> > "stopped unexpectedly". after step debug, i found that the statement
>> > setContentView(R.layout.snake_layout); and mSnakeView.setTextView
>> > ((TextView) findViewById(R.id.text));from snake.java file will throw
>> > exceptions. i think the layout xml file have a some error. but i can't
>> > find any error in this file.
>> >
>> >
>> > <?xml version="1.0" encoding="utf-8"?>
>> > <!-- Copyright (C) 2007 The Android Open Source Project
>> >
>> >     Licensed under the Apache License, Version 2.0 (the "License");
>> >     you may not use this file except in compliance with the License.
>> >     You may obtain a copy of the License at
>> >
>> >          http://www.apache.org/licenses/LICENSE-2.0
>> >
>> >     Unless required by applicable law or agreed to in writing,
>> > software
>> >     distributed under the License is distributed on an "AS IS" BASIS,
>> >     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> > implied.
>> >     See the License for the specific language governing permissions
>> > and
>> >     limitations under the License.
>> > -->
>> >
>> > <FrameLayout xmlns:android="http://schemas.android.com/apk/res/
>> > android"
>> >        android:layout_width="fill_parent"
>> >        android:layout_height="fill_parent"
>> >         xmlns:app="http://schemas.android.com/apk/res/
>> > com.example.android.snake">
>> >
>> >        <com.example.android.snake.SnakeView
>> >         android:id="@+id/snake"
>> >                android:layout_width="fill_parent"
>> >                android:layout_height="fill_parent"
>> >                app:tileSize="40"
>> >                />
>> >
>> >        <RelativeLayout
>> >                android:layout_width="fill_parent"
>> >                android:layout_height="fill_parent" >
>> >
>> >                <TextView
>> >                 android:id="@+id/text"
>> >                        android:text="@string/snake_layout_text_text"
>> >                        android:visibility="visible"
>> >                        android:layout_width="wrap_content"
>> >                        android:layout_height="wrap_content"
>> >                        android:layout_centerInParent="true"
>> >                        android:gravity="center_horizontal"
>> >                        android:textColor="#ff8888ff"
>> >                        android:textSize="24sp"/>
>> >        </RelativeLayout>
>> > </FrameLayout>
>> >
>> >
>> > and snake.java as following:
>> >
>> > /*
>> >  * Copyright (C) 2007 The Android Open Source Project
>> >  *
>> >  * Licensed under the Apache License, Version 2.0 (the "License");
>> >  * you may not use this file except in compliance with the License.
>> >  * You may obtain a copy of the License at
>> >  *
>> >  *      http://www.apache.org/licenses/LICENSE-2.0
>> >  *
>> >  * Unless required by applicable law or agreed to in writing, software
>> >  * distributed under the License is distributed on an "AS IS" BASIS,
>> >  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> > implied.
>> >  * See the License for the specific language governing permissions and
>> >  * limitations under the License.
>> >  */
>> >
>> > package com.example.android.snake;
>> >
>> > import android.app.Activity;
>> > import android.os.Bundle;
>> > import android.util.Log;
>> > import android.view.Window;
>> > import android.widget.TextView;
>> >
>> > /**
>> >  * Snake: a simple game that everyone can enjoy.
>> >  *
>> >  * This is an implementation of the classic Game "Snake", in which you
>> > control a
>> >  * serpent roaming around the garden looking for apples. Be careful,
>> > though,
>> >  * because when you catch one, not only will you become longer, but
>> > you'll move
>> >  * faster. Running into yourself or the walls will end the game.
>> >  *
>> >  */
>> > public class Snake extends Activity {
>> >
>> >    private SnakeView mSnakeView;
>> >
>> >    private static String ICICLE_KEY = "snake-view";
>> >
>> >    /**
>> >     * Called when Activity is first created. Turns off the title bar,
>> > sets up
>> >     * the content views, and fires up the SnakeView.
>> >     *
>> >     */
>> >    @Override
>> >    public void onCreate(Bundle savedInstanceState) {
>> >        super.onCreate(savedInstanceState);
>> >
>> >
>> >        // No Title bar
>> >        try{
>> >                        requestWindowFeature(Window.FEATURE_NO_TITLE);
>> >        }catch(Exception e){
>> >                Log.d("SnakeView", "inside onCreate function --
>> > requestWindowFeature!");
>> >
>> >        }
>> >
>> >                try {
>> >                        setContentView(R.layout.snake_layout);
>> >                } catch (Exception e) {
>> >                        Log.d("SnakeView", "inside onCreate function --
>> setContentView!");
>> >
>> >                }
>> >
>> >                try {
>> >                        mSnakeView = (SnakeView)
>> findViewById(R.id.snake);
>> >                } catch (Exception e) {
>> >                        Log.d("SnakeView", "inside onCreate function --
>>  findViewById
>> > (R.id.snake)!");
>> >
>> >                }
>> >
>> >                try {
>> >                        mSnakeView.setTextView((TextView)
>> findViewById(R.id.text));
>> >                } catch (Exception e) {
>> >                        Log.d("SnakeView", "inside onCreate function
>> last!");
>> >
>> >                }
>> >
>> >
>> >
>> >
>> >        if (savedInstanceState == null) {
>> >            // We were just launched -- set up a new game
>> >            mSnakeView.setMode(SnakeView.READY);
>> >        } else {
>> >            // We are being restored
>> >            Bundle map = savedInstanceState.getBundle(ICICLE_KEY);
>> >            if (map == null) {
>> >                mSnakeView.setMode(SnakeView.PAUSE);
>> >            }
>> >        }
>> >    }
>> >
>> >    @Override
>> >    protected void onPause() {
>> >        super.onPause();
>> >        // Pause the game along with the activity
>> >        mSnakeView.setMode(SnakeView.PAUSE);
>> >    }
>> >
>> >
>> >
>> > }
>> >
>> > Please some peoples met this kind of problem or master in android
>> > development, give me some suggestion?
>> >
>> > By the way, how can i attach some code?
>> >
>> > >
>> >
>>
>>
>>
>
> >
>


-- 
Dianne Hackborn
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" 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-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to