android

抛弃Residemenu来实现QQ5.0UI

        转载清注明:http://blog.csdn.net/eclipsexys         自从QQ 5.0发布,新的QQ UI就成了大家模仿的众矢之地,不过大家模仿的时候,一般都会使用到一个开源控件,Residemenu,相信大家对这个开源框架还是很熟悉的,刚出来的时候,确实很惊艳,但是,对于初学者或者只是想实现一个很简单的效果的朋友来说,用这个框架就有点大材小用了,其实,利用Android原生的控件,我们也能实现这样一个酷眩的效果,今天的主角是SlidingPaneLayou

Android PorterDuff.Mode

  1.PorterDuff.Mode.CLEAR所绘制不会提交到画布上. 2.PorterDuff.Mode.SRC显示上层绘制图片 3.PorterDuff.Mode.DST显示下层绘制图片 4.PorterDuff.Mode.SRC_OVER正常绘制显示,上下层绘制叠盖. 5.PorterDuff.Mode.DST_OVER上下层都显示.下层居上显示. 6.PorterDuff.Mode.SRC_IN取两层绘制交集.显示上层. 7.PorterDuff.Mode.DST_IN取两层绘制交集

自定义控件0

自定义控件的最简单方法就是继承这个控件. 这次我们来重写一个TextView,让系统自带textview的左边加上一个图标. 效果如下: 实现方法: package com.xys.widget; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.g

Gallery过时替代方案HorizontalScrollView

布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&q

AlarmManager机制和系统唤醒锁的总结

转自 http://blog.csdn.net/d_clock/article/details/42968039 前段时间,在公司做项目的时候发现原有项目中的代码在Service中使用handler不断发送Message到Looper处理MessageQueue中来维持IM功能的"心跳",心里瞬间觉得这个地方的代码很不靠谱,主要原因分为两个: 1.handler的生命周期和Service不一致,如果Service某个时刻被系统回收内存杀死了,逻辑上handler应该就会停止心跳包的发送

Android拼图游戏开发全纪录3

今天我们要继续开发Android游戏拼图,今天同样是做一些准备工作,昨天我们把界面的准备工作做好了,今天呢,我们想想,要完成一个拼图,我们还需要做哪些准备. 首先,我们需要一个工具类,去获取屏幕的相关信息,让我们的程序去自动适应不同分辨率大小的屏幕: package com.xys.xpuzzle.util; import android.content.Context; import android.util.DisplayMetrics; import android.view.Displa

Android硬件加速

概述 从Android 3.0开始(API L11),Android开始全面使用硬件加速来进行2D渲染,硬件加速是指Android中在View上进行绘制的图形图像都使用GPU来进行绘制,使用硬件加速,在大部分时候都让绘制更加流畅,但付出的代价是需要消耗更多的内存资源. 硬件加速在API L14之上是默认开启的,对于基本的View绘制,通过硬件加速可以增加绘图的流程性,但是要注意的是,并不是所有的2D图形绘制API都支持硬件加速. 通过开发者选项中的"强制进行GPU渲染",用户可以为全局

Android异步加载全解析之开篇瞎扯淡

Android异步加载 概述 Android异步加载在Android中使用的非常广泛,除了是因为避免在主线程中做网络操作,更是为了避免在显示时由于时间太长而造成ANR,增加显示的流畅性,特别是像ListView.GridView这样的控件,如果getView的时间太长,就会造成非常严重的卡顿,非常影响性能. 本系列将展示在Android中如何进行异步加载操作,并使用ListView来作为演示的对象. 如何下载图像 下载自然是需要使用网络,使用网络就不能在主线程,在主线程就会爆炸.所以我们必须要在

Android异步加载全解析之引入一级缓存

Android异步加载全解析之引入缓存 为啥要缓存 通过对图像的缩放,我们做到了对大图的异步加载优化,但是现在的App不仅是高清大图,更是高清多图,动不动就是图文混排,以图代文,如果这些图片都加载到内存中,必定会OOM.因此,在用户浏览完图像后,应当立即将这些废弃的图像回收,但是,这又带来了另一个问题,也就是当用户在浏览完一次图片后,如果还要返回去再进行重新浏览,那么这些回收掉的图像又要重新进行加载,保不准就要那些无聊到蛋疼的人在那一边看你回收GC,一边看你重新加载.这两件事情,肯定是互相矛盾的

