0

私は「サムズが24時間でAndroidアプリケーションの開発を自分で教える」本を使用しています。

このプログラムを手に入れました

package com.androidbook.droid1;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

/**
 * @author Trashcan
 *
 */
public class Droid1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        private static final String TAG = "app_name";

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(TAG,"WTF is going on ?");
    }
}

http://developer.android.com/reference/android/util/Log.htmlはそのAPIです。

それを試してみて、それをいじくり回していて、Eclipseがそれをどこで受け入れるかについてはまったくわかりません。

4

3 に答える 3

3

メソッド内にあるべきではなく、メソッドの外にあるべき行がそこにあります。そんなに警告が出ませんか?

于 2012-05-06T20:01:27.507 に答える
0

super.onCreate(savedInstanceState)最初にで呼び出してみてくださいonCreate()。これで問題が解決するかどうかはわかりませんが、問題が何であるかはわかりません。

Log.wtf()また、この特定のケースで使用する方が適切と思われますが、それは私の個人的な意見です。

于 2012-05-06T20:06:52.560 に答える
0

staticメソッド内で変数を定義することはできません。TAGの宣言がクラスレベルになるように、コードをリファクタリングします。例えば:

package com.androidbook.droid1;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

/**
 * @author Trashcan
 *
 */
public class Droid1Activity extends Activity {

    private static final String TAG = "app_name";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(TAG,"WTF is going on ?");
    }
}
于 2012-05-06T20:24:22.623 に答える