自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Whatever is worth doing is worth doing well.

Never put off the work till tomorrow what you can put off today.

  • 博客(230)
  • 资源 (14)
  • 收藏
  • 关注

原创 Android 图标上面添加提醒(二)使用开源UI类库 Viewbadger

上一篇讲到用canvas进行绘制得到对应最终的bitmap. 在实际应用中,我们除了给图标添加数字外,也有可能加一些红色方块之类的图标作为新功能的提醒.那么有没有什么方法,很方便地给图标添加提醒icon或者数字呢? 有的,还是得借助于开源项目ViewBadger,这个是github上的地址:https://github.com/jgilfelt/android-viewbadger

2013-08-21 11:25:59 24183 9

原创 Android 图标上面添加提醒(一)使用Canvas绘制

Android android图标上面添加数字(一)使用Canvas 在我们开发一些如通讯录、社交等应用或者应用添加新功能模块时,会考虑在对应的图标上加上未读信息的数量,或者是新功能提醒的图标,这样不占太大空间还能达到提示的目的. 之前在MMS分析部分,也有人问过我这种提醒的实现. 关于这种提醒的添加,我总结了下,有大概几种方法可以实现:

2013-08-21 09:02:09 8450

翻译 Android硬件加速

Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存。开启或关闭硬件加速: 由于硬件加速自身并非完美无缺,所以Android提供选项来打开或者关闭硬件加速,默认是关闭。可以在4个级别上打开或者关闭硬件加速:

2013-08-09 10:04:09 4391

原创 Android 天气预报图文字幕垂直滚动效果

在很多天气或者新闻的应用中,我们都能看到一些字幕滚动的效果,最简单的实现为跑马灯效果,用系统提供的属性即可实现. 复杂一些的就需要自己去用自定义控件实现. 比如 让TextView 实现垂直滚动. 这里我要讲的是垂直滚动的字幕效果,并且内容并不仅为文字,还可以加入图片或者其他元素

2013-08-06 08:43:54 9394 4

原创 Android 仿网易新闻v3.5:上下滑动的引导页

最近看了下网易新闻月初发布的3.5版,发现两个比较明显的改动:     1.引导页的修改,变为上下滑动. 2.增加了聚合阅读,里面的动画效果也是蛮有创意的.于是又禁不住模仿一下这次先看这个上下滑动的引导页效果图:这种效果具体怎么做呢?首先直接上github,直接看有没有相关的开源项目,果不其然,被我找到了:https://github

2013-07-22 08:50:48 30204 40

原创 Android WebView加载Html右边空白问题的解决方案

Android WebView右边空白问题的解决方案用WebView显示Html时,右边会出现一条空白区,如下图所示:

2013-07-21 12:46:49 11174 1

原创 Android 短信模块分析(八) MMS数据库表关系

表关系mmssms.db数据库中关键表的关系如图1.9所示,其中各表只是列出了主键和外键,具体的表定义参见1.7.1小节。simcontacts.db数据库中表的关系如图1.10所示:

2013-07-20 08:23:39 6177 7

原创 Android 短信模块分析(七) MMS数据库定义及结构整理

1.7.1 mmssms.db数据库mmssms.db中表的定义见表4.1至4.18所示:表4.1 addr(彩信地址)字段名类型描述备注_idINTEGER PRIMARY_KEY主键ID系统生成msg_idINTEGER

2013-07-19 09:04:56 15211 1

原创 Android 短信模块分析(六) 接收Wappush信息及彩信附件增加删除

wappush接收的时序图如图1.8所示:彩信附件增加删除彩信附件添加:在ComposeMessageActivity里的addAttachment(int type) 函数 根据type的不同,分成7个case    MediaSelectListActivity.ADD_IMAGEMediaSelectListActivity.TAKE_PICTURE

2013-07-19 08:49:56 6246

原创 Android 短信模块分析(五) MMS之彩信的发送与接收

1.4.2彩信发送  彩信比短信麻烦很多。从sendMmsWorker函数的参数就可以看出来:(conv, mmsUri, persister, slideshow, sendReq) 上下文,uri,PduPersister(彩信是用pdu的),slideshow 包含了所有的彩信信息,sendreq包含了mime封装mms时的headers,也包括了from,to等信息 。 1)函数

2013-07-18 09:25:25 10732

原创 Android 短信模块分析(四) MMS之短信的发送与接收

