随笔分类 - 项目经验谈
遇到的异常与解决方案等
摘要:Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的...
阅读全文
摘要:有时候,我们拍了一张图片或录制了一段视频,图库应用默认没有将这些新产生的文件识别出来所以打开图库或视频播放器发现没有找到这些文件,需要调用MediaScanner扫描一下才会出来。从FFMPEG中找了一个类用来扫描媒体文件。public class FFMpegMediaScannerNotifie...
阅读全文
摘要:项目中使用到ContentObserver来观察Provider的变化,当对Uri做数据库操作时对应的Provider会发一条Notify消息调用UI上层的ContentChange方法,在这个ContentChange方法中是重新对本会话的消息表的Uri查询一次,查询完毕后更新界面并将listVi...
阅读全文
摘要:onScroll()方法和onTouchEvent()方法的执行过程应该是,先onTouchEvent()的ACTION_DOWN,然后是ACTION_MOVE和onScroll()方法同时进行,最后是onTouchEvent()的ACTION_UP.可以打Log看下具体过程.
阅读全文
只有注册用户登录后才能阅读该文。
摘要:在Android View视图是没有边界的,Canvas是没有边界的,只不过我们通过绘制特定的View时对 Canvas对象进行了一定的操作,例如 : translate(平移)、clipRect(剪切)等,以便达到我们的对该Canvas对象绘制的要求 ,我们可以将这种无边界的视图称为“视图坐标”-...
阅读全文
摘要:在Android 官方开发文档中有一篇文档来介绍如何保存应用的数据,但笔者用过很多程序(从知名的到不知名的)处理的都不是很完美,或者 没有按照Android 开发团队建议的方式去保存他们应用的数据。当一些试用过的软件卸载后,在SDCard中还保留了这些软件的文件目录,时间一长就有很多目录需要手工去清...
阅读全文
摘要:现在很多开发者在裁图的时候还是使用com.android.camera.action.CROP 来调用startActivity()。 这不是个好主意。任何不是依android开头的Action 名称都不是标准的。依com.android 开头的只是Android 内部应用之间的私有Action。 ...
阅读全文
摘要:配置(Configuration)改变是Android应用生命周期的一部分,如果发生了该事件(屏幕从横屏换行为竖屏),就会导致Activity被销毁然后重新创建。就算您在配置文件中设定Activity为竖屏显示的 也无法避免,应为Android应用配置改变的情况有很多种。如果发生了这种情况,Frag...
阅读全文
摘要:在以前版本的 Gmail 应用中,ActionBar 上有个刷新菜单,点击一下刷新菜单变成一个转圈的刷新标示动画图片。 之前实现该功能的时候都是使用一个类库RefreshActionItem来实现的。RefreshActionItem 还支持一些扩展功能,功能比较丰富。今天无意中又发现一个简单的实现...
阅读全文
摘要:通过在 Logcat 查看 SQL 执行语句可以帮助你调试 SQLite 问题, 使用 ADB SHELL 执行如下命令即可在 Logcat 输出 SQL 执行日志: adb shell setprop log.tag.SQLiteLog Vadb shell setprop log.tag.SQL...
阅读全文
摘要:当旧版本的用户升级新版本的时候需要重新设定一些值处理,这时候需要监听升级版本的广播 当设备是在API12以上的版本可以直接使用MY_PACKAGE_REPLACED
阅读全文
摘要:Android 的 EditText 控件默认获取焦点的时候, 插入光标是在第一个位置的,如果EditText中设置了文本, 这个时候光标是在文本的最前面, 而不是文本的最后. 为了方便用户使用, 需要把光标移动到文本最后, 但是EditText 没有提供 setCursor 函数. 经查看其文档 ...
阅读全文
摘要:项目中需要做一个关于联络人的模块,先搭建了一个demo.顺便总结查询手机联络人的名字和号码的知识例子很简单,直接贴代码: package com.kris.contacts;import java.util.ArrayList;import android.app.Activity;import a...
阅读全文
摘要:首先我们通过一个button进行一下测试,可以知道:Java代码publicclassResextendsActivityimplementsView.OnTouchListener{Buttonbtn=null;intx=0;inty=0;intrawx=0;intrawy=0;/**Calle...
阅读全文
摘要:ViewHolder 模式在 Android 中大家应该都不陌生了,特别是在 ListView 中通过 ViewHolder 来减少findViewById 的调用和 类型的转换。 而 HolderView 模式是把 ViewHolder 给业务逻辑化,不再仅仅只是保存一些 View, 还要带有业务...
阅读全文
摘要:测试定时事件不太容易,比如要测试AlarmManager 中定时明天4点的一个事件,你总不能等到明天4点再看看吧。Roman Nurik提供了两个用来测试定时事件的命令:adb shell dumpsys alarm和adb shell dumpsys activity intents通过这两个命...
阅读全文
摘要:一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewPager左右滑动明显卡顿b. Gr...
阅读全文
摘要:1、降低执行时间这部分包括:缓存、数据存储优化、算法优化、JNI、逻辑优化、需求优化几种优化方式。(1). 缓存缓存主要包括对象缓存、IO缓存、网络缓存、DB缓存,对象缓存能减少内存的分配,IO缓存减少磁盘的读写次数,网络缓存减少网络传输,DB缓存较少Database的访问次数。在内存、文件、数据...
阅读全文
摘要:1、抽象布局标签 (1) 标签include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,这在布局编写方便提供了大大的便利。下面以在一个布局main.xml中用include引入另一个布局foot.xml为例。main.mxl代码如下:Java123456789101...
阅读全文

浙公网安备 33010602011771号