自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (31)
  • 收藏
  • 关注

原创 ArkUI实战,自定义饼状图组件PieChart

本节笔者带领读者实现一个 OpenHarmony 版本的饼状图组件 PieChart。

2023-02-23 00:49:44 748

原创 ArkUI实战,自定义下拉刷新组件RefreshList

下拉刷新是一个高频使用的功能,ArkUI 开发框架也提供了下拉刷新组件 Refresh ,该组件的使用非常简单,读者可参阅笔者在《ArkUI实战》第六章 第 5 小节 的介绍,本文笔者讲解一下笔者在项目上实现的一个下拉刷新组件 RefreshList

2023-02-15 22:58:20 851 1

原创 ArkUI实战,深入浅出OpenHarmony应用开发

在学习 OpenHarmony 应用开发的时候经常去 OpenHarmony 的相关仓库查看文档,有时候找文档并不是很顺利,于是自费建设了该网站,利用业余时间写了这本入门的《ArkUI实战》电子书把它挂到网站上,希望能给大家带来一点帮助,也算为 OpenHarmony 的发展做一点贡献吧。

2022-05-24 15:10:41 1982

原创 Flutter源码系列之《一》Flutter的热更新探索(下)

在前两篇文章Flutter源码系列之《一》Flutter的热更新探索(上)和Flutter源码系列之《一》Flutter的热更新探索(中)我们分析了Flutter引擎的初始化流程,然后根据启动流程找到了实现热修复的方法,原理就是使用Hook的方式替换系统的FlutterLoader从而实现了代码热修复功能,当时在采用Hook的方式的时候有提到还有其他方式实现热修复功能,今天我们就尝试使用新的方式实现热修复,这篇文章是在前边两篇文章的基础上写的,在阅读这篇文章之前最好有看过前边的两篇文章。

2020-04-13 13:21:11 1767 3

原创 Flutter源码系列之《二》浅谈Flutter的状态管理库Provider

Flutter开发过程中一个常见的问题就是状态管理,所谓状态管理就是管理Flutter的Widget状态,对于Flutter的状态管理,社区上已有多种成熟的方案:Provider、Redux、MobX、BLoC等。在这些方案里Google建议我们使用Provider,接下来我们就学习下Provider,看它是如何做到的状态管理,在了解其原理之前,我们先看下它的使用。

2020-04-11 13:31:34 1336

原创 Flutter源码系列之《一》Flutter的热更新探索(中)

在上篇文章Flutter源码系列之<一>Flutter的热更新探索(上)我们分析了Flutter的加载流程,找到了实现热更新的方法,接下来我们开始实现热更新功能。

2020-02-22 21:57:45 1050

原创 Flutter源码系列之《一》Flutter的热更新探索(上)

在Google发布Flutter之后我一直对它保持很高的热情,尤其是Flutter支持热更新,但在1.7.8版本之后由于某些原因Google屏蔽了热更新功能,这着实让让人失落……于是抽了点时间研究了一下Flutter的加载过程,目的是找到可以实现热更新的方式

2020-02-22 21:56:20 2419

原创 Android 源码系列之《二十二》从源码的角度深入理解Java的动态代理机制(下)

转载请注明出处:https://blog.csdn.net/llew2011/article/details/85928756在上篇文章Android 源码系列之《二十二》从源码的角度深入理解Java的动态代理机制(上)中我们讲解了如何通过动态代理解决在HuaWei手机Android 9.0版本中注册BroadcastReceiver超过1000引发应用crash的问题,但这种解决方式并不太合...

2019-02-28 20:27:08 332

原创 Android 源码系列之《二十二》从源码的角度深入理解Java的动态代理机制(上)

转载请注明出处:https://blog.csdn.net/llew2011/article/details/85923036在上篇文章:Android 源码系列之&lt;二十&gt;通过反射解决在HuaWei手机出现Register too many Broadcast Receivers的crash的文章中,我们分析了在HuaWei手机Android 8.1及以下版本中动态注册Broad...

2019-01-27 18:08:16 1527 1

原创 Android 源码系列之【二十一】从源码的角度深入理解SafeIterableMap

转载请注明出处:https://blog.csdn.net/llew2011/article/details/85222413说起HashMap想必小伙伴们都非常熟悉吧,它出现在面试中的概率是很高的,网上有很多文章对它的实现原理做了详细的分析,这里不再做过多的论述,今天给大家带来的是一个新的集合类SafeIterableMap,直接看名字貌似是一个Map类,但是它并没有实现Map接口,而是采用...

2018-12-31 23:55:29 991

