`

细数Android Bug

 
阅读更多

    咱们的三、四岁孩子:Android有些问题。现罗列一下,以后会断断续续补充

 

 

 

  • java.net.URLEncoder 当使用 URLEncoder.encode(String param), param中包含一些特殊字符如空格, 百分号等,则会触发如下异常:   java.lang.IllegalArgumentException 解决办法: 自己实现encode或先对这些特殊字符做处理 如: public static final String ENCODING_POST[] = {"%25","%22","%20","%21","%23","%24","%26","%27","%28","%29","%2A","%2B","%2C","%2D","%2E","%2F","%3A","%3B","%3C","%3D","%3E","%3F","%40","%5B","%5C"," %5D","%5E","%5F","%60"};
    	   
    	  public static final char ENCODING_CHAR[] = {'%','\"',' ','!','#','$','&','\'','(',')','*','+',',','-','.','/',':',';','<','=','>','?','@','[','\\',']','^','_','`'};
     

 

 

  •  java.net.HttpURLConnection 大部分从j2ee转入Android的开发员都容易直接使用这个类来做所有http操作,如: /* HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
    			   con.setRequestMethod("HEAD");
    			   con.setFollowRedirects(false);
    
    			   con.setConnectTimeout(TIMEOUT_FOR_CONNECTION); 
    			   con.setReadTimeout(TIMEOUT_FOR_READ);
    			   return (con.getResponseCode() == HttpURLConnection.HTTP_OK);*
     可是他在一些sdk并不工作(现在发现并不是http server不支持Http Head,而是部分sdk并不支持,而且没有等到Timeout,返回的status code并不是200).   最后解决如下: 使用DefaultHttpClient(或HttpClient) + HttpHead . 至此对 java.net.HttpURLConnection不再信任

 

  • Xml Parser,无论是采用DOM或SAX parser,只要碰到文本节点包含特殊字符如&,>,<甚至<![CDATA[等都会报异常或不作后继的解析. 解决办法对确保出现特殊字符的xml自己用字符串方式解析
  • android.webkit.WebView
    • WebView+ScrollView(即WebView置于ScrollView中),则会碰到WebView中的href更本不响应(clicking):也就是超级链接失效,解决办法,去掉外层的ScrollView
    • WebView+TabHost+Select(即WebView是通过Xml配置的,放于ActivityGroup中的一个Activity的Layout中,碰到WebView有html的Select选单(对应Android的Spinner),则会在用户点击选择Item的时候发生异常:   android.view.WindowManager$BadTokenException: Unable to add wind          //-- token android.app.LocalActivityManager$LocalActivityRecord@44ed8338 is not valid; is your activity running?  解决办法: 代码生成WebView : webview = new WebView(this.getParent() == null ? this : this.getParent());
    • WebView的Zoom和他的OnTouchListener,当设置setBuiltInZoomControls(true)后触摸WebView可能在一些ROM上会有Zoom Button, Zoom Button出现后WebView就不在有任何OnTouchListener响应。原本想借用onTouch实现LongPress+ContextMenu,最后没辄,用OptionMenu代替了

 

 

 

    如果你的孩子也存在上述问题,别忘记了我没提醒你怎么帮助引导改善他。

0
0
分享到:
评论

相关推荐

    Android公告轮播条,NoticeViewDemo修复bug

    "Android公告轮播条,NoticeViewDemo修复bug"这个项目就是一个很好的示例,它专注于实现一个自定义的公告轮播条控件,用于展示文字公告。这个控件可以为用户带来新鲜感,增加应用的互动性。 首先,我们来探讨公告...

    android-29.rar

    12. **Jetpack组件**:Android 29 SDK更新了Jetpack库,这是一组可重用的组件,帮助开发者遵循最佳实践,简化代码并减少bug。 13. **Android Q Beta计划**:在Android 10正式发布前,谷歌推出了多轮Beta测试版,...

    u-blox_Android_GNSS_driver_v2.3.zip_Android_GNSS_Driver_gnss and

    1. **发布说明**:详细介绍了V2.3版的新特性和改进,包括bug修复、性能优化以及与前一版本的差异,是了解驱动升级内容的重要参考。 2. **应用笔记**:阐述了如何在实际应用中集成和使用u-blox Android GNSS驱动,...

    Android SDK 26.0.2

    这个版本的Build Tools可能包含性能改进和修复的bug。 3. **Gradle插件兼容性**: 使用Android Studio时,需要确保Gradle插件与SDK Build Tools版本兼容。通常,更新Build Tools后,也需要更新Gradle插件版本。 4. ...

    android Camera源码(可用)

    这个“android Camera源码(可用)”提供了一套完整的源代码,已经解决了包名问题,可以直接运行且无bug,这对于Android开发者来说是一份宝贵的资源。下面将详细介绍Android Camera API的相关知识点。 1. **Android...

    android-8.0.0_r1

    熟悉了源代码结构之后,如果发现了bug或有好的改进想法,可以尝试修复并提交pull request到官方仓库。参与开源项目的贡献不仅可以提升个人技能,还能帮助社区发展。 通过以上介绍,我们可以看到“android-8.0.0_r1...

    Android框架浅谈

    《Android框架浅谈》 **一、Android系统框架概览** Android系统框架是构建于Linux内核之上的,为移动设备提供了一套完整的操作系统环境。它由一系列的组件和服务构成,包括应用程序框架、运行库、应用程序、Linux...

    Android应用源码之大型游戏源码android游戏源码说明.zip

    9. **热更新与版本控制**:游戏可能需要通过热更新修复bug或添加新功能,Git等版本控制系统用于协同开发和版本管理。 10. **游戏测试**:单元测试、集成测试、压力测试等确保游戏的稳定性和质量。 压缩包内的...

    android sdk 30

    6. **使用最新库**:更新依赖库到最新版本,以利用新特性和修复的bug。 7. **更新构建工具**:使用最新的Gradle插件和构建工具,以获取最佳性能和功能。 在解压缩文件时,如果得到的文件夹名为"android-11",但实际...

    android源码开发实战9.08.zip

    通过深入研究这个9.08版本的源码,开发者不仅可以提高自己的技术水平,还能为Android社区贡献自己的力量,修复bug、添加新特性,或者创建自定义的Android发行版。这是一条富有挑战性但收获颇丰的学习之路。

    Android Pie 源码

    通过深入研究Android Pie源码,开发者可以更好地理解Android系统的运行机制,实现高级功能,修复bug,优化应用,或者为特定设备定制Android系统。这是一份宝贵的资源,对于任何想要在Android平台上深耕的人来说都...

    TextView解决中英文换行bug和点击显示全部功能

    在Android开发中,TextView是用于显示文本的基本组件,它的功能强大且灵活。当我们处理中英文混合的文本时,可能会遇到一些棘手的问题,比如中英文混合导致的提前换行问题。这个问题通常出现在当一个英文单词与一个...

    gradle-3.4.1-all.zip 升级androidstudio 2.3必备

    此版本在原有基础上进行了bug修复以及性能优化,提升了稳定性和效率。 **主要特性:** 1. **增强的性能**:Gradle 3.4.1通过减少内部任务依赖解析的时间来提高构建速度。 2. **安全性提升**:加强了对依赖管理的...

    Android游戏开发

    #### 九、触屏事件中的Bug解决方案及屏幕方向问题 处理触摸事件时可能会遇到各种问题,比如点击无效或响应不准确等。正确地处理`onTouchEvent()`中的事件可以避免这些问题。 **代码示示例**: ```java @Override ...

    安卓4.3相机

    7. **权限管理**:Android 4.3对权限管理进行了优化,相机应用可能需要获取访问摄像头、存储和位置等权限,用户可以更细粒度地控制这些权限。 8. **性能优化**:针对Android 4.3系统,相机应用可能进行了性能优化,...

    Android项目源码超低耦合框架全自动注入自动分发框架.rar

    我是做外包的,初衷是在不影响项目质量的前提下减少我的工作量,而且BUG其他人改起来相对比较容易,本工具专属外包码农,如果你想做精细,很在意性能数据,请看看就好。 1、基本功能 InLayer注解 InPlayer 注解 ...

Global site tag (gtag.js) - Google Analytics