自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 解决项目中不同进程中使用SharedPreferences存取数据不同步的问题

最近项目中有需求需要获取广播中字符,然后工具类中使用,供其他方法调用,但是在广播中每次获取到数据之后使用SharedPreferences存储起来,然后在其他工具类中去取数据的时候都只有第一次的值,后面不管怎么存储的时候怎么改变值,工具类中取值都不会再改变。这个时候去百度,发现有挺多方法,都去试了一下,大部分不行(因为我是做框架层的,可能应用层可行),其中这些方法包括了:改变SharedPre

2016-08-22 18:32:46 3531

原创 InfiniteCycleViewPage的点击事件

最近在项目中有使用到GitHub超过4K个star的一个关于ViewPager的无限滑动的开源库,该库的主要效果如下所示:使用这个库之后UI效果是达到了,但是这Fragment没有点击事件,在Issues上面也有使用者询问了setOnClickListener事件,库主人也没有作出回答,网上搜索也没有相关资料,所以我用了一种非常规办法进行了点击事件,下面贴出代码希望帮忙以后使用此库的兄

2017-08-05 17:42:07 1154 1

原创 安卓UI相关开源项目库汇总

https://github.com/opendigg/awesome-github-android-ui#%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0点击打开链接

2017-08-03 16:51:12 339

转载 adb logcat命令查看并过滤android输出log

adb logcat命令查看并过滤android输出logcmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录。logcat日志中的优先级/tag标记:android输出的每一条日志都有一个标记和优先级与其关联。优先级是下面的字符,顺序是从低到高:V — 明细 verbose(最低优先级)

2016-08-17 17:33:06 579

原创 Activity生命周期与Activity调用栈分析(二)

一个Android应用程序功能一般会有许多Activity组成,每个Activity之间都是通过Intent进行连接,因此一个App会包含许多的Activity,而在Android系统中,是通过栈结构来保存整个App的Activity,栈底的元素是整个任务栈的发起者。一个合理的任务调度栈不仅是性能的保证,更是提供性能的基础。如果读者还不了解Activity的生命周期,可以先阅读这篇文章http

2016-08-12 20:30:09 313

原创 Activity生命周期与Activity调用栈分析(一)

Activity是整个Android App直接与用户交互的核心组件,了解Activity的生命周期是了解Android系统的基础。Activity的起源:Activity是与用户交互的第一接口,它提供了一个用户用户完成指定的窗口。当开发者创建Activity之后,通过调用setContentView(View)方法来个Activity指定一个显示的界面,并以此为基础提供给用户交互的接

2016-08-12 17:07:59 363

原创 使用自定义控件和ListView实现快速索引功能

实现的功能:主界面分为右侧的自定义控件,中间为一个ListView,如下图:   点击主界面右侧的A-Z字符,快递定位到ListView的item中汉字以该字母开头的数据。使用到第三方jar包,使用该jar包的由字符串得到拼音的功能。    实现的过程:                           1.创建自定义控件然后实现主界面右侧A-Z的绘画    

2016-06-16 00:55:57 670

原创 自定义继承ListView控件实现下拉刷新底部加载的实现

实现的功能:自定义控件实现顶部下拉刷新,底部加载更多的功能。实现的过程:首先自定义一个控件RefreshListView让其自定义ListView,然后分别创建RefreshListView的头部布局和尾部布局(即下拉刷新和上拉加载时显示的布局),然后分别将两个布局添加到RefreshListView控件中,然后所要做的事就是在代码中设置什么时候隐藏这两个控件什么时候显示控件,最后模拟下拉刷新

2016-05-20 01:20:49 417

原创 手机安全卫士第十天(总结篇)

手机安全卫士第十天实现的功能:手机程序锁功能。程序锁的原理:首先创建一个数据库,刚开始所有的程序都不在数据库里面,及查询到的数据都是未加锁应用,用户可以点击加锁按钮进应用进行加锁,点击之后该应用添加到数据库中。界面实现:首先创建一个应用锁界面,界面包括了两个Fragment,点击文字"已加锁"跳转到已加锁Fragment界面,点击"未加锁"跳转到未加锁Fragment界

2016-05-16 01:21:08 783

原创 手机安全卫士第九天

手机安全卫士第九天实现的功能:手机杀毒功能手机杀毒的原理:每个应用程序都会有对应的MD5值,我们只需要拿到应用程序的MD5值然后与病毒数据库中的值进行对比,若发现有相同的MD5值则判定为病毒文件,如没有相同的MD5值,也不能说明这不是一个病毒因为可能只是数据库中没有那个病毒的MD5。手机杀毒实现的过程:1: 创建杀毒页面AntiVirusActivity并创建对应的

2016-05-13 01:41:27 332

原创 手机安全卫士第八天

手机安全卫士第八天实现的功能:对第七天进程页面的补充,实现的对进程的清理。首先第一个实现的是点击一个ListView的item CheckBox的钩钩会发生相应的变化,由于CheckBox是Button的一个子类,所有CheckBox默认是获取item上的焦点的,为了给用户更好的体验(即不用特意点CheckBox,直接点item即可改变CheckBox),所有要使CheckBox失去焦点和