原创 Android 源码系列之<二十>通过反射解决在HuaWei手机出现Register too many Broadcast Receivers的crash

Android开发适配问题一直是一个让人头疼的话题,由于国内很多厂商都有对原生Android系统做不同的定制,结果导致适配起来很麻烦。印象最深的一个适配是让Notification的背景色做到和系统通知栏背景色一致,然后就是想各种办法做适配……近来在Bugly上查看统计APP的crash日志的时候发现有一个crash日志很诡异,该crash只发生在HuaWei手机上,截取部分Crash日志如下所示:

2018-01-13 23:25:05 13685 16

原创 Android 源码系列之<十九>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<下>

前边两篇文章Android 源码系列之<十七>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<上>和Android 源码系列之<十八>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<中>里主要讲解了如何自定义Gradle Plugin,然后利用自定义的Gradle Plugin插件来修复项目中引用的第三方Jar包中的bug的方法,其核心就是利用开源库Javassist修复第三方Jar包中的class文件,然后在项目打包的时候把修复过的Jar包打包进项目中从而达到修

2017-12-04 17:54:44 1329 3

原创 Android 源码系列之<十八>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<中>

在上篇文章Android 源码系列之<十七>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<上>中由于篇幅原因我们主要讲解了如何创建自定义Gradle Plugin以及修复第三方Jar包中的bug的思路,如果你还没看过上篇文章,强烈建议阅读一下。这篇文章就带领小伙伴们借助Javassist开源库实现对class文件的修改。

2017-11-16 10:52:28 2116 8

原创 Android 源码系列之<十七>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<上>

我们在开发中经常用到一些优秀的第三方库,比如okhttp,glide,butterknife等。这些库不仅提高了开发效率而且避免踩坑,假如在应用中这些开源库出现了bug,我们随时可以从GitHub下载源码进行bug修改。但是项目中使用的库不是开源的并且该库又存在bug,由于没有源码也就无法进行bug的修复,一般做法就是给非开源库的作者或组织反馈bug等他们进行修复,如果他们修复的及时还好说,一旦他们更新不及时就会给我们APP造成不好影响(比如用户流失)……这篇文章我就给小伙伴们讲解一下如何自定义Gradle

2017-11-15 15:00:20 5558 3

原创 Android 源码系列之<十六>,深入浅出WebSocket,打造自己的即时聊天交互系统<下>

在上篇文章Android 源码系列之<十五>,深入浅出WebSocket,打造自己的即时聊天交互系统<上>中主要讲解了WebSocket协议,然后通过实战方式展示了WebSocket的通信过程,这篇文章我将从源码的角度带领小伙伴们深入理解一下autobahn以及okhttp的Socket通信源码,如果你对上述项目的WebSocket实现比较清楚了,请跳过本文(*^__^*) ……

2017-08-07 17:55:42 13864 2

原创 Android 源码系列之<十五>,深入浅出WebSocket,打造自己的即时聊天交互系统<上>

做Java开发的小伙伴们应该对Socket比较熟悉,在J2SE的Socket编程这一章节中专门对Socket通信做了详细介绍,当时自学完该章节后只知道Socket是端到端通信的,Server端根据指定端口打开Socket链接,然后等待客户端来连接;客户端根据Server端IP地址和端口创建一个Socket通道,根据该通道和Server端进行通信。后来在工作中有使用Socket通信,使用场景是聊天和推送,当时为了项目进度就在GitHub上找了一个不错的开源库autobahn-java中应用在项目中,功能实现之

2017-06-07 09:24:56 4917 1

原创 Android 源码系列之<十四>从源码的角度深入理解LeakCanary的内存泄露检测机制(下)

在上边文章Android 源码系列之<十三>从源码的角度深入理解LeakCanary的内存泄露检测机制(中)由于篇幅原因仅仅向小伙伴们讲述了在Android开发中如何使用LeakCanary来检测应用中出现的内存泄露,并简单的介绍了LeakCanary的相关配置信息。根据上篇文章的介绍我们知道LeakCanary为了不给APP进程造成影响所以新开启了一个进程,在新开启的进程中做内存泄露检测,这篇文章将要带领小伙伴们从源码的角度出发深入了解一下LeakCanary的内存泄露检测机制,希望能给小伙伴们一点帮助,

2016-12-12 09:14:57 9834 1

原创 Android 源码系列之<十三>从源码的角度深入理解LeakCanary的内存泄露检测机制(中)

