博客统计信息

51cto推荐博客
用户名:winuxxan
文章数:16
评论数:71
访问量:111521
无忧币:510
博客积分:832
博客等级:4
注册日期:2011-02-26

订阅我的博客


google reader 鲜果 QQ邮箱 有道 抓虾

我最近发表的评论

ViewSwitcher实现.. 回复
大家不好意思,好久前写的,代码丢了。
Android应用如何.. 回复
用apk访问的话,有个问题,如何知道..
Android的数据过.. 回复
多谢,相互学习。
Android Camera .. 回复
这么好的文章竟然没被推荐,我那垃..
10大致命错误将扼.. 回复
恩,学到很多。
  什么是UAProf?
  UA的全称是User Agent,即用户代理。UAProf 的全称是User Agent Profile,就是 用户代理描述,主要用于描述终端设备的性能和优先选择信息,主要是为了让其他设备(比如WAP网关)能够自动识别终端的能力,从而可以优化传递给终端的内容格式。UAProf通常描述了终端的硬件平台、软件平台、与此设备相连的网络环境特性等信息。(好吧,我承认这一段是拷贝的)
类别:Android|阅读(966)|回复(1)|(2)阅读全文>>
  如果你一直在做Android应用程序,那么你可能不太了解Binder,甚至不知道什么是Binder。Android设计的精妙之处就在于你无需知道底层的具体机制是如何,你仍然可以开发出比较完善的应用程序。但是如果你要深入研究Android,理解Android的Framework的实现机制。那么Binder是无论如何都要去跨越的鸿沟。
  Android的Launcher界面功能菜单是一个列表,当应用程序较多时,可以向下滑动查看其它。那能不能将功能菜单做成横向拖动,并且分屏的效果呢?
  本文对该问题进行研究,要达到的目标如下:
  1、可以实现应用程序的分屏显示,当一屏放不下时,放入另一个屏。
  2、屏与屏之间切换为横向。
  3、屏与屏之间切换时有动画效果,一个屏退出,一个屏出现。
  本文的方法暂时没有解决屏幕切换随着手的移动而逐渐切换的问题,但是本文的屏幕切换可以采用手势的方式。
  分屏和横向显示不是很难解决的问题,关键问题在于动画效果的实现。由于在屏幕切换时两个屏同时发生动画,一个退出,一个进入,因此至少要同时存在两个View。实际上Android已经为我们考虑了这种情况。ViewSwitcher就是专门针对这种情况而设计的。
类别:Android|阅读(7877)|回复(22)|(8)阅读全文>>
  三、侦听软键盘的显示隐藏
  有时候,借助系统本身的机制来实现主窗口的调整并非我们想要的结果,我们可能希望在软键盘显示隐藏的时候,手动的对布局进行修改,以便使软键盘弹出时更加美观。这时就需要对软键盘的显示隐藏进行侦听。
  直接对软键盘的显示隐藏的方法本人没有找到,如果哪位找到的方法请务必告诉本人一声。还有本方法针对压缩模式,平移模式不一定有效。
  我们可以借助软键盘显示和隐藏时,对主窗口进行了重新布局这个特性来进行侦听。如果我们设置的模式为压缩模式,那么我们可以对布局的onSizeChanged函数进行跟踪,如果为平移模式,那么该函数可能不会被调用。
  我们可以重写根布局,因为根布局的高度一般情况下是不发生变化的。
  假设跟布局为线性布局,模式为压缩模式,我们写一个例子,当输入法弹出时隐藏某个view,输入法隐藏时显示某个view。
类别:Android|阅读(19407)|回复(12)|(7)阅读全文>>
3、跨进程共享弹出窗口设计
  我们能不能实现类似于QuickContact那样的弹出窗口跨进程共享呢?当然是可以的。
  可能我们会想到用一个透明的Activity,然后显示一个PopupWindow来实现,但是PopupWindow我们之前说过,在Activity的onCreate函数中显示时会有问题。
  我们也可能还会想到一个透明的Activity加一个Dialog来显示,但是我们也知道,Dialog并不是像PopupWindow那样是轻量级的,仅仅一个Activity的显示就够耗费了,再显示一个Dialog,那么耗费就更大了。
  我们可能还会想到用QuickContact的方式,创建一个Window,然后将该Window的根View贴到透明Activity上,然而,不幸的是,创建Window的函数是非公开的。
其实,我们不需要创建一个Window,也能将View贴到Activity之中。见如下代码:
类别:Android|阅读(3017)|回复(2)|(2)阅读全文>>
由于51cto不让我一次传完,说我的字数太多了,所以分开传了。 
五、超级大胖子Bitmap

    可以说出现OutOfMemory问题的绝大多数人,都是因为Bitmap的问题。因为Bitmap占用的内存实在是太多了,它是一个“超级大胖子”,特别是分辨率大的图片,如果要显示多张那问题就更显著了。


    如何解决Bitmap带给我们的内存问题?
    第一、及时的销毁。
    虽然,系统能够确认Bitmap分配的内存最终会被销毁,但是由于它占用的内存..
类别:Android|阅读(4346)|回复(1)|(5)阅读全文>>
 一、 Android的内存机制
    Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。
    那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程..
类别:Android|阅读(7251)|回复(4)|(8)阅读全文>>
  Android对数据的处理是分层的,从上到下,可以分为:数据层、提供层、Cursor层(不好意思,没找到一个词来表示)、适配层、显示层。每个层次通过一定的机制,可以使数据发生变化时能够上下通知。如下图:

  显示层(ListView,GridView,AutoCompleteTextView等)
  适配层(Adpater)
  Cursor层(Cursor)
  提供层(ContentProvider)
  数据层(文件、sqlite、SharedPreference)

  数据层是数据具体的存储方式,它可以包括文件、sqlite数据库以及SharedPreference。提供层向上层提供了统一的数据调用方式,并负责向其它应用共享数据。Cursor层将查询的数据统一成Cursor的形式来使用。适配层用来连接Cursor层和显示层,将数据和界面连接起来。显示层负责数据的显示。
类别:Android|阅读(2558)|回复(4)|(2)阅读全文>>
2011-03-07 17:00:13
    Git的分支管理是Git的神器。拥有了它就会使我么管理代码更加游刃有余。那么什么是Git的分支管理?为什么要使用Git的分支管理?Git分支管理怎么用?

     在集中式版本控制中,冲突的合并是可怕的,是令人恶心的。所以很多版本控制软件通过加锁来拒绝多个人同时访问一个文件;而有的版本管理软件,则不是通过加锁的方式,第一个提交的人会很顺畅,但是如果第二个人提交,那么面临它的将是恶心的冲突解决。

    而在分布式管理软件中,冲突解决、合并、衍合,..
类别:Git|阅读(2726)|回复(0)|(0)阅读全文>>
  既然eclipse的ADT可以为我们链接设备,为我们打印log,为我们安装应用,为什么我们还要学习android自带的tools内的工具?

  第一、eclipse的ADT插件提供了傻瓜式的方式为将我们的一些操作集成到IDE中,提高了我们的效率,很推荐大家使用。不过,ADT的方式也不过是将tools中的命令工具进行了整合而已,所以ADT可以做的事情,tools一定可以做,而tools可以做的事情,ADT不一定可以做。

  第二、在我们不需要打开eclipse的时候,直接使用tools工具更能提高我们的效率。

  第三、借助shell脚本,python等语言,结合我们的tools工具,我们可以设计出效率更高的工具。

  本文简单介绍ADB的一些常用用法。

类别:Android|阅读(1053)|回复(0)|(1)阅读全文>>
 <<   1   2   >>   页数 ( 1/2 )