Каков наилучший способ отладки кода Android в Eclipse?

Я просто начинаю с Eclipse и хочу узнать, что является причиной ошибки в моих приложениях. Интересно, это как Visual Studio?

Я имею в виду, что у меня есть исключение нулевого указателя, но даже после установки точки останова я запутался, что является причиной ошибки.

Поскольку я новичок, большую часть времени я запускаю плохо или код, который не будет работать. Как я признаю свою ошибку. Иногда мой код не работает, и исключение трудно понять, какая реальная проблема возникает с моим кодом.

Кто-нибудь проверит код и покажет мне, как его найти. Я имею в виду, как узнать, где происходит исключение нулевого указателя.

public class MainActivity extends Activity {

    Set tasks = new HashSet();
    final String prefName = "andorid";
    SharedPreferences sp = getSharedPreferences(prefName, MODE_PRIVATE);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SetupApp();
    }

    // / Add the task in this function
    private void SetupApp() {

        tasks.add("blah");

        if (!sp.contains("tasks")) {
            Editor edit = sp.edit();

            edit.putStringSet("tasks", tasks);

            edit.commit();
        }

    }

    public void btnClick(View view) {

        EditText etxt = (EditText) findViewById(R.id.txtTask);

        tasks.add(etxt.getText().toString());

    }

    public void UpdateUI(String TaskName) {

        final ListView listview = (ListView) findViewById(R.id.listView1);

        Set tasks = sp.getStringSet("tasks", new HashSet());

        @SuppressWarnings("unchecked")
        ArrayList taskarr = (ArrayList) tasks;

        final ArrayList list = new ArrayList();
        for (int i = 0; i < taskarr.size(); ++i) {
            list.add(taskarr.get(i));
        }
    }

    public void LoadTasks() {

    }

}

class StableArrayAdapter extends ArrayAdapter {

    HashMap mIdMap = new HashMap();

    public StableArrayAdapter(Context context, int textViewResourceId,
            List objects) {
        super(context, textViewResourceId, objects);
        for (int i = 0; i < objects.size(); ++i) {
            mIdMap.put(objects.get(i), i);
        }
    }

    @Override
    public long getItemId(int position) {
        String item = getItem(position);
        return mIdMap.get(item);
    }

    @Override
    public boolean hasStableIds() {
        return true;
    }

}

Ответы на вопрос(2)

Ваш ответ на вопрос