邓志国
码龄23年
关注
提问 私信
  • 博客:43,762
    社区:92
    43,854
    总访问量
  • 25
    原创
  • 861,553
    排名
  • 7
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2001-10-15
博客简介:

dzg1977的专栏

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得11次评论
  • 获得3次收藏
创作历程
  • 13篇
    2015年
  • 12篇
    2014年
成就勋章
TA的专栏
  • 测试
    1篇
  • Java
    7篇
  • Android
    18篇
  • 数据库
    2篇
  • 系统维护
    2篇
  • 工具
    2篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

并发安全的Adapter

问题Adapter的数据自己要用于getView和getCount,而且程序是getCount后在不同方法里面连续getView,这带来个问题:getCount后,数据被其他线程删除,在getView的时候越界解决思路建立一个ConcurrentAdapter,里面用两个List存储数据,一个是外部操作增删用,一个用来实际绘制用。当外部增删后,暂时不改变内部的List,这样就不会出现越界当内部
原创
发布博客 2015.04.07 ·
798 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在Android上用MVP模式编程的实践

首先,谁是V?谁是P?(M我认为不是问题)View,应该是实现显示逻辑,在Android开发中,我们认为Fragment、Activity都可以被当做View,他们主要任务就是控制显示逻辑,这部分代码不太经常重用。View通过调用P的业务逻辑,来实现业务。业务包括同步的业务(可以在UI线程操作)和异步的任务(如网络、磁盘IO等耗时操作),并根据P的业务返回结果来响应地改变UI。对Presenter的
原创
发布博客 2015.04.07 ·
862 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

巧用Logcat把日志记录到文件

在一些开发阶段,产品已经小部分分发出去,在出现问题的时候,我们希望用户能把当时的Logcat日志也发过来提供给程序员进行分析,这里介绍一个巧妙利用logcat命令行进行日志记录的方法,不用自己写日志记录的代码。Android的shell里面提供个logcat的命令,是用来查看系统日志的,这个命令同时支持日志过滤、日志记录到文件,并支持自动日志文件滚动、控制日志文件大小。因此,我们在系统启动的时候,用
原创
发布博客 2015.02.25 ·
2255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

基于AndroidAnnotations的一个MVP模式的扩展

GitHub地址
原创
发布博客 2015.02.10 ·
900 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

扩展AndroidAnnotations使用MVP模式编程

