摘要: 如上是数据库升级代码,之前版本一直没有出过问题。从4-》5却又好几个用户反馈,但绝大多数用户没有问题,测试过程中也没发现问题。猜测是部分用户特定的数据导致数据库升级失败。仔细检查发现前2行对数据库操作可能会导致主键冲突,尝试加入try、catch后问题解决。 结论:对于可能导致操作异常的sql语句增 阅读全文
posted @ 2017-03-20 11:31 自强自律 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 学习或翻译自官方文档:https://developer.android.com/reference/android/os/AsyncTask.html 一、概述 使用过AsyncTask开发的都知道,AsyncTask使得开发者更加容易和正确的使用UI线程,它允许我们不创建新线程或者handler 阅读全文
posted @ 2017-03-08 21:13 自强自律 阅读(184) 评论(0) 推荐(0) 编辑
摘要: EditText添加焦点监听事件,当该EditText失去焦点时,关闭键盘。 学习自:http://stackoverflow.com/questions/17184119/how-to-hide-soft-key-pad-after-changing-one-viewpager-to-anothe 阅读全文
posted @ 2016-08-30 16:22 自强自律 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 需求:项目中需要获取输入法键盘弹起后,手机屏幕可见区域高度(即手机屏幕高度-输入法高度) 解决方法:OnGlobalLayoutListener 是ViewTreeObserver的内部类,当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到,这是一个注册监听视图树的观察者(o 阅读全文
posted @ 2016-06-08 16:32 自强自律 阅读(1472) 评论(0) 推荐(0) 编辑
摘要: 1.Unable to execute dex: Multiple dex files define 原因是有重复的jar包被引用,可以通过查看build path,尤其是Android Dependencies一是否有重复jar包被引用。 2.\attrs.xml:2:error: Found t 阅读全文
posted @ 2016-04-18 20:44 自强自律 阅读(156) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2015-11-05 10:39 自强自律 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 内存泄露,简称OOM(OutOfMemory)。区别于Web开发、PC端程序开发,Android程序开发有一个很大的限制:设备资源有限。当Android应用程序处理较大内存资源如图片、音乐、视频等多媒体资源时,在资源数量过多、处理时间太久的情况下,很容易耗尽设备资源,此时,内存泄露就发生了。 ... 阅读全文
posted @ 2015-07-23 15:23 自强自律 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 通常一个Android程序会对应多个activity,对于结束一个activity,通常我们会想到使用finish(),finish仅仅是针对activity的,它只是将活动推向后台,并没有立即释放内存,资源并没有被清理。例如A—〉B(由A窗口打开B窗口),如果在B中调用finish(),只是将... 阅读全文
posted @ 2015-04-17 10:43 自强自律 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 学习来源:参考自http://www.eoeandroid.com/forum.php?mod=viewthread&tid=49595&highlight=handler一、相关概念1.MessageQueue:消息队列,一种数据结构,存放消息的地方。每一个线程最多只可以拥有一个MessageQu... 阅读全文
posted @ 2015-04-16 15:53 自强自律 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 1.实现连续输入import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in)... 阅读全文
posted @ 2015-03-25 14:17 自强自律 阅读(222) 评论(0) 推荐(0) 编辑