您的位置:首页 > 移动开发

the application has stopped unexpecetedly及重构模式

2010-10-10 21:49 369 查看
从4号借了本Android的书,从程序项目架构下各个文件的作用,又通过学习一些常用组件的用法,现在对要写一个Android程序的基本需要还是清楚了的,跟着书的内容一步一步学会了怎么添加对话框,添加新活动,添加按钮,弹出对话框,使用接口添加下拉菜单,设置优先级等等,但这过程有两点给自己感觉特别深刻。
随着代码的逐渐增多,感觉出现了一点错误就变得很难查找了。后来发现原来还有个叫“重构程序”模式的——MVC模式
  概括地说,mvc模式是指将应用程序分成三部分,分别是负责储存内容的“model(模式)”,负责显示的“view”,与控制程序操作的“controller”。编写时将这三个相对独立有彼此相关的部门区分割开来,有助于程序的设计与维护。
“contrller”负责处理各种主要的运算工作,例如根据用户在“view”中的各种操作,从model中提取数据,将适当的视觉元素传给view,或是将改动保存到model中。他们的关系如下图




MVC模式的具体介绍及优缺点可以参考这个链接。http://www.360doc.com/content/09/0804/08/163747_4655702.shtml
第二点是扰了我两天的一个“the application has stopped unexpecetedly”,由于自己Android的调试方法还没掌握好,面对着这错误真是不知怎样找出原因,在网上查了一些资料,感觉那些错误也不符合我的情况,后来就又翻了黄志耿写过的的log调试方法,但发现打开那logcat都不知道显示那么多东西是什么,添加了一个log
filter又变成什么都没显示,真是郁闷之极,我也不知道为什么。到第二天跑到俱乐部找了万浩学长帮忙看看,他说一般也可以采用注释的方法来查找错误,后来就一直注释一直注释,还是显示“the application has stopped unexpecetedly”,最后只剩下
public class Bim extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);
}
}
竟然还是错的,学长说那就是在main,xml中错了,最后把main.xml改成只显示good!确实就可以了,后来自己恢复了之前的main.xml文件,看来看去还是没看出错误,后来想打一个方法,就是把该文件中的所有组件给剪切到一个文本文件里,在一个组件一个组件的加回去,加入第一个第二个都没问题,运行通过,加了第三个,就又出现了“the application has
stopped unexpecetedly”,所以知道:“哦哦,错误就在这几行了”。众里寻它千百度,原来错误就在在细微处,我把editText写成了editView~~~!!!!!但是为什么明明没有这组件,当初在写时候它左侧不会打了个大大的红叉呢?不过虽然这错误是如此让人吐血,但在查着错误的过程还是收获蛮大的啦,之前都感觉写得比较顺利,没什么错误,所以还真是没学着用调试程序,但是这次后感觉对调试有一些进步了,要怎样把错误缩小到最小范围是最好的,(顺便说一声,那log的形式我好像还是没能知道他的好处,因为好像看不太懂那些显示的),好了,在这里说说当出现“the
application has stopped unexpecetedly”时候该如何做吧。首先去查看自己的代码是否有逻辑上的错误或者是漏洞,例如是不是使用了一个null对象。对象使用之前是否已经实例化(当然相信你不会出现我那种吐血型错误)。这个过程当然可以用尽一些你觉得好的调试方法,把错误锁到最小。另外,当创建了多个activity时,记得每创建一个activity,就得在manifest。xml中配置一下活动信息,(这个错误我试过了,确实会出现“the
application has stopped unexpecetedly”的说法)。
呵呵,顺便也看看下这些天学习的一点点进步吧~~
总的就是有菜单,弹出对话框,添加新活动,优先设置,下拉菜单等等吧。或许这些都是蛮简单的应用,但自己感觉这些天的学习还是蛮不错的,对这些的运用也比较熟悉了~~(由于自己对在博文中插入图片的操作很不灵活,所以有些就省了~~)
(这是由下拉菜单,优先设置,支持中英文转化,menu,弹出对话框等最全的一个(当然这只是在学这些组件的用法而添加的。)下面一个是有菜单,有添加了活动,弹出对话框,有优先设置,能弹出对话框等开始学习的一个。)









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