上代码 Activity实现一组接口,用来对View进行操作public class MainActivity extends Activity implements TestView{//MVP中的P,一个View可以有多个P,实现多组业务逻辑,比如在主界面还需要读取Conversation 的内容@Bean(TestActions.class)ITestActions testActio
原创
发布博客 2015.02.05 ·
1132 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Activity被销毁重建后Fragment的处理

1、用onSaveInstanceState方法保留Activity状态。2、在onCreate方法里面处理保留的状态数据protectedvoidonCreate(BundlesavedInstanceState) {3、在放入Fragment的时候,加上TAG,在Activity restore后,用TAG把Fragment用findFragmentByTag读取出来。
原创
发布博客 2015.01.20 ·
2664 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

使用AWS的CloudFront、Route53等服务

注册AWS服务后,邮箱会收到一封信,标题如下:Action Required: AWS Account Alert内容是让你发一个有效的网址过去,这样才能使用CloudFront、Route53等服务。如果没有开通,点击这些服务的时候,就会出现:Your service sign-up is almost complete 这样的信息。出现这个信息后,我们提交了工单,几天都没有
原创
发布博客 2015.01.19 ·
4112 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用Ant在编译时删除Debug代码

程序中有很多打印Log的测试代码,在Deploy的时候最好删除,Java不支持宏定义,可以尝试用ANT脚本来做。步骤如下:1、把代码复制到一个新目录2、用Ant的replaceregexp任务,对下面的Java代码根据正则表达式删除Debug代码3、用ANT对清理过的工程进行编译打包。需要程序员对Debug信息的输出统一格式,比如统一一个静态方法调用。
原创
发布博客 2015.01.13 ·
1085 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Android ListView避免在GetView时数据发生变化导致找不到元素的Bug

ListView在GetCount返回30,这时系统正在GetView,另外的线程这时改变了List中的数据,比如删除一个,会导致indexOutOfBound。解决方案是:在getCount的时候,把数据复制到另外一个List中,之后的getView都从这个复制的List获取数据。
原创
发布博客 2015.01.13 ·
849 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一个高效的Android GIF播放器

特点:整个应用只用一个线程播放所有GIF可以把GIF直接放到ListView或者RecycleView中,性能没有问题。当没有GIF播放的时候,线程wait住GitHub地址 https://github.com/bobdeng/androidgif
原创
发布博客 2015.01.05 ·
1237 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

用AndroidAnnotation简化Android开发

AndroidAnnotation是一个通过Annotation对代码进行预处理,简化Android开发,加快开发速度,提高代码可阅读性的一个框架。它的主要思路是:用编译时Annotation对代码进行标记,通过Java的Annotation Processing对代码进行预处理,补齐代码。如FindViewById这样重复被使用的代码,可以通过在类成员上加上@ViewById(R.id.xxx)
原创
发布博客 2015.01.05 ·
743 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android使用Buffer提高相机的处理能力

Android上使用相机的的Preview的时候,如果不使用Buffer,相机程序会反复创建销毁Byte数组,造成系统频繁垃圾回收,非常影响体验,这时可以用Buffer来进行处理。首先,在调用相机的回调时,用如下代码:for (int i = 0; i < 3; i++) { camera.addCallbackBuffer(new byte[((previewWidth * pr
原创
发布博客 2015.01.05 ·
1094 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android上如何确保消息被推送到

一般情况下,可以侦听一些经常发生的消息,如电量变化、开关屏幕、网络切换等等,注册BroadcastReceiver来接收消息,接收到后启动推送消息的Service。现在有些厂商的ROM,一旦用户主动杀掉了进程,则不再投送广播消息给应用,导致应用无法启动,在这种情况下,可以用C Fork出来一个进程,检查主进程是否被杀,一旦被杀,立即调用shell命令启动Service,这个做法稍微流氓了一点,
原创
发布博客 2015.01.05 ·
789 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android下面第三方类库资源文件的加载

有些第三方类库是基于J2SE开发的,内部有资源文件,如properties,这些文件在dex编译的时候会被过滤掉,导致类读取资源的时候无法访问。解决办法是用运行时加载第三方类库。1、用DX打包第三方类库2、把打包后的DEX文件和带目录结构的资源文件,压缩到classes.zip文件里面3、对Classes.zip进行运行时加载。加载方法见上一个博客
原创
发布博客 2014.12.03 ·
1155 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Android对第三方类库运行时加载

首先,把需要运行时加载的类库,放到项目的其他目录,如新建一个thirdlibs的目录。然后用dx命令,对下面的类库进行压缩,做成dex文件。dx --dex --output=../assets/ *.jar这会在assets下面生成一个classes.dex文件,压缩成classes.zip文件。新建一个类,用来加载类库package me.chatgame.mobilecg;
原创
发布博客 2014.12.02 ·
3690 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

使用ANT编译超过64K方法的Android工程

Android编译的DEX文件最大允许64K个Method,超过了可以用multi-dex来实现,不过Google不维护Ant部分的代码了,需要自己手工改一下。1、修改SDK\tools\ant\build.xml      在dex-helper 下面的dex,增加:multidex="true"      由于当前的AntTask并不支持Multidex,因此需要修改ANT的T
原创
发布博客 2014.12.02 ·
2884 阅读 ·
0 点赞 ·
5 评论 ·
0 收藏

Android更新系统相册

图片保存到SD卡后,通过如下方式通知系统更新相册:    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);    File f = new File(path);    Uri contentUri = Uri.fromFile(f);    mediaScanIntent.s
原创
发布博客 2014.11.12 ·
1005 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hoststool使用教程

第一步,选择服务器,如果不行,可以换换服务器试试看,我用seattle可以的。第二步
原创
发布博客 2014.10.23 ·
3786 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

基于AndroidAnnotation扩展的一个异步调用框架

用法介绍首先 @EAction(action=ActionImpl.class) public interface IAction{ @Invoke public void doSomething(String name); @Invoke public void doSomethingPriority(String name,int priority);
原创
发布博客 2014.09.04 ·
659 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在阿里云RDS下面使用中文全文检索

目前阿里云的RDS并不支持中文全文检索,我也
原创
发布博客 2014.04.14 ·
2277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多