2016-05-10 22:37:18 302

原创 手机安全卫士第七天

手机安全卫士第七天实现的功能:1.短信备份。2.快捷图标的创建。3.进程的界面显示。首先进行的是短信备份功能,在高级工具布局文件中添加"短信备份",并处理其点击事件,点击之后备份短信到sd卡,备份短信需要使用内容提供者和解析者得到数据,然后用serializer进行xml存储,如果短信过多的话在主线程运行可能出现ANR,所有需要在子线程中进程存储,由于可能有经常改需求的必要

2016-05-10 00:34:00 336

原创 手机安全卫士第六天

手机安全卫士第六天实现的功能:1.软件管理(包括显示所有软件,并且区分用户软件和系统软件,并且可以对软件进行运行,删除,分享功能)。2.对软件界面特殊条目的处理。3.黑名单号码电话的拦截。在获取所有软件前,先得到用户手机里内存和sd卡的剩余存储控制并显示给用户,给用户一个友好的体验。直接可以使用API获取到内存大小,不过因为数目太大,要使用规范化进行提示。 //获取到r

2016-05-07 01:35:36 377

原创 手机安全卫士第五天

手机安全卫士第五天实现的功能:1.黑名单号码的增加,删除,修改。2.黑名单listView的优化。3.黑名单号码短信的拦截。首先创建一个数据库类,然后实现了创建一个数据库和一张张关于黑名单的表,然后再创建一个类BlackNumberDao,在该类实现关于表的增删改查。在该类的构造方法中创建,数据库,然后第一次创建数据库的时候创建一张表:public class Bl

2016-05-05 01:19:19 329

原创 腾讯管家之小火箭的实现

腾讯管家之小火箭的实现:腾讯管家在桌面任何时候都有一个小火箭提供给用户进行清理垃圾,这个小火箭只是一个悬浮窗,需要用到WindowManager系统服务,这个接口可以添加view到屏幕,也可以从屏幕删除view。它面向的对象一端是屏幕,另一端就是View。今天就是用WindowManager实现小火箭飞天案列。腾讯管家的小火箭显示在桌面上,那是一个服务进程,首先创建一个服务,在

2016-05-02 02:00:37 783

原创 手机安全卫士第四天

手机安全卫士第三天实现的功能:1.号码归属地的实现2.来电去电归属地的实现首先实现号码归属地,有两个实现方法:在网上找现成的API,内置一个数据库,这里采用第二种方法。首先将内置数据库存放在assats,然后保存到dada/data/包名/文件名下。代码如下: /** * 拷贝数据库 */ private void copyDB(String d

2016-05-01 01:51:50 280

原创 手机安全卫士第三天

手机安全卫士第三天实现的功能:1.向导页的手势滑动。2.首次绑定sim卡,并在重启的时候效验sim卡序列号是否相同。3.为发送进来的短信做一个广播监听,监听短信号码和内容。把号码和安全号码进行对比,内容和特殊指令进行对比。4.手动控制播放报警音乐和获取地理位置。首先向导页手势滑动功能的实现向导页手势滑动用到了一个GentureDetector类,在使用Genture

2016-04-30 01:52:02 354

原创 手机安全卫士第二天

手机安全卫士第二天实现的功能:1.自定义View和自定义属性让其实现了点击事件。2.两个弹窗一个用来设置密码一个用来进行密码效验,密码进行了MD5加密处理。3.手机防盗功能界面的实现(其中包括了状态选择器,9-Patch图片处理,跳转的动画)。4.shape形状的使用。首先进行了自定义View和自定义属性功能的实现1.开始用settingItemView继承了一个V

2016-04-27 23:27:44 266

原创 手机安全卫士第一天

手机安全卫士要实现的功能:手机防盗,通讯卫士,软件管理,进程管理,流量统计,手机杀毒,缓存清理等等常见功能。今天实现的功能:闪屏SplashActivity页面HomeActivity主页面的建立。         SplashActivity页面包括了展示logo和检查版本是否能够更新,项目初始化等等。         HomeActivity页面就仅仅用Gridview创建了一

2016-04-25 22:30:37 511

原创 代码版本管理

为什么需要代码版本控制:1.保存原来稳定的代码,方便修改。2.客户的多要求摇摆不定,方便交差。3.可以方便看到是谁修改了代码,谁干了什么活。4.和同时协同开发需要。5.工作量统计。6.项目源码版本的备份和记录。常见版本控制软件:1.CVS  2.SVN 3.ClearCase    4.VSS 5.GIT  第二个和第

2016-04-24 23:28:17 621

原创 Android Service的两种方式

Android Service提供了两种启动方式供我们选择。第一种是startService方式启动,这种方式就只是Activity中的任意控件用启动了Service,Activity与Service是没有什么关系的,这是仅仅的Activity通知Service你该启动了的意思。第二种是bindService方式启动,这种方式表示Activity与Service中建议起了练习,Activi

2016-03-13 21:36:26 445

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除