Android 一个抽奖应用的逆向破解全流程之加固自己应用

转自: <a href="http://www.pedant.cn/2014/07/22/crack-a-draw-app/">http://www.pedant.cn/2014/07/22/crack-a-draw-app/</a> 东窗事发 偶然见到一个应用内有抽奖的活动(应用具体名称就不便告知),而且是每天都可以抽.同时抽奖之前也不需要用户登录什么的,但限定了用户一天(自然天)只能抽奖一次.那么应用的服务端在用户没有登录的情况下是依据什么来判定当前用户今天

根据不同需求跳转不同Activity的另外一种写法

代码如下:   /* Android Asynchronous Http Client Sample Copyright (c) 2014 Marek Sebera <marek.sebera@gmail.com> http://loopj.com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance wit

自定义时钟控件

通过继承View类,我们可以自定义自己需求的复杂控件.本例实现了一个自定义的时钟. 效果如下: 代码如下: package com.example.test; import java.util.Calendar; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import a

Android 自定义下拉刷新ListView

package com.dwtedx.qq.view; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; impor

Android安装应用失败UID 和 PID

参考:http://blog.sina.com.cn/s/blog_62ef2f140101j6q2.html 安装任意第三方的一个apk,恢复出厂设置,再次安装相同的apk,提示安装失败,通过打印LOG发现,安装失败的错误反回值是24,public static final int INSTALL_FAILED_UID_CHANGED = -24 ; 进一步跟踪发现,在恢复出厂设置后/data/data目录下的第三方应用的文件夹还在,手动删除此文件后再次安装就会成功,按正常逻辑恢复出厂设置后应

Android5.0 Lollipop正式发布!

今天早些时候,谷歌正式发布了Android 5.0,一同亮相的还有Nexus 6等新品. 跟之前传闻的一样,Android 5.0之所以叫L,其代号是 Lollipop棒棒糖,除了32位版本外,还有64位. 至于Android 5.0的新特性,之前谷歌I/O大会上都已经说的很清楚,比如ART作为默认选项,提高设备续航,新的多任务以及全新的界面设计(material design),当然这次还加入了新的64位版本. 对于5.0来说,谷歌最大的愿景是,统一Android平台.除了Nexus 6和Ne

Android开发资源推荐第2季

Android CPU监控想法,思路,核心技术和代码 http://www.csdn123.com/html/blogs/20131026/89017.htm Android App /Task/Stack 总体分析 http://www.eoeandroid.com/thread-161703-1-1.html Android Widget设计指南 http://mobile.51cto.com/widget-248860_all.htm 系统深入学习android http://www.cn

Android UI开发详解之Fragment

Fragment是Android自从3.0之后新加入的一个组件,我相信很多人都已经听说过这个组件了,但这个组件到底是个什么,如何去使用他呢,且听我讲来. 以下部分资料来自官网(官网才是王道,其他都是浮云) 一.Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用. 在Activity运行过程中,可以添加.移除或者替换Fragment(add().remo

Android视频录制命令screenrecord

转自http://blog.csdn.net/wirelessqa/article/details/22725581 Android视频录制命令screenrecord 你要知道: screenrecord是一个shell命令 支持Android4.4(API level 19)以上 支持视频格式: mp4 一些限制 某些设备可能无法直接录制,原因是分辨率太高,如果遇到此类问题,请试着指定较低的分辨率 不支持录制过程中屏幕旋转,如果录制过程中旋转,有可能画面被切断 录制视频的时候声音不会被录下来

ListView详解1

listview的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据    具体的将被映射的字符串,图片,或者基本组件. 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter 一.ArrayAdapter的listview public class MyListView extends Activity { private ListView

Android拼图游戏开发全纪录5

今天我们终于可以把这个项目给结束掉啦,有了前几天的准备,相信最后一天还是比较轻松的,国际惯例: 最后要完成的就是我们的主要功能--拼图界面. 布局比较简单,在前几天就已经做好了,现在我们要做的是以下几件事情: 1.计时记步:这个是游戏基本都有的功能,其实也比较简单,记录成功移动的步数.显示一个计时器就行了. 2.处理图片,调整为合适的大小比例:这个方法在前几天已经实现了 3.点击GridView后移动图片:是否能移动的方法已经在前几天实现了 4.判断是否拼图完成:唉,也已经实现了 5.点击原图按