Was ist der beste Weg, um den Android-Code in Eclipse zu debuggen?

Ich beginne gerade mit Eclipse und möchte wissen, was Fehler in meinen Apps verursacht. Ich frage mich, ob das ein Weg wie Visual Studio ist.

Ich meine, ich habe eine Nullzeiger-Ausnahme, aber selbst nach dem Setzen von Breakpoint bin ich verwirrt, welche Ursache ein Fehler ist.

Weil ich die meiste Zeit neu bin, starte ich schlecht oder Code, der nicht funktionieren wird. Wie ich meinen Fehler erkenne. Manchmal funktioniert mein Code nicht und Ausnahmen sind schwer herauszufinden, was wirklich mit meinem Code passiert.

Überprüfen Sie den Code und leiten Sie mich, wie ich ihn finde. Ich meine, wie man weiß, wo die Nullzeiger-Ausnahme auftritt.

public class MainActivity extends Activity {

    Set<String> tasks = new HashSet<String>();
    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<String> tasks = sp.getStringSet("tasks", new HashSet<String>());

        @SuppressWarnings("unchecked")
        ArrayList<String> taskarr = (ArrayList<String>) tasks;

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

    public void LoadTasks() {

    }

}

class StableArrayAdapter extends ArrayAdapter<String> {

    HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();

    public StableArrayAdapter(Context context, int textViewResourceId,
            List<String> 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;
    }

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage