Android使用TextWatcher匹配email造成ANR的解决

最近QA给我报了一个bug,说是在编辑框快速输入邮箱的时候有时会导致页面无响应。 这个编辑框是专门输入邮箱的,所以监听了TextWatcher,每次字符的改变都会用正则判断是否是正确的邮箱,如果不是的话会显示错误提示。这里我没有考虑到用户快速的填写内容,会触发多次的afterTextChanged回调这个case,这样就会因为正则匹配次数太多造成ANR。下面我谈谈自己是怎样修复这个bug的:一...
阅读(88) 评论(0)

Android实现EditText的富文本编辑

本文是我之前写的这边文章《Android图文混排-实现EditText图文混合插入上传》的升级版,除了在EditText实现了图片上传之外,还包含了视频上传、云盘文件上传、录音上传以及显示上传进度。目前应用于蜜蜂-集结号-任务模块。首先介绍一下该功能的实现效果: 实现思路实现思路与之前介绍的稍有不同,但是依然是使用SpannableString实现的。由于这里不仅仅支持图片上传,还支持音频、视...
阅读(167) 评论(0)

From Android to iOS - 零基础编写一个iOS应用

本文是关于我作为一个Android开发者自学iOS开发的一些心得、经验。如果你是一位Android开发者,同时又对iOS开发感兴趣,那么本文将带你在几天时间内学会基本的iOS编程。希望本文能对大家有帮助~...
阅读(2595) 评论(1)

Android 使用DrawerLayout快速实现侧滑菜单

一、概述 DrawerLayout是一个可以方便的实现Android侧滑菜单的组件,我最近开发的项目中也有一个侧滑菜单的功能,于是DrawerLayout就派上用场了。如果你从未使用过DrawerLayout,那么本篇博客将使用一个简单的案例带你迅速掌握DrawerLayout的用法。...
阅读(2635) 评论(1)

使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多

一、概述 我们公司目前开发的所有Android APP都是遵循iOS风格设计的,这并不是一个好现象。我决定将Android 5.x控件引入最近开发的项目中,使用RecyclerView取代以往使用的ListView、GridView,使用SwipeRefreshLayout取代pull-to-refresh第三方库,打造更符合Material Design风格的APP。本篇博客介绍的就是如何使用Swi...
阅读(36331) 评论(36)

Android 通过ADB Wireless无线调试应用

使用数据线调试应用难免不方便,本篇博客介绍使用ADB Wireless工具,当手机和电脑处在同一网络下,实现无线调试应用。 ADB Wireless能够让手机用无线来取代USB连接,而使用ADB工具的前提是设备已经root。...
阅读(1925) 评论(2)

Andriod GridView不改变背景色实现网格线效果

项目中需要给GridView添加一个网格线,而且GridView的背景是一张完整的图片,如图所示: 常用的方法是: 改变GridView的背景色 设置GridView水平或竖直方向的间隔 设置item的布局文件背景色 上述的方法直接改变了GridView的背景色,显然是不符合项目要求的,我在网上搜索了一下没有找到解决方案,这里给出自己的解决方案:给item的布局文件添加一个边框背景即可:<shap...
阅读(2683) 评论(11)

Android pm命令详解

在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下。这个命令与Package有关,且非常实用。所以研究之。0. Usage:usage: pm [list|path|install|uninstall] pm list packages [-f] pm list permission-group...
阅读(1914) 评论(0)

Android 离线缓存的快速实现

离线缓存是指在有网络的状态下将从服务器获取的网络数据,如Json 数据缓存到本地,在断网的状态下启动APP时读取本地缓存数据显示在界面上,常用的APP(网易新闻、知乎等等)都是支持离线缓存的,这样带来了更好的用户体验。如果能够在调用网络接口后自动缓存返回的Json数据,下次在断网状态下调用这个接口获取到缓存的Json数据的话,那该多好呢?Volley做到了这一点。因此,今天这篇文章介绍的就是使用Vo...
阅读(9542) 评论(8)

Android Gson使用入门及GsonFormat插件的使用

Gson 是 Google 官方提供的用来在 Java 对象和 JSON 之间进行互相转换的Java类库。 我之前在使用Eclipse开发Android的时候,并没有经常使用Gson,而是使用原生的JSONObject解析,最近转用Android Studio,配合该IDE里面强大的插件,使用Gson很大程度地提高了开发效率。本篇博客将介绍Gson的基本使用方法,配合实际案例体会Gson带来的便捷...
阅读(3290) 评论(1)

Andriod DiskLruCache的使用案例

DiskLruCache是谷歌推荐的用来实现硬盘缓存的类,本案例将对DiskLruCache的基本用法做一个总结,包括:创建缓存、查找使用缓存、移除缓存等等。实现效果图创建DiskLruCacheDiskLruCache使用open方法创建一个实例,如下所示:对应的四个参数分别为:缓存目录、应用版本号、单个key对应的数据的个数(一般设为1)、缓存的总大小,其中key是图片的url经过MD5转码获得...
阅读(2068) 评论(1)

Android canvas.save()和canvas.restore()的理解

群里一哥们面试的时候被问到canvas.restore()的作用是什么,与之常常被一起问到的是canvas.save()的作用是什么。最近在上海开发航运项目,忙里偷闲总结一下两个方法的用法,以后也将在博客中记录面试中可能会被问到的一些其他问题。Canvas相当于一块画布,该类中常用的方法如下: drawRect(RectF rect, Paint paint) drawPath(Path path,...
阅读(2467) 评论(3)

Android搜索功能的案例,本地保存搜索历史记录

同事负责开发的APP有一个搜索功能,并且需要显示搜索的历史记录,我闲暇之余帮她开发了这个功能,现把该页面抽取成一个demo分享给大家。实现效果如图所示: 本案例实现起来很简单,所以可以直接拿来嵌入项目中使用,涉及到的知识点: - 数据库的增删改查操作 - ListView和ScrollView的嵌套冲突解决 - 监听软键盘回车按钮设置为搜索按钮 - 使用TextWatcher( )实时筛选...
阅读(12296) 评论(14)

Android自定义dialog中的EditText无法弹出键盘的解决

最近我独立开发的项目《全医会》已经在内测当中了,很快将会上架到各大应用市场。之前开发的几个项目都因为一些原因没有上架还是比较遗憾的。所以,最近我心情格外的好。 今天在做一个新项目,专为律师和客户开发的APP,其中有一个自定义对话框的需求。这个知识点其实很简单,就是下图这个效果: 可是当我悠闲的写完以后才发现,自定义对话框里面嵌套的EditText根本无法获取焦点,无法弹出软键盘,郁闷,以前开...
阅读(7229) 评论(2)

Android图文混排-实现EditText图文混合插入上传

前段时间做了一个Android会议管理系统,项目需求涉及到EditText的图文混排,如图: 在上图的”会议详情”中,需要支持文本和图片的混合插入,下图演示输入的示例: 当会议创建完成以后,保存数据到服务器,然后查看刚刚创建好的会议,如图: 一、明确需求 首先,点击”会议详情”文本框中,正常输入文本,然后点击左下角的图片图标,进入系统的相册用来选择一张图片并插入到文本框中,你还可以将光标...
阅读(7198) 评论(5)
77条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:228081次
    • 积分:2958
    • 等级:
    • 排名:第12352名
    • 原创:75篇
    • 转载:2篇
    • 译文:0篇
    • 评论:109条
    联系方式

    wechat: holy0729

    e-mail : leoleohan@foxmail.com

    github: https://github.com/leoleohan

    博客专栏
    文章分类