- 博客(65)
- 资源 (29)
- 收藏
- 关注

原创 Android 实现书籍翻页效果----升级篇
<br /> 自从之前发布了《Android 实现书籍翻页效果----完结篇 》之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚。所以不少人对其中的地方有不少不明白之处,也有不少人对其中出现的Bug进行了反馈。今天终于找出了段时间对这段时间的一些问题做个简单的总结。<br /> 之前给出的例子只是能使书籍进行简单的拖拽,没有实现翻页的动画效果,很多人希望我能加上这一个,所以首先我们就来说说这个翻页的动画。<br /> 其实翻页的动画很容易实现,只
2011-05-14 14:42:00
60299
251
原创 Android Studio の 自定义代码块折叠
0x00 前言最近在整理项目中的代码,由于项目的代码比较久远,某些类的代码量相对比较庞大,新人在接手维护这个类的时候熟悉起来比较困难,仅仅依靠文档和注释理解起来也比较吃力。后来想起IntelliJ IDEA中有Custom code folding regions的操作方式,可以将代码块归纳折叠为标签的形式,让代码看起来规整了很多。形成类似如下的效果:在Structure导航中看起来也比较清晰0x01 操作实现class MainActivity : AppCompatActivity() {
2020-06-13 18:34:45
1489
1
原创 浅析android应用增量升级
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 很久没有更新博客了,真是堕落啊,几次想提起笔,却总是被各种琐事耽搁,以后会多写文章记录点滴。背景 随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及的
2012-10-23 11:18:15
124324
48
原创 打造Android的中文Siri语音助手(二)——添加虫洞的开放API
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 在给我们的Siri添加小I的接口之后,感觉它还是不够智能,无法像Iphone的Siri一样功能强大。可是国内我依旧没有找到一个能够强大如苹果Siri的服务器,所以只能退而求其次,我引入了”虫洞“的开放API,网站http://www.uzoo.cn/,这是一个功能很强大的接口,可以
2011-12-02 16:16:15
18318
8
原创 打造Android的中文Siri语音助手(一)——小I机器人的接口
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处Iphone4S的Siri让人眼前一亮,网上出现了无数调戏Siri的视频。真是让android用户们心痒不已。好在随后android阵营中的高手迅速反击,推出了Iris。悲剧的是Iris仅支持英文,让我们这些英语烂的无比的人调戏Iris不成,反被它给调戏了。真是郁闷的不行啊~_~所以我打算使用andro
2011-12-02 14:10:32
25969
44
原创 android 3D系列之纹理篇
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前的例子都是纯色的3D模型。今天我们就开始给这些模型贴上华丽丽的纹理,让他们看起来更加接近我们印象中的真实物体。功能启动为使用纹理,我们需要打开OpenGL的一些开关以启动我们需要的一些功能: gl.glEnable(GL10.GL_TEXTURE_2D);。这
2011-09-01 17:17:04
11330
原创 android 3D系列之光效篇
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 继续我们的android 3D之旅,我们将讨论光效。从今天开始我们将逐渐添加光效。光效三要素在 OpenGL ES中,光由三个元素组成,分别是环境元素(ambient component), 散射元素(diffuse component)和 高光元素(specular compon
2011-09-01 15:56:14
10083
1
原创 android 3D系列之入门实践篇
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 通过之前文章--概念篇的学习,我们今天编写一个简单的入门程序,实现一个不断绕x轴,y轴旋转的彩色立方体,效果如下: 在Android中我们使用GLSurfaceView来显示OpenGL视图,GL
2011-09-01 14:49:28
12154
原创 android 3D系列之基本概念篇
最近不是很忙,所以打算从这周开始学习android的3D绘图。网络上已经有大量有关OpenGL的好教程和书籍。但是,却没有多少是关于OpenGLES,更加没有多少是专门针对学习android上3D编程的。为了养成良好的学习习惯,也算是给自己的学习过程做一个总结、笔记,我决定按照自己的学习规矩,撰写一个针对android3D初学者的博文系列。这是此系列的第一篇文章。基本概念为了方便后边的编程
2011-09-01 13:52:57
17075
3
转载 3D开发之解析渲染MS3D模型
OPhone平台中,3D模块已经成为一项标准配置,而且随着硬件成本的降低,搭配硬件加速图形芯片的移动设备也越来越多地出现在人们的视野当中,手机上的3D再也不是“幻灯片”的代名词。享受着快捷无比的3G网络,在你心爱的OPhone手机上玩着真正的魔兽世界,这也许在不远的未来就会变成现
2011-08-30 16:19:49
12680
2
转载 OpenGL ES绘制3D图形
OpenGL ES是 OpenGL三维图形API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。 Ophone目前支持OpenGL ES 1.0 ,OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5
2011-08-30 16:17:44
11228
原创 浅谈如何给appwidget添加复杂view
我们都知道android原生的widget只支持极少数几个简单的view,所以功能及其简单。很多人都希望在AppWidget添加ListView、GridView等复杂的view来实现更为复杂的功能。我们知道要在AppWidget里添加 View都是通过RemoteView来做到了,然而RemoteView本身功能很弱,支持的操作很少,而且支持RemoteView的Widget很少:
2011-06-29 12:15:00
13836
3
原创 android桌面文件夹美化
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 哈哈,好久没有写博客拉,blog里边好凄凉阿~~人也变懒了…… android原生自带的桌面文件夹样式及其简单,没有iphone那种可以显示文件夹内文件图标缩略图的功能,今天我们来简单的实现一个。效果如下: 从laun
2011-06-29 11:57:00
21359
24
原创 Android权限之sharedUserId和签名
<br /> 最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。<br /> 安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。<br />通过Shared User
2011-05-26 11:35:00
62049
5
原创 探秘widget之widget背后的故事
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前分析了下widget添加到laucher的过程,现在我们来分析下widget被添加到laucher之后发生的故事。 AppWidgetProvider桌面组件实现的组要类,它的父类是一个广播接收器,它主要作用就是接收更新桌面组件的广播消息,然后更新桌面组件 i. pub
2011-05-23 14:49:00
12866
原创 探秘widget之launcher添加widget的流程分析
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 最近打算研究下android的widget相关问题,并把一些心得在此稍作记录,哈哈,等研究完成了,如果有必要的话,也会把改动的源码贴出来,以飨读者。今天先来看看launcher2中添加widget的流程。 添加widget首先需要在laucher的空白处长按,所以首先定位在laucher的 public boolean onLongClick
2011-05-23 12:58:00
19149
1
原创 修改android的framework层操作小记
<br />1. 首先要在工程目录下运行: . ./build/envsetup.sh 这样在之后就可以使用mm命令了<br />2.例如要修改services下的文件那么编辑完成后 <br /> cd frameworks/base/services/<br /> mm<br />3.替换修修改的文件<br />编译后用生成的包替换手机上 /system/framework/ 中相应的文件<br />$ adb remount<br />$ cd out/target/product/g
2011-05-18 16:45:00
11054
1
原创 android内核编译札记
1.内核编译完成后可以生成 arch/arm/boot/compressed/vmlinux, arch/arm/boot/Image, arch/arm/boot/zImage其中vmlinux 是一个elf格式的文件,Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。zImage 是ARM Linux常用的一种压缩映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明 这个映像文件的类型、加载位置、生成时间、大小等信息。
2011-05-18 14:35:00
8318
原创 Android 实现书籍翻页效果---番外篇之光影效果
<br /> By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处<br /> 对于之前发布的翻页效果的源码,由于写得太匆忙,注释讲解的不多,且本人文笔较差,至使很多人对其中的很多部分不是很清楚,尤其是其中的光影部分,而我也不知道如何去向其解释,真是让我汗颜无比,所以今天利用闲暇来给大家分析一下。<br /> ps: 由于零碎时间有限所以文字也有些零碎,望见谅~<br /> 首先来分析,翻起页与下一页交汇处的阴影,即下
2011-04-27 11:22:00
20719
10
原创 Android 实现书籍翻页效果----完结篇
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前由于种种琐事,暂停了这个翻页效果的实现,终于在这周末完成了大部分功能,但是这里只是给出了一个基本的雏形,没有添加翻页的动画效果,由于下个周末开始,需要转向去研究framework层(短暂的酱油期就这样结束啦 o(︶︿︶)o唉),将会暂停翻页的开发,所以想要进一步提高功能的童鞋需要自己动手~~~稍后发布的将是本人提供的
2011-04-22 19:55:00
74517
130
原创 Android 实现书籍翻页效果----源码篇
之前给大家讲解了android实现书籍翻页效果的原理,并在文章结尾处说明要发布源码,呵呵,但是最近有不少琐事缠身,原计划给大家的源码demo没有时间完成,可能要delay啦~~但是由于源码实现啦原理篇所说的大部分效果,只是在阴影方面还是有些bug,所以我将它贴出了让大家都来一起帮忙实现,毕竟授人鱼不如授人渔,实际才是王道。下面是demo的画面,可以实现四个角的拖拽:由上图可以看到,源码实现啦,翻起页背面和当前页的光影效果,但是翻起页背面的光影效果未实现。 红圈标明处,为翻起页投射在当前页上的阴影的顶点没
2011-04-13 09:51:00
14247
22
原创 Android 实现书籍翻页效果----原理篇
之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader等应用实现有这个特效,在网上搜索了一下好像也没有现成的例子,所以自己动手实现了一个,现在将实现的过程记录下来。实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下图绿色部分),把书页翻起来后看到的背面区域(下图黄色部分),把书页翻起来后
2011-04-07 10:39:00
43477
48
原创 为launcher添加仿HTC的preview(开源,附源码)
By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处Android原生自带的preview不是很好看,很喜欢HTC的,之前看到ADW上也有那样的preview,所以将它提取出来,放入了原生的android2.2中。闲不说,直接上图,有图有真相:原生的,未修改版本: ( By 何明桂 转载请注明出处)修改后,仿HTC的:主要改动的是:workspace.Java和launcher.java两个文件。附带的源
2011-03-30 19:19:00
9054
30
原创 为launcher添加一个仿Mac的dock(附源码)
<br /> By 何明桂(http://blog.csdn.net/hmg25)转载请注明出处<br />之前在网上看到有篇文章:Launcher之Dock细节篇http://news.wangmeng.cn/detailNews/2716-the-article-details-launcher-dock它实现了一个仿Mac的dock。感觉蛮有意思的,所以就照着仿制了一个。<br />可以动态的添加快捷方式,默认包含AllApp按钮,图
2011-03-30 17:28:00
11686
61
转载 Android实现开机自动运行程序
<br />有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了。理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解。<br />使用场景:手机开机后,自动运行程序,在屏幕上显示"Hello. I started!"字样。<br />背景知识:当Android启动时,会发出一个
2011-03-30 10:54:00
16749
1
原创 如何使用eclipse单独调试android系统的app
<br />修改系统的app的时候,如果需要编译整个工程,那的确很慢。 <br /><br />虽然强大的make功能可以方便的使用mm只编译修改了的那个应用。 <br /><br />单独的一个应用跑起来才够快。 <br /><br />做法是这样: <br /><br />一次编译过后(比如你改了framework,有新的修改在里面) <br />把out/target/common/obj/java_libraries/ <br />里面的相关jar考出来作为工程的jar source library
2011-03-28 10:59:00
3705
转载 android的PreferenceActivity
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。PreferenceActivity PreferenceActivity是android提供的对系统信息和配置进行自动保存的Activity,它通过SharedPreference方式将信息保存在XML 文件当中。使用PreferenceActivity不需要我们对SharedPreference进行操作,系统会自动对Activity
2011-03-22 10:03:00
3549
原创 Android 几个Info系列类的总结
<br />首先我们来看一下PackageItemInfo,它是包含了一些信息的基类,它的直接子类有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。这个类提供了属性的非常普通的基本
2011-03-13 19:12:00
2141
原创 android的Dialog相关
<br />对话框经常作为Activity的一部分来创建和显示。你通常应该从protected Dialog Activity.onCreateDialog (int id) 回调方法里创建对话框。当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频
2011-03-13 12:35:00
3772
转载 如何解决软键盘弹出引起的各种不适
<br />在做登录和注册页面的时候,经常会遇到诸如软键盘挡住输入框的情况,android为此提供了一系列的的配置参数供选择,你可以在androidmanufist.xml的对应Activity的windowSoftInputMode属性中选择如下4者之一进行配置(紫色字):<br /> <br /><br /> <br /> <br /> <activity android:name=".LoginAc"<br /><br /> <br /> android:
2011-03-13 11:59:00
11809
1
转载 Android中悬浮窗口
<br />调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,实现悬浮窗口效果!<br />WindowManager的方法很简单,基本用到的就三个addView,removeView,updateViewLayout。<br />而WindowManager.Layo
2011-03-11 12:27:00
3224
1
转载 Git和Repo扫盲——如何取得Android源代码
<br />Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper 、Mercurial 、GNU Arch 、Bazaar 、Darcs 、SVK 、Monotone 等),每一个工作目录都包
2011-03-11 08:52:00
1412
原创 android窗体透明的,黑暗度等的设置技巧
<br /> <br />设置透明度(这是窗体本身的透明度,非背景)<br /><br />WindowManager.LayoutParams lp=getWindow().getAttributes();<br /> lp.alpha=0.3f;<br /> getWindow().setAttributes(lp);<br /> <br />alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明<br
2011-03-03 17:13:00
8939
转载 创建状态栏通知 notification
<br />懒骨头(http://blog.csdn.com/iamlazybone)<br />一个状态栏通知,会在系统的状态栏添加一个图标,并且在状态窗口添加一条信息。当用户点击这个信息时,android会发送一个intent请求,通常是启动一个已定义的activity。你可以添加声音、震动、闪屏给设备来提醒用户。<br />通常一个后台服务运行时,如果需要提醒用户一些事件、或者让用户反馈一些信息时,通常用到状态栏提醒。一个后台Service永远不会自己运行一个activity来接受用户交互,一般的,后
2011-03-03 16:24:00
3101
转载 java——深入探讨Iterator模式
<br />java.util包中包含了一系列重要的集合类。本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕。<br /><br />下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理。<br /><br />本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型代码,为了简化问题,所以我们还是讨论1.4版本的代码。<br
2011-03-02 17:57:00
1259
转载 Task和Activity相关—Activity各种属性的解释
<br /> <br />android:allowTaskReparenting<br /> 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。<br /> 如果这个特性没有被设定,设定到<application>元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“false”。<br /> 一般
2011-03-02 17:13:00
2020
转载 Android各种信息的显示
<br />参考自eoeApps。<br />在使用eoeApps时,发现它显示的一些系统属性像和用命令行中敲出来的一样,好奇心大起。反编译之,遂得。<br />关键点为使用ProcessBuilder来执行命令。<br />另,系统属性的详细信息见:http://blog.csdn.net/jerryutscn/archive/2010/04/24/5519423.aspx<br />view plaincopy to clipboardprint?01.package lab.sodino.text
2011-03-02 16:59:00
2996
原创 launcher2中图标拖拽的简单分析
相关的文件:DragController:拖动控制接口。DragLayer:整个launcher的父节点,继承FrameLayout,实现接口DrayController。DragSource:拖动源接口,定义了void onDropCompleted(View target, boolean success)。DropTarget:拖动目标(要将部件拖拽进入,必须继承DropTarget接口),定义很多拖动过程需要的方法:onDrop,onDragEnter,onDragOver,onDragExit,a
2011-03-02 11:45:00
6999
3
原创 android 属性系统
<br />每条属性包含了名字和其对应的值,两者都用字符串来描述。Android系统中大量的使用了属性系统用于记录系统的设置(注:和windows系统里的注册表类似),以及进程间的 信息交互。属性系统对于整个系统来说是全局的,也就是说每一个进程都可以获取和设置每条属性。<br /> <br />当系统初始化的时候,Android系统会分配一块共享内存用于存储属 性信息。这些操作是在"init"这个守护进程里完成的,其对应的源 代码目录在:device/system/init。"init"守护进程同时也启动了
2011-02-23 18:01:00
1502
1
原创 实现按键旋转屏幕
<br />通过长按menu按键,可以旋转屏幕方向(0°或者90°),这个功能有时蛮有用的,下面来看看是如何实现的: <br />1 修改按键处理程序<br />frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java<br />函数<br />public boolean interceptKeyTi(WindowState win, int code, int metaKeys, boo
2011-02-23 17:56:00
2771
Siri中文语音助理源码
2011-12-13
android 3D立方体
2011-09-01
android 真实书籍翻页效果(完结篇)
2011-04-22
一个仿Manila的Sense sdk,win32d的
2010-09-17
人脸识别软件Alparysoft Video Lock
2009-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人