1.4信息发送com.android.mms.data.WorkingMessage.java 类 send()函数:  public void send() {      ......      if (requiresMms() || addressContainsEmailToMms(conv, msgTxt)) {           // 彩信

2013-07-17 09:11:54 13980 4

原创 Android 短信模块分析(三) MMS入口分析

在Mms中最重要的两个activity,一个是conversationList(短信列表) ,另一个就是ComposeMessageActivity(单个对话或者短信)。每个ComposeMessageActivity录属于一个conversation或者不属于任何conversation(无收件人草稿);每个converation由独立的threadId来相互区分。每个converation有一

2013-07-17 08:59:26 8161 1

原创 Android 短信模块分析(二) MMS中四大组件核心功能详解

一. Activity  1、ConversationList 对话列表界面,这是进入应用程序的主界面。它有两个配置属性android:configChanges="orientation|keyboardHidden":在Android系统中,当程序所运行的环境(如:屏幕方向、键盘状态、字体等级,等等 )发生变化后 会导致Activity被重新启动(以适应环境变化 ),然而 Activity

2013-07-16 08:46:52 14447 3

原创 Android 短信模块分析(一) Mms功能概述及源码目录结构分析

一. MMS功能描述: Mms是Multimedia messaging service的缩写,中文是多媒体信息服务。在android系统中,它支持SMS(Short Messaging Service)短信和MMS(Multimedia messaging service)彩信发送和接收;支持接收Wappush,Wappush又叫服务信息或者推入信息,是一种特殊格式的短信;同时还能主动接收B

2013-07-15 20:17:55 17705 6

原创 Android 读取APK签名信息

/** * 从APK中读取签名 * @param file * @return * @throws IOException */ private static List getSignaturesFromApk(File file) throws IOException { List signatures=new Array

2013-07-08 22:27:10 12608 8

原创 Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题

在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是存在安全性问题的,相应问题及解决如下:a、当应用程序发送某个广播时系统会将发送的Intent与系统中所有注册的BroadcastReceiver的IntentFilter进行匹配,若匹配成功则

2013-07-06 08:42:48 34533 5

翻译 Android 网络通信框架Volley简介(Google IO 2013)

1. 什么是Volley在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。这是Volley名称的由来:

2013-07-02 09:15:57 563684 68

原创 Android 保存图片到系统及相关问题的解决方案

在应用的图集中,通常会给用户提供保存图片的功能,让用户可以将自己喜欢的图片保存到系统相册中.这个功能其实很好做,系统提供了现成的API:简单的来说就这一行代码:MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", ""); 这个方法的返回值及为插入图片的路径String url = Me

2013-06-15 00:48:50 17924 6

原创 Android 仿大众点评团购购买条浮动效果

在大众点评团购中,有这样一个效果. 在具体的团购页面中商家图片下有一个购买条,当用户滚动团购详情界面的时候,购买条会停留在界面的最上方. 具体效果如图:                图1                                        图2大家可以看到,大众点评中,为了突出这个购买条,当向上滚动时,该滚动条会显示在最上面(如图2),而当用户滑动回来的时候,又

2013-06-12 16:27:51 19038 17

原创 Android 仿3g体育门户客户端赛事图标浮出效果

最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一个.  这个是原图:                       实际上是给图标的触摸事件中添加了一个缩放的动画,代码如下.package com.test;import android.app.Activity;import andro

2013-06-02 14:34:49 5443 1

原创 Android 打开地图并显示指定的经纬度

有的时候,我们需要在自己的应用中获取到经纬度,然后打开别的地图应用并显示该经纬度的当前位置. 前提是手机上已经安装了高德或者百度之类的地图应用. 如果有多个,系统会有一个默认的选择打开提示.下面是具体代码:Uri uri = Uri.parse("geo:38.899533,-77.036476");Intent it = new Intent(Intent.Action_VIEW,ur

2013-06-02 14:08:37 17198 2

原创 Android SERVICE后台服务进程的守护

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持,就会被其杀掉。在早些时候,我们可以通过在1. service中重写onStartCommand方法,这个方法有三个返回值, START_STICKY是service被kill掉后

2013-05-27 22:25:19 67595 42

转载 严苛模式(StrictMode)

Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Google称该特性已经使数百个Android上的Google应用程序受益。那它都做什么呢?它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。你可以强制用警告代替崩溃(crash),也可以仅将警告计入日志,让你的

2013-05-02 21:08:53 4445

原创 Android 防止控件被重复点击

在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.解决的思路如下: 1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间. 2. 每次点击前需要进行判断, 用lastClickTime 和当

2012-11-09 08:51:03 18123 12

原创 高仿优酷Android客户端图片左右滑动(自动切换)

本例是用ViewPager去做的实现,支持自动滑动和手动滑动,不仅优酷网,实际上有很多商城和门户网站都有类似的实现:具体思路:1. 工程中需要添加android-support-v4.jar,才能使用ViewPager控件.2. 图片的自动切换: 可使用Timer或者ScheduledExecutorService,这个有多重方式可以实现.    同时要切换底部的dots(园点

2012-11-08 08:54:59 50714 36

翻译 Android ActionBar详解(三):ActionBar实现切换Tabs标签

实现切换Tabs标签;    Activity代码:   public class ActionBarTabs extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(

2012-11-04 10:37:38 8708 2

翻译 Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航

一.添加标签 Tabs  在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected、onTabUnselected和onTabReselected方法来关联Fragment。代码如下:private class MyTabListener implements ActionBar.TabList

2012-11-04 10:31:47 24869 1

翻译 Android ActionBar详解(一):ActionBar概述及其创建

在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控。  Action Bar主要功能包含:  1. 显示选项菜单  2. 提供标签页的切换方式的导航功能,可以切换多个

2012-10-28 10:25:17 11723

翻译 Android Fragment详解(六):Fragement示例

把条目添加到动作栏你的fragment们可以向activity的菜单(按Manu键时出现的东西)添加项,同时也可向动作栏(界面中顶部的那个区域)添加条目,这都需通过实现方法onCreateOptionManu()来完成。你从fragment添加到菜单的任何条目,都会出现在现有菜单项之后。Fragment之后可以通过方法onOptionsItemSelected()来响应自己的菜单项被选择的

2012-10-28 10:09:23 11641 9

翻译 Android Fragment详解(五):Fragment与Activity通讯

与activity通讯尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。Fragment可以调用getActivity()方法很容易的得到它所在的activity的对象,然后就可以查找activity中的控件们(findViewById())。例如:ViewlistView =ge

2012-10-27 21:44:45 97955 11

翻译 Android Fragment详解(四):管理Fragment

要管理fragment们,需使用FragmentManager,要获取它,需在activity中调用方法getFragmentManager()。你可以用FragmentManager来做以上事情:1使用方法findFragmentById()或findFragmentByTag(),获取activity中已存在的fragment们。2使用方法popBackStack()从ac

2012-10-27 21:31:01 33346 2

翻译 Android Fragment详解(三): 实现Fragment的界面

为fragment添加用户界面:    Fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中。 一个    要为fragment提供layout,你必须实现onCreateView()回调方法,然后在这个方法中返回一个View对象,这个对象是fragment的layout的根。    注:如果你的fragment是从L

2012-10-24 08:51:34 20560 1

翻译 Android Fragment详解(二):Fragment创建及其生命周期

Fragments的生命周期     每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件。 对应生命周期可参考下图:创建片元(Creating a Fragment)To create a fragment, you must create a subclass of Fragment (or an existing subclas

2012-10-23 21:17:39 67033 9

翻译 Android Fragment详解(一):概述

Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。Fragment不能独立存在,它必须嵌入到activit

2012-10-23 09:19:51 17114 4

原创 自动构建工具Ant深入剖析(四) 使用CVS及自定义任务

使用CVS:  CVS任务的主要属性是 cvsRoot,它是对 CVS 库的完整引用,包括连接方法和用户详细信息。  这个参数的格式如下  [:method:][[user][:password]@]hostname[:[port]]/path/to/repository 提取是 CVS 任务的默认操作;其他操作可通过使用command 属性来指定使用自定义任务进行

2012-10-16 21:09:34 2307

原创 自动构建工具Ant深入剖析(三) Ant目标深度详解、使用Ant的各种任务

从命令行运行Ant:       从命令提示符调用 Ant 可以简单得只需键入单独的 ant。如果您这样做,Ant 将使用默认的生成文件;该生成文件中指定的默认目标就是 Ant 尝试要生成的目标。还可以指定许多命令行选项,后面跟着任意数量的生成目标,Ant 将按顺序生成这其中的每个目标,并在此过程中解决所有依赖关系. 命令行选项:       默认情况下,Ant 寻找一个名为bui

2012-10-14 17:43:24 2640

原创 自动构建工具Ant深入剖析(二) Ant属性、目标、依赖深度详解

首先看一个示例XML文件:A simple project introducing the use of descriptive tags in Ant build files.可以看出,XML 注释可以使用在整个生成文件中以提高清晰性。而且,Ant 定义了它自己的description 元素和 description 属性,它们可用于提供更结构化的注释。Ant

2012-10-11 23:15:19 3753

转载 Android4.0新增API

Android 4.0 平台特性API等级:14 Android4.0 是一次重要的平台发布版,为用户和应用程序开发者增加了大量的新特性。在下面我们将讨论的所有新特性和API中,因为它将 Android 3.x 版本中广泛使用的API和全息图像主题带给了小屏幕设备,因此我们说 Android 4.0 是一次重要的平台发布版。作为一名开发者,现在你拥有了单一的平台和统一的 API 框

2012-10-11 22:49:36 3094

原创 自动构建工具Ant深入剖析(一) 配置环境及初步使用

Ant 是什么?Apache Ant 是一个基于 Java 的生成工具。据最初的创始人 James Duncan Davidson 介绍,这个工具的名称是 another neat tool(另一个整洁的工具) 的首字母缩写。Ant的作用:生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式)。随着应用程序的生成过程变得更加复

2012-09-13 10:32:18 3264

原创 使用Ant 实现批量打包Android应用

由于公司运维需要以及应用中需要加上应用推广的统计,往往要对应二三十个渠道,按照正常方法一个一个的去生成不同渠道包的应用,不仅浪费了时间,而且大大降低了效率.上一篇讲到使用Ant进行Zip/Tar包的解压缩,实际上Ant工具不仅仅具有此类功能,它更强大的地方在于自动化调用程序完成项目的编译,打包,测试等. 类似于C语言中的make脚本完成这些工作的批处理任务. 不同于MakeFile的是,Ant

2012-09-08 09:21:39 6776 4

android-support-multidex.jar

使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚.Google在API 21中提供了通用的解决方案,那就是android-support-multidex.jar. 这个jar包最低可以支持到API 4的版本(Android L及以上版本会默认支持mutidex).

2014-11-10

Android IOS风格侧边栏效果

Android IOS风格侧边栏效果,ReisdeMenu 创意灵感来自于Dribbble(Dribbble是一个面向创作家、艺术工作者、设计师等创意类作品的人群,提供作品在线服务,供网友在线查看已经完成的作品,或者正在创作的作品.). 得益于Dribbble,这种IOS7风格的侧边栏首先应用在IOS上得到了实现:

2013-12-24

C语言函数速查手册

C语言函数速查手册,方便C语言开发,中文CHM格式函数文档

2013-11-11

LInux C函数中文手册

LInux C函数中文手册,详细讲解了Liunx下编程所用到的函数,中文,Chm格式,方便开发使用

2013-11-11

WebView思维导图

WebKit及WebView相关知识的详细介绍,注意:此文件为思维导图文件,打开需要安装Mind Mananger.

2013-11-06

Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果

Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果

2013-10-29

Android 仿PhotoShop调色板

Android 仿PhotoShop调色板,非常复杂的颜色选择器,而且完全可以媲美PhotoShop中的调色板.

2013-09-11

Android ApiDemos

Android ApiDemos ,包含各种控件,绘图,四大组件等具体实例

2013-08-25

android图标上面添加提醒

android图标上面添加提醒.,利用开源项目ViewBadger,非常方便地给任意View添加提醒图标或者数字

2013-08-20

Android垂直滚动的图文混排字幕效果

Android垂直滚动的图文混排字幕效果

2013-08-05

仿网易新闻3.5版上下滑动引导页

仿网易新闻3.5版上下滑动引导页,利用开源项目Android-DirectionalViewPager实现的上下互动引导页

2013-07-21

GoogleIO2013 Android快速联网框架Volley

GoogleIO2013 Android快速联网框架Volley Volley提供的功能 JSON,图像等的异步下载; 网络请求的排序(scheduling) 网络请求的优先级处理 缓存 多级别取消请求 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

2013-07-02

Android 错误信息捕获发送至服务器

Android 错误信息捕获发送至服务器

2012-08-24

Android 高仿【优酷】圆盘旋转菜单 的实现

Android 高仿【优酷】圆盘旋转菜单 的实现

2012-08-22

空空如也

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

TA关注的人

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