1.14Android 学习+进度之十四-解决bug

终于到解决bug的时候。先备份一下

首先第一个大bug,当我A和B聊天,A处于聊天界面,此时B退出,A再返回,会崩溃。分析原因,应该是,当不在Main界面,但是收到的socket数据会修改main界面的东西,所以报错。看一下studio的报错语句地方。

java.lang.RuntimeException: Unable to resume activity。貌似并不是,而是出现了空指针。恩,改了就解决啦,改进代码:

    protected void onRestart() { //重新启动重新开始
        super.onRestart();
        /**存储的用户临时信息删除*/
        if(m_hashmapUserChatMsgTmp.get(m_mapUserCurrent.get(
                GlobalConstant.LIST_USER_IP)) == null) {
            /**假如退回来之前,对方已经退了,那就没必要clea了*/
            ;
        } else {
            m_hashmapUserChatMsgTmp.get(m_mapUserCurrent.get(
                    GlobalConstant.LIST_USER_IP)).clear();
            m_mapUserCurrent.put(GlobalConstant.LIST_USER_MSGNUM,"0");
            m_adapterUserList.notifyDataSetChanged();
        }
        /**重新将焦点设为自己*/
        m_mapUserCurrent = (Map)m_adapterUserList.getItem(0);
        Log.e("====SecondActivity=","onRestart");
    }
改androidbug,看bug类型,再看出错语句的行数,基本上就能判断错误原因了。恩,很快,也是最入门的办法吧。

接下去就是再找bug和改体验。

改进的第一个体验,每次来chat消息,最好焦点在最后一条,而不是去翻。参考链接:http://blog.163.com/hero_213/blog/static/3989121420116242163189/这个博客里的办法和我想的不太一样,有个现象不错,就是,弹出键盘,list会被压缩,而不是之前的覆盖。改一下就好了:

<ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/chat_msg_listVi"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_above="@+id/chat_msg_edtTxt"
        android:stackFromBottom="false"
        android:transcriptMode="alwaysScroll"/>

进去不弹出键盘。链接http://jingyan.baidu.com/article/b0b63dbfc6e29e4a48307000.html,测试,OK的

最后一个大问题,横竖屏切换的时候,他会重写,网上搜的链接:

http://blog.csdn.net/buleriver/article/details/6896035对于3.2版本以下适用。以上是不适用的,重点是那条评论!!!

还有一个体验问题,就是进去聊天的时候,最好,标题是他的IP,setTitle(m_sendIP);就可以了(百度了一大堆有的没的,大多都是老版本的!!)

可以了!暂时好像没啥bug了!

0725更新,发现新bug,由于clientActivity也开了广播,因此本质是可以收到别人给自己发的消息,然后没有加过滤,就显示了,会出现错误,不过也好解决,加个IP过滤就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值