1.null引发的故事
当初才开始写android代码,和以为C#的同事配合做一个项目。
期间遇到一个问题。我调一XXX接口,返回的json数据经过我的日志输出
为大概是这个样子 {“state”:”1”,”data”:”null”} 然后我代码写到 String data = xxx;(假设为json解析出来data字段对应的数据) if(nul==data){ //1.这里我写了提示日志神马的 }else{ //2.这里是正常情况走的数据解析方法 } 当代码运行时尼玛老是往2这个里面跑,我说这程序也有犯浑的时候?明明就是一个null 它硬是要往2这里跑真是的然后断点测试,看着他一步步往这里跑,我当时就肯定这肯定是这开发工具抽风了。。。找同事来看同事也不知道怎么回事。But我突然一想明明是空,它偏偏说不是空,既然不是空你就把他的长度给我log出来,然而下次代码运行的时候我看到log的长度输出是4。当时我就懵逼了~~哎
2.android横屏的故事
以前写了个app丢在哪里,当着样板给客户推。
然后大概过了近一年的样子有拿出来改改满足客户新的需求。
其中有个页面是要强制当前页面为横屏,so easy这个还能难道我?
直接配置清单设置android:screenOrientation="landscape" O啦!
But!这只是个开始,代码运行我发现怎么还是竖屏呢?
我看看配置清单没错啊,算了不行就不行吧,哥还可以动代码来设置横屏呢,
然后各种代码设置,有直接重写onresume的,有在oncreate设置横屏的有都没用
甚至配置清单和代码同时上都不行。真尼玛坑丢什么鸟情况。
赶紧找度娘问问但是并没有什么L用。
然后群里求助有人说要每个页面都设置横屏或者竖屏属性才能显示,
我想这个太那个什么了吧。以前都不是这个样子,但是为了结果还是照做了,
结果嘛还是不行。但是在之前的设置中我注意到一个问题我的横屏那个页面
进入的时候有时候oncreate会不停的被调用。当时知道屏幕发生变化的时候
这个会重建但是没这么厉害吧反复重建。于是找了下资料依然没有任何资料可查。
当然这个时候我并没有看出问题所在。当时这个问题已经折磨了我好几个小时了。
真是度娘都看了好看帖子都没有搞定,群里伙伴也给不出意见。怎么办。。。。
不可能放弃的。灵机一动我另外一个app项目里面直接修改配置清单设置横屏。
结果一次OK没有任何问题,我说怪了肯定是代码问题。
于是又回去看代码,我的基类一个用的是activity一个用的是appcompatActivity
难道是这个原因?我改然而依然没用。又往下翻,
一段基类activity的代码出现在我的眼里。。。。。。
@Override protected void onResume() { super.onResume(); if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} }
这个时候的自己恨不得把自己打屎。。。。然后之前出现的一些奇怪现象也就可以解释通了。
第一次发博客哈!把自己遇到的觉得有趣的事情写出来,记录一下开心一下。有些时候其实就是一个小问题,把自己折磨很久。但是轻松一下问题就解决了,希望大家的问题都能开心的解决。(语文基本一学期有一次机会及格)