在上篇文章Android 源码系列之<十二>从源码的角度深入理解LeakCanary的内存泄露检测机制(上)中主要介绍了Java内存分配相关的知识以及在Android开发中可能遇见的各种内存泄露情况以及相对应的解决方案,如果你还没有看过上篇文章,建议点击这里阅读一下,这篇文章我将要向大家介绍如何在我们的应用中使用square开源的LeakCanary库来检测应用中出现的内存泄露,如果你已经对LeakCanary的使用非常熟悉了请跳过本文(*^__^*) ……

2016-11-14 07:47:20 7045

原创 Android 源码系列之<十二>从源码的角度深入理解LeakCanary的内存泄露检测机制(上)

提到内存泄露有的小伙伴们可能遇见过,处理起来是非常棘手的。记得刚从事Android开发那会手机主流版本还是2.2的,手机内存普遍都很小,开发的时候在处理耗用内存过大的对象(比如Bitmap等)上,稍有不慎就会出现OOM,这很让人头疼,更为头疼的是发版后还是会收到有关OOM的反馈。为了解决OOM的问题就反复查代码捋逻辑,然后借助MAT工具来分析可能引发的内存泄露点,但是MAT使用起来很麻烦……直到去年著名的开源组织square在github上开源了著名的内存泄露检测库LeakCanary,它是专门用来检测内存

2016-11-09 09:03:19 3701

原创 Android 源码系列之<十一>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(下)

在上篇文章Android 源码系列之<十>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(上)中我们讲解了通过AccessibilityService实现自动安装APK小外挂的操作流程,如果你还没有看过上篇文章请点击这里。在这篇文章中我将带领小伙伴从源码的角度来深入学习一下AccessibilityServie的技术实现原理,希望这篇文章能给小伙伴们一点帮助,如果你对这块很熟悉了,恭喜你可以过本文了(*^__^*) ……

2016-11-01 09:10:45 8146 4

原创 Android 源码系列之<十>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(上)

说起外挂特别是玩游戏的小伙伴估计对它很熟悉,肯定有部分小伙伴使用过,至于为什么使用它,你懂得(*^__^*) ……我最早接触外挂是在大二的时候,那时候盛行玩QQ农场,早上一睁眼就是打开电脑先把自己的菜收了,收完之后再去偷别人的;后来童靴说非凡软件上有一个偷菜外挂,于是赶紧整了一个,有了外挂之后就告别了体力时代,省时又省力……既然在PC上有外挂,那在智能手机上可以做外挂呢?答案是OK的,今天这篇文章就是讲解一下如何在Android设备上制作自己的小外挂,需要说明的是本文仅仅做技术交流……

2016-10-24 17:55:03 15407 3

原创 Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果

去年春节的时候支付宝推行的集福娃活动着实火的不能再火了,更给力的是春晚又可以全民参与咻一咻抽奖活动集齐福娃就可平分亿元大红包,只可惜少了敬业福……在支付宝的咻一咻页面有个雷达扩散的动画效果,当时感觉动画效果非常棒,于是私下尝试着实现了类似的效果,后来在github发现有大神也写有类似效果,于是读了一下大神的代码发现我们的核心思想都是一样的,只是细节不同,然后我就择其善者而从之,把两份代码整合了一下......

2016-10-17 07:55:49 4930 1

原创 Android UI设计之<十三>自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

之前写过一篇Android UI设计之<十>自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果的文章,写完那篇文章后想趁热打铁再写一篇用ScrollView来实现同样效果的文章,可是写了点开头就没有继续写下去了,当时想的是等用到再写吧,于是把它扔在了草稿箱中。近来恰好有用到,赶紧就把该文章补充完整发表出来,希望能给大家一点帮助......

2016-10-08 08:09:31 6628 2

原创 Android 源码系列之<九>从源码的角度深入理解Activity的launchModel特性

本文主要通过在实际开发过程中遇见的两个APP相互打开出现运行在同一个任务栈的情况带领我们排查问题并找出问题所在,然后引出要讲解的重点:Activity的launchMode属性,最后结合案例列出了常见的各种情形并给出了总结。文中为了更清楚的查看当前任务的返回栈的情况,介绍了adb shell dumpsys activity activities命令……

2016-09-26 08:23:20 5063

原创 Android 源码系列之<八>从源码的角度深入理解缓存策略之LruCache

在Android开发中缓存技术应用的十分广泛,我们最长见的是对图片进行缓存毕竟图片很耗内存的,目前比较著名的图片加载库比如Android-Universal-Image-Loader等都使用了缓存技术。缓存可分为三级,可分别表述为内存缓存、硬盘缓存和网络缓存,他们的加载顺序一般都是内存缓存→硬盘缓存→网络缓存。为了便于使用内存缓存,Google在其V4包中给我们提供了LruCache类,该类很重要,在面试的过程中也会经常会问到。今天我们就从源码的角度来深入理解LruCache类。如果你对LruCache非常

