首页 > 代码库 > 记录一下学习Android时遇到一些问题

记录一下学习Android时遇到一些问题

实在是不擅长Android开发,但在努力的学习当中。这篇文章就记录一下学习过程中,自己犯下的一些错误,同时也让自己记住别再犯同样的错误了。各位看官勿见笑!


一个关于空指针的错误

错误类型一:

  未对对象进行初始化导致了空指针的错误。类似于如下:

public void onActivityCreated(Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        Log.i(TAG, "------onActivityCreated------");         //未对db_manager进行初始化,就是下面的new,直接就调用了最后一句        db_manager = new DatabaseManager(context);        totalCount = db_manager.getTotalCount();

  实在是忘记了对其进行初始化,通过错误寻找,然后找到了原因。解决这个问题的时候,先根据错误提示,找到错误的行,然后根据错误类型预判什么位置出错了,当所有想到的方法都用尽了,才寻找其他人帮助。也许这就是成长之路。

错误类型二:

  重复对对象进行申明了(不知道描述是否正确?望批正),类似如下:

public class NoteFragment extends ListFragment implements OnScrollListener,        OnClickListener {    public static final String TAG = "NoteFragment";    public Context context; // 存储上下文对象    public Activity activity;    private Thread mThread;    // 已经定义了一个全局的适配器adapter     ----1    private SimpleAdapter adapter;    .......  }
public void onActivityCreated(Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        Log.i(TAG, "------onActivityCreated------");        ......        //此处重复的申明一个adapter,实际应该去掉SimpleAdapter,此类型上当了两次        SimpleAdapter adapter = new SimpleAdapter(getActivity(), listItems,                R.layout.note_list_item, new String[] { "tvNoteTitle",                        "tvNoteContent", "tvNoteCreateTime" }, new int[] {                        R.id.tvNoteTitle, R.id.tvNoteContent,                        R.id.tvNoteCreateTime });        setListAdapter(adapter);                ......}

现在简单的记录一下这些问题,第一个错误类型比较好理解,第二个暂时还不了解其原理,有空的时候细究一下,然后再补充进来

 

我在慢慢的找到自己的节奏,2015年,来一个小小的转变,Fighting!

记录一下学习Android时遇到一些问题