2016-08-01 07:54:19 1862

原创 Android UI设计之<十二>自定义View,实现绚丽的字体大小控制控件FontSliderBar

了解iOS的同学应该知道在iOS中有个UISliderBar控件,在iPhone手机中的设置文字大小中使用了该控件。近来产品提的需求中有一个是更改APP中部分字体大小,虽然技术难度不大但工作量还是有的,思路是利用LayoutInflater.Factory实现的(如果你对LayoutInflater.Factory不熟悉可以阅读之前写的Android 源码系列之<四>从源码的角度深入理解LayoutInflater.Factory之主题切换系类文章)。UI是参考iOS的UISliderBar设计的,而And

2016-07-11 07:45:57 6583 23

原创 Android UI设计之<十一>自定义ViewGroup,打造通用的关闭键盘小控件ImeObserverLayout

之前产品那边提了这样的需求:用户输入完信息后要求点击非输入框时要把软键盘隐藏。当时看到这个需求觉得没啥难度也比较实际,于是晕晕乎乎的就实现了,可后来产品那边说了只要有输入框的页面全都要按照这个逻辑来,美其名曰用户体验……当时项目中带有输入框的页面不少,如果每个页面都写一遍逻辑,这就严重违背了《重构,改善既有代码的设计》这本书中的说的事不过三原则(事不过三原则说的是如果同样的逻辑代码如果写过三遍以上,就要考虑重构)。于是当时花了点时间搞了个通用的轻量级的关闭键盘的小控件ImeObserverLayout……

2016-06-20 07:46:21 5403 8

原创 Android UI设计之<十>自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

好久没有写有关UI的博客了,刚刚翻了一下之前的博客,最近一篇有关UI的博客是在2014年写的:Android UI设计之<七>自定义Dialog,实现各种风格效果的对话框。近来项目有个需求,要做个和QQ空间类似的菜单栏透明度渐变和下拉刷新带有阻尼回弹的效果。于是花点时间动手试了试,基本上达到了QQ空间的效果

2016-06-06 07:52:24 10734 8

原创 Android 源码系列之<七>从源码的角度深入理解IntentService及HandlerThread

提起Service大家都很熟悉,它乃Android四(si)大(da)组(jing)件(gang)之一。但是说起IntentService有童靴或许有点陌生,看名字感觉和Service有关连。不错,不仅有关联而且关系还不一般,IntentService是Service的子类,所以它也是正宗的Service,由于IntentService借助了HandlerThread,我们今天就从源码的角度巴拉一下IntentService及HandlerThread,看看它们是何方神圣,如果你对它们非常熟悉,请跳过本文(

2016-05-30 07:47:32 4955

原创 Android 源码系列之<六>从源码的角度深入理解LayoutInflater.Factory之主题切换(下)

在上篇文章中我们实现了在当前Activity进行主题切换的功能,如果你还没阅读过上篇文章请点击这里,在上篇文章结尾阐述了其中的不足,比如代码通用性以及页面跳转之后进行主题切换,返回之后无效果等,这篇文章主要是来解决以上问题的。

2016-05-14 11:25:32 3195 16

原创 Android 源码系列之<五>从源码的角度深入理解LayoutInflater.Factory之主题切换(中)

在上篇文章中我们主要讲解了LayoutInflater渲染xml布局文件的流程,文中讲到如果在渲染之前为LayoutInflater设置了Factory,那么在渲染每一个View视图时都会调用Factory的onCreateView()方法,因此可以拿onCreateView()方法做切入口实现主题切换功能。如果你不清楚LayoutInflater的渲染流程,请点击这里。今天我们就从实战出发来实现自己的主题切换功能。

2016-05-09 18:00:51 4525 7

原创 Android 源码系列之<四>从源码的角度深入理解LayoutInflater.Factory之主题切换(上)

现在越来越多的APP都加入了换肤功能或者是日间模式和夜间模式等,这些功能不仅增加了用户体验也增强了用户好感,众所周知QQ和网易新闻的APP做的用户体验都非常好,它们都有日间模式和夜间模式的主题切换。实现主题切换的效果大部分是更换相关背景、字体颜色等,网上这篇文章对换肤讲解的比较不错,今天我们也是来从源码的角度来理解一下主题切换功能,如果你对这块非常熟悉了,请跳过本文(*^__^*) …

2016-05-04 18:16:22 8903 8

原创 Android 源码系列之<三>从安全的角度深入理解BroadcastReceiver(下)

在上一篇文章中我们结合实验讲解了有关使用BroadcastReceiver存在的安全性问题并且给出了相应的解决方案,如果你还没有看过上篇文章请点击这里,最后一条的解决方案是采用官方v4包中的LocalBroadcastManager来解决的,官方介绍说这种方式不仅安全而且更高效,今天我们就从源码的角度来了解一下LocalBroadcastManager,如果你对它非常熟悉,可以跳过本文了(*^__^*)

2016-04-24 13:21:19 4586

原创 Android 源码系列之<二>从安全的角度深入理解BroadcastReceiver(上)

提起BroadcastReceiver大家都很熟悉,它和Activity,Service以及ContentProvider并称为Android的四大组件(四大金刚),可见BroadcastReceiver的重要性,今天我们主要从安全的角度来讲解称为四大组件之一的BroadcastReceiver。

2016-04-21 10:34:46 2804

原创 Android React-Native系列之<二>零基础学习React-Native控件之View

在上一篇博文中已经讲解了React-Native开发环境的搭建流程,还没有搭建好环境的童靴可以参照Android React-Native系列之<一>零基础搭建React-Native开发环境或者是参照其他大神的博文。今天主要讲解的是React-Native下的View组件的学习,如果你已经掌握了View控件的相关知识那你就可以跳过本文了(*^__^*)......

2016-04-08 17:39:36 3036

原创 Android React-Native系列之<一>零基础搭建React-Native开发环境

很早就听说过大名鼎鼎的React-Native了(不大清楚的童靴们可以自行了解,这里不再详述),由于进来公司业务不是太繁忙,恰好可以有时间来学习一下RN,我们知道学习任何一门语言,搭建环境是第一步,本篇博文主要是来介绍RN的环境搭建流程。

2016-04-05 22:58:38 10841 1

原创 Android 源码系列之<一>从源码的角度深入理解ImageView的ScaleType属性

做Android开发的童靴们肯定对系统自带的控件使用的都非常熟悉,比如Button、TextView、ImageView等。如果你问我具体使用,我会给说:拿ImageView来说吧,首先创建一个新的项目,在项目布局文件中应用ImageView控件,代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/an

2016-03-25 20:29:04 4144 2

原创 Android UI设计之<七>自定义Dialog,实现各种风格效果的对话框

虽然Android给我们提供了众多组件,但是使用起来都不是很方便,我们开发的APK都有自己的风格,如果使用了系统自带的组件,总是觉得和应用的主题不着边际并且看起来也不顺心,那我们就需要自定义了,为了方便大家对自定义组件的学习,我接下来准备了几遍有关自定义的Dialog的文章,希望对大家有帮助。

2014-07-08 20:23:09 3315

原创 Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示

搞软件开发的都知道项目中各种需求都有,而有时候各种奇葩的需求真是让人大跌眼镜,为了实现这些奇葩的需求我们往往苦逼的废寝忘食,我现在的项目中就有一个应该算得上奇葩的需求吧,需求是这样的:在一段文字中实现对部分文字加粗

2014-06-25 10:40:39 12869

原创 Android UI设计之<五>自定义DrawView组件,实现数字签名效果

提起到数字签名这个东西,感觉有点高端,刚k

2014-06-21 00:08:44 4763 4

Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果

Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果,详见:http://blog.csdn.net/llew2011/article/details/52801147

2016-10-16

Android UI设计之<十三>自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

Android UI设计之<十三>自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果;详见:http://blog.csdn.net/llew2011/article/details/51559694

2016-10-09

自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

Android UI设计之<十三>自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果,详http://blog.csdn.net/llew2011/article/details/52626148

2016-10-09

自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

Android UI设计之自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果,详见:http://blog.csdn.net/llew2011/article/details/51559694

2016-06-06

Android LayoutInflater.Factory主题切换

通过LayoutInflater.Factory实现主题切换功能,详见:http://blog.csdn.net/llew2011

2016-05-13

自定义Dialog,实现各种风格效果的对话框

自定义Dialog,实现各种风格效果的对话框 详细说明请见:http://blog.csdn.net/llew2011

2014-07-08

Android自定义DrawView组件实现数字签名效果

Android自定义DrawView组件,实现数字签名效果 详细使用请查看:http://blog.csdn.net/llew2011

2014-06-21

Android自定义属性实现带边框效果的TextView

Android自定义属性实现带边框效果的TextView,详细使用请查看:http://blog.csdn.net/llew2011

2014-06-13

Android自定义EditText实现带清除功能的输入框

Android自定义EditText,实现带清除功能的输入框

2014-06-06

自定义SwitchButton实现IOS中的UISwitch动画效果

自定义SwitchButton实现IOS中的UISwitch动画效果

2014-06-03

Android使用ImageView仿照ProgressBar旋转效果

主要是使用了ImageView和AnimationDrawable组合的方式来实现ProgressBar的旋转效果

2014-05-30

IOS 6 Programming Cookbook 中文版

IOS 6 Programming Cookbook 中文版 从DevDiv处下载

2013-09-17

android应用开发

第一篇 基础篇 第1章 Android概述 2 1.1 Android的前世今生 3 1.1.1 Android的产生 3 1.1.2 Android的发展 3 1.2 Android的平台架构及特性 4 1.2.1 Android平台特性 5 1.2.2 Android平台架构 5 1.3 Android Market 7 1.4 Android应用程序组件 8 1.4.1 Activity 9 1.4.2 Service 9 1.4.3 Broadcast Receiver 9 1.4.4 ContentProvider 9 1.4.5 View 10 1.4.6 Intent 10 1.5 Android与Java ME的区别与联系 10 1.5.1 二者的区别 10 1.5.2 二者的联系 10 1.5.3 各自的优势 11 第2章 Android开发基础 12 2.1 Android开发环境的搭建 12 2.1.1 下载Android SDK 13 2.1.2 下载安装JDK 15 2.1.3 下载Eclipse 16 2.1.4 下载安装ADT 16 2.2 Android常用工具的使用 18 2.2.1 创建Android Virtual Devices(AVD) 18 2.2.2 模拟器(Emulator)的使用 20 2.2.3 Android Debug Bridge(ADB)的使用 20 2.2.4 Dalvik Debug Monitor Service(DDMS)的使用 21 2.2.5 Android Asset Packaging Tool(AAPT)的使用 22 2.2.6 DX的使用 22 2.2.7 mksdcard的使用 22 2.3 我的第一个Android应用 22 2.3.1 纯手工创建一个Android应用 22 2.3.2 使用Eclipse创建一个Android应用 25 第二篇 技术篇 第3章 Android中的资源访问 32 3.1 资源简介 33 3.1.1 资源的类型和布局 33 3.1.2 资源文件的使用 33 3.2 使用颜色(color)资源 35 3.2.1 颜色值定义 35 3.2.2 颜色资源XML文件的定义 35 3.2.3 使用颜色资源 36 3.3 使用字符串(string)资源 37 3.3.1 字符串资源XML文件的定义 37 3.3.2 字符串资源XML文件的使用 38 3.4 使用尺寸(dimen)资源 39 3.4.1 Android中支持的尺寸单位 39 3.4.2 尺寸资源XML文件的定义 40 3.4.3 尺寸资源XML文件的使用 40 3.5 使用原始XML资源 42 3.5.1 原始XML资源文件的定义 42 3.5.2 原始XML文件的使用 42 3.6 使用drawables资源 45 3.7 使用布局(layout)资源 47 3.7.1 布局文件的定义 47 3.7.2 布局文件的使用 48 3.8 使用菜单(menu)资源 49 3.8.1 菜单资源文件的定义 50 3.8.2 菜单资源文件的使用 51 第4章 Android用户界面 55 4.1 菜单 55 4.1.1 选项菜单(Option Menu) 56 4.1.2 上下文菜单(Context Menu) 57 4.1.3 子菜单(Sub Menu) 59 4.2 对话框 61 4.3 提示信息(Toast) 64 4.4 事件处理 66 4.4.1 事件处理机制 66 4.4.2 Android中的事件监听器 68 4.4.3 事件处理步骤 69 4.5 布局管理(Layout) 72 4.5.1 线性布局 73 4.5.2 帧布局 75 4.5.3 表格布局 76 4.5.4 相对布局 77 4.5.5 绝对布局 78 4.6 组件(Widget) 79 4.6.1 常用组件 79 4.6.2 自动完成文本框(AutoCompleteTextView) 86 4.6.3 选项卡(Tab) 88 4.6.4 进度条(ProgressBar) 91 4.6.5 日期、时间选择对话框(DataPickerDialog、TimePickerDialog) 95 4.6.6 列表视图(ListView) 97 4.6.7 网格视图(GridView) 99 4.6.8 画廊视图(Gallery) 101 4.6.9 地图视图(MapView) 105 4.6.10 网络视图(WebView) 108 第5章 Android基本程序单元Activity 111 5.1 何谓回调 111 5.2 Activity简介 113 5.2.1 Activity的创建 113 5.2.2 启动另一个Activity 115 5.2.3 Activity之间传递数据 117 5.2.4 启动另一个Activity并返回结果 121 5.3 Activity的生命周期 126 第6章 Android组件之间的信使Intent 130 6.1 Intent对象及其属性 131 6.1.1 Intent的ComponentName属性 131 6.1.2 Intent的Action属性 135 6.1.3 Intent的Data属性 140 6.1.4 Intent的Category属性 141 6.1.5 Intent的Extras属性 142 6.2 系统标准Activity Action应用 144 6.2.1 和打电话相关的标准Activity Action应用 145 6.2.2 访问浏览器和地图 147 6.2.3 发邮件 149 6.3 Intent的实现策略 151 第7章 Android Service组件 159 7.1 Service简介 159 7.1.1 创建一个Service 159 7.1.2 启动和停止Service 160 7.1.3 绑定一个已经存在的Service 161 7.1.4 Service实例演示 161 7.2 远程Service调用 166 7.2.1 创建一个AIDL文件 166 7.2.2 实现AIDL文件生成的Java接口 170 7.2.3 将你的接口暴露给客户端 171 7.2.4 客户端调用 171 第8章 Android广播事件处理 Broadcast Receiver 173 8.1 自己定义Broadcast Receiver来处理广播事件 173 8.2 系统广播事件的使用 176 8.3 Notification和NotificationManager的使用 178 8.3.1 Notification和NotificationManager简介 178 8.3.2 通知实例演示 179 8.4 AlarmManager的使用 186 第9章 Android中的数据存取 190 9.1 Preference 190 9.1.1 Preference简介 190 9.1.2 Preference应用实例--保存临时短信 191 9.2 File 193 9.3 SQLite 195 9.3.1 SQLiteDatabase 195 9.3.2 SQLiteOpenHelper 199 9.3.3 SQLite应用实例--收藏管理 201 第10章 Content Provider 208 10.1 Content Provider简介 208 10.1.1 Content Provider的常用方法 208 10.1.2 ContentResolver 209 10.1.3 URI 209 10.1.4 查询系统ContentProvider内容 210 10.1.5 添加系统ContentProvider内容 211 10.1.6 添加系统ContentProvider图片内容 211 10.2 自定义ContentProvider 212 10.2.1 创建ContentProvider的步骤 212 10.2.2 ContentProvider实例 213 第11章 Android中的多媒体应用 221 11.1 音频及视频播放 221 11.1.1 从源文件中播放 221 11.1.2 从文件系统中播放 222 11.1.3 从网络中播放 222 11.2 迷你音乐播放器 223 11.3 迷你视频播放器 228 11.4 音视频的录制 229 11.5 Camera照相 233 第12章 Android中的图形图像 238 12.1 在Android中访问图片 238 12.1.1 使用图片文件创建Drawable对象 239 12.1.2 使用XML文件定义Drawable属性 240 12.1.3 Bitmap和BitmapFactory 241 12.2 Android中的动画 242 12.2.1 Tween动画 242 12.2.2 Frame动画 251 12.3 动态图形绘制 253 12.3.1 动态图形绘制的基本思路 253 12.3.2 动态图形绘制类简介 256 12.3.3 绘制几何图形 257 12.4 图形特效 261 12.4.1 使用Matrix实现旋转、缩放和平移 261 12.4.2 使用Shader类渲染图形 264 第13章 Android中的互联网应用 268 13.1 通过Socket、ServerSocket进行网络编程 268 13.1.1 Socket、ServerSocket编程模型 268 13.1.2 Socket编程实例 269 13.2 通过URL进行网络编程 271 13.3 通过HTTP进行网络编程 273 13.3.1 使用HttpURLConnection 273 13.3.2 使用Apache HTTP客户端 278 13.4 通过Web Service进行网络编程 280 13.5 直接使用WebView视图组件显示网页 285 13.5.1 使用WebView打开网页 285 13.5.2 使用WebView加载HTML 286 第14章 Android中的GPS应用 287 14.1 LocationManager和LocationProvider简介 287 14.1.1 LocationManager 288 14.1.2 LocationProvider 288 14.2 通过模拟器测试位置服务 289 14.3 获得LocationProvider 292 14.3.1 通过名称获得LocationProvider 292 14.3.2 获得当前可利用的LocationProvider 292 14.3.3 根据Criteria条件获得LocationProvider 292 14.4 定位和跟踪 293 14.4.1 定位 294 14.4.2 跟踪 296 14.5 趋近警告 298 14.6 Geocoder正逆向编解码 300 14.6.1 正向编码 301 14.6.2 反向编码 303 第三篇 应用篇 第15章 Android应用案例--移动警务通 306 15.1 移动警务通需求分析 306 15.2 移动警务通总体设计 307 15.2.1 系统架构 307 15.2.2 技术选型 307 15.2.3 系统功能 308 15.3 移动警务通详细设计 309 15.3.1 系统包及其资源规划 309 15.3.2 Activity界面规划及其程序执行流程 310 15.3.3 系统数据库设计 312 15.4 系统编码实现 313 15.4.1 登录模块Android客户端实现 313 15.4.2 登录模块服务器端实现 320 15.4.3 程序主菜单实现 325 15.4.4 信息查询子菜单实现 326 15.4.5 在逃人员查询模块客户端实现 327 15.4.6 在逃人员查询模块服务器端实现 332 15.4.7 信息采集子菜单实现 338 15.4.8 机动车违章信息采集Android客户端实现 339 15.4.9 机动车违章信息采集服务器端实现 345 15.4.10 文件上传子菜单实现 348 15.4.11 现场照片上传Android客户端实现 349 15.4.12 现场照片上传服务器端实现 360 15.4.13 GPS定位功能子菜单实现 363 15.4.14 GPS定位"我的位置"的实现 364 15.4.15 GPS定位"按坐标查询"的实现 369 15.4.16 GPS定位"按地址查询"的实现 374 第16章 Android应用案例--雷电游戏 378 16.1 Android游戏开发基本框架 378 16.1.1 Android游戏开发基础 378 16.1.2 Android游戏开发基本框架 379 16.2 将Java ME游戏API嫁接到Android 384 16.2.1 Layer类的移植 384 16.2.2 Sprite类的移植 386 16.2.3 TiledLayer类的移植 386 16.2.4 LayerManager类的移植 386 16.3 Android版雷电游戏的实现 387 16.3.1 雷电游戏简介 387 16.3.2 雷电游戏的实现 387 第17章 Android应用案例--备忘录 396 17.1 备忘录数据存储实现 396 17.1.1 数据库表设计 396 17.1.2 备忘录ContentProvider实现 397 17.2 备忘录列表展示 402 17.3 备忘录维护 405 17.4 备忘录定时提醒 412 17.4.1 定义提醒广播接收器 412 17.4.2 显示提醒Activity 413

2013-01-12

Mars老师android培训书

Mars老师android培训书

2012-12-27

JBoss-4.2.3.GA

JBoss-4.2.3.GA

2012-08-29

Java消息服务

JMS入门 Java消息服务 JAVA消息服务设和初学者入门

2012-06-30

JPA入门实战教程

JPA实战,JPA入门的好帮手,JPA入门帮手,适合初学者入门

2012-06-30

xpp3_min.jar

xpp3.jar 程序报错: org/xmlpull/v1/XmlPullParserException java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException 添加此包

2012-04-27

json-java.chm

json.chm, json-java.chm

2012-04-20

Abator-插件包

abator-插件包,ibatis开发辅助,myeclipse插件

2012-03-10

Myeclipse10破解包(成功)

Myeclipse10的破解 已经成功破解Myeclipse10,可以

2012-03-02

sqlserver2000 驱动 jsutil.jar msbase.jar mssqlserver.jar

sqlserver2000 驱动 jsutil.jar msbase.jar mssqlserver.jar

2012-02-24

java ee api帮助文档 chm格式 (最新)

最新java ee api帮助文档 ,chm格式

2012-02-24

hamcrest-1.2.zip

hamcrest-1.2.zip

2011-12-29

我的智囊团

我的智囊团源码,我的智囊团,源码,源码,有数据库文件

2011-12-29

PropertiesEditor

PropertiesEditor 国际化工具 Properties Editor 国际化工具

2011-11-30

HTMLParser-2.0-SNAPSHOT-bin.zip

HTMLParser-2.0-SNAPSHOT-bin.zip

2011-11-16

HTMLParser-2.0-SNAPSHOT-src.zip

HTMLParser-2.0-SNAPSHOT-src.zip

2011-11-16

HTMLParser-2.0-API.CHM

htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错。现在htmlparser最新版本为2.0。API方便我们使用它提供的各种类,方便查阅

2011-11-16

jtds.jar驱动

jtds.jar驱动 JTDS驱动 jtds.jar

2011-11-04

空空如也

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

TA关注的人

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