自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

成长的味道

代码是程序员的朋友,虽然没有热情,但是非常忠实。

  • 博客(43)
  • 资源 (6)
  • 收藏
  • 关注

翻译 android H264码流中的SPS获取

此文对于想要了解如何获取h264码流中SPS参数的过程,但是又不是很熟悉h264的朋友会很有帮助!!This is a follow-up to my World’s Smallest h.264 Encoder post. I’ve received several emails asking about precise details of things in two en

2015-11-30 20:56:52 2277

原创 android launcher3将桌面较长的图标名称显示完整解决方案

android 如何将桌面较长的图标名称显示完整(有些APP的图标名称太长),androidapp1、请找到对应的res资源,修改styles.xml,将        0dp        4dp        4dp        @dimen/app_icon_padding_top        4dp        13sp       改

2015-11-30 13:20:02 8097 1

原创 android ContentObserver和DatasetObserver的区别

1. ContentObserver    ContentObserver主要是通过Uri来监测特定的Databases的表,如果该Databases表有变动则会通知更新cursor中的数据。    如果使用ContentProvider操作数据库,在ContentProvider的query()方法中会通过Cursor.setNotificationUri()注册uri描述的表,

2015-11-30 10:18:26 666

原创 android launcher3拖拽事件响应解析长按事件处理

AndroidICS4.0版本的launcher拖拽的流程,基本和2.3的相似。就是比2.3写的封装的接口多了一些,比如删除类的写法就多了个类。等等。4.0的改变有一些,但是不是特别大。这个月一直在改动Launcher的缩略图的效果,4.0的缩略图的功能没有实现,还得从2.3的Launcher中摘出来。通过做这个缩略图对Launcher的模块有一点点了解,拿来分享一下Launcher拖拽的工作流程

2015-11-30 09:47:24 4112

转载 手机摇一摇震动刷新(支持ListView GridView WebView)

手机摇一摇震动刷新第一步:看摇一摇震动刷新的前后的效果图1、摇一摇震动刷新前的效果图如下(图片太大了,分2次录屏的,如果看着不爽请猛戳我的github上面的演示)2、摇一摇震动刷新之后的效果图如下      说明:我笔记本的虚拟机没有重力感应,所以用虚拟机摇一摇没反应,然后我用真机测试,摇一摇伴随着震动,然后把每个页面摇一摇震动刷新的效果图片都截

2015-11-30 09:02:05 1289

原创 android launcher3修改内置的系统图标显示

/packages/apps/Launcher/res/xml/default_workspace.xml中记录了系统初始化或者恢复出厂设置时桌面上图标的排列。Launcher程序第一次运行完毕以后,会在/data/data/com.android.launcher/databases/launcher.db中创建记录,里面有所有当前的桌面图标。以后每次启动只会从这里读取桌面图标。 

2015-11-28 16:55:07 3750

原创 android Launcher3中的IconCache的剖析

在Launcher3中,IconCache是用来缓存应用图标缓存的。IconCache不仅会保存图标,还会保存应用的title, 还有应用的描述,我们可以看到缓存都是保存在mCache的HashMap中,key是ComponentName和UserHandleCompat组成的对象, Value是一个对象CacheEntry, CacheEntry的三个成员是图标,标题和应用描述。在Lau

2015-11-28 16:10:00 2496 1

原创 你的手机密码只有你知道?Google:呵呵

你的Android设备设置密码之后,只有你才能进入吗?原谅这个世界没有你想的那么简单。▲【以为手机密码设成这样就无敌了吗?图样图森破】设置密码的目的是为了保护自己的隐私。但当你的“隐私”是犯罪证据时,就尤其不能让别人看到。对于犯罪嫌疑人设置了密码的手机,调查人员无计可施吗?其实,在嫌疑人有权保持沉默的时候,他的手机密码也许已经神神奇地消除,瞬间出卖了他。这一切的“幕后黑

2015-11-28 09:00:44 677

原创 android 多分辨率机型适配文件夹命名规则

假设有如下分辨率机器:800 x 4801024 x 6001024 x 7681280 x 8001920 x 12002048 x 1536总共六种类分辨率机器,如果按照dp为单位来细分可以分为几种呢?首先通过context.getResources().getDisplayMetrics().density获取到当前机器的屏幕密

2015-11-26 14:23:46 2606

原创 android adb logcat的经典用法

eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;[plain] view plaincopyoctopus@octopu

2015-11-25 20:30:18 847

原创 android launcher3中的常用类介绍

LauncherModel:从名字我们可以看出他跟数据有关系的,保存了桌面运行时的状态信息,也提供了读写数据库的API,他有一个内部类LoaderTask,桌面启动从数据库中读取数据并把图标和小工具添加上去的时候用的就是他。BubblTextView:图标都是基于他,不过奇怪的是,他是继承自TextView,我之前一直以为是一个线性布局,上面放图片,下面放文字。DragContro

2015-11-23 16:55:16 1321

原创 android 触摸事件处理流程说明

我们经常需要处理触摸事件,但是有时候会出现一些奇怪的bug,比如有时候会检测不到ACTION_MOVE和ACTION_UP,我决定下决心写个测试的小程序,来研究一个触摸事件从上往下是怎么传递和处理的。先说下大概的流程吧,这个应该在很多博客中都有讲解:当一个事件来临的时候,会先传递给最外层的ViewGroup(比如LinearLayout,FrameLayout),如果这个ViewGroup

2015-11-23 16:33:17 622

原创 android 4.4 Launcher2源码分析--Workspace滑动

Launcher桌面的一大功能就是支持左右滑动,这样的功能在现在的应用中使用非常广泛,并且有很多实现的方式,可以通过使用Fragment来实现也可以通过自定义的控件来实现。Launcher采用了后者,这一功能的实现在Workspace来完成。首先来看一下Workspace的继承关系:从图中可以看出Workspace是PagedView的子类,而实际上滑动功能的实现是在P

2015-11-22 20:18:25 713

原创 Android 中运用单例模式的方法说明

概念:  Android中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、

2015-11-20 20:41:51 1031

原创 Android JNI调用函数命名原则规范

package com.test.mytest;public final class SensorNative { static { System.loadLibrary("MYJNI"); Init(); } private native static void Init(); public native static int GetY(); ...}其中,注意nat

2015-11-20 07:40:11 5961

原创 Android adb push安装和直接安装软件的区别

一般的,Android 应用程序有两种安装方法:1. 将应用程序的apk文件push到手机中,用如下命令:   adb push xxxx.apk /system/app.2. 用adb install xxxx.apk进行安装3. 二者的比较以及注意事项:  1) 用第一种方式的弊端:         a.   会将原来系统中的对应的apk

2015-11-19 22:51:38 2962

原创 Android ODEX介绍

ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留的。这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。所谓Odex,是由android软件中的classes.dex

2015-11-19 22:45:40 5713

原创 Android jni的调用过程

1、JNI简介JNI全称为Java Native Interface(JAVA本地调用)。从Java1.1开始,JNI成为java平台的一部分,它允许Java代码和其他语言写的代码(如C&C++)进行交互。并非从Android发布才引入JNI的概念的。2、JNI与NDK        简单来说,Android的NDK提供了一些交叉编译工具链和Androi

2015-11-19 07:11:48 5312

原创 Android开发如何实现和服务器的数据同步

这个问题,分为两部分,一个是客户端数据有变化了就上传,这个好说;第二个是服务器端有变化了,客户端要能知晓并从服务器端拉取到数据。这个有几种解决方法:方法1:定期从服务器上轮询和上传,缺点是不实时,不优美。方法2:服务器通过发送短信告诉客户端数据变化,客户端再去拉取。缺点是费钱,客户端在国外时貌似也不实时。方法3:服务器和客户端建立Socket并保持心跳,优点是实时,缺点是耗电。

2015-11-18 23:21:28 5322

转载 Android 接口定义语言AIDL使用解说

1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信 2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/

2015-11-18 23:16:25 495

转载 Android常见的两种启动服务的方式

1.Context.startService()方式启动 ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onStart()停止时,stopService –> onDestroy()如果调用者直接退出而没有停止Service,则Service 会一直在后台运行 Context.startService()

2015-11-18 23:12:22 1200

原创 android 把一个Activity窗口化的实现

1.在你的styles.xml文件中可以新建一如下的style:                    @drawable/float_box    如果窗口要添加窗口背景,可以在drawable中新建一个叫float_box.xml的文件,内容可以如下(自定义):                2.在AndroidManifes

2015-11-18 23:05:12 5870

原创 android SQLiteOpenHelper的使用方法

一、 SQLite介绍 SQLite是android内置的一个很小的关系型数据库。 SQLite的官网是http://www.sqlite.org/,可以去下载一些文档或相关信息。 博客中有一篇有稍微详细一点的介绍,大家可以去看一下。 二、 SQLiteOpenHelper的使用方法 SQLiteOpenHelper是一个辅助类来管理数据库的创建和版本。 可以通过继承这

2015-11-18 22:38:25 1064

原创 Android ProgressBar的案例

ProgressBar进度条10秒显示完成进度工作页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。  所以在这儿分享下希望帮助到一些朋友!下面是代码:public class ProgressBarStu extends Activity {  private ProgressBar progres

2015-11-18 22:27:36 674

原创 数据库 select @@identity说明

select @@identity的用法用select @@identity得到上一次插入记录时自动产生的ID如果你使用存储过程的话,将非常简单,代码如下:SET @NewID=@@IDENTITY说明:在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NUL

2015-11-18 19:42:15 2355

转载 java设计模式--两种单例模式实现

单例模式有以下三个特点:一、单例类在整个系统中只能有一个实例二、单例类必须自己创建自己的实例三、单例类必须系统中其他对象提供这个实例单例模式的好处就是:类只实例化一次,省资源,节省开销,提高速度第一种:饿汉式,在类被加载时,静态变量m_instance会被初始化,此时类的私有构造子会被调用。SingletonOne .javapackage desi

2015-11-17 23:02:40 565

转载 交换机知识--网络安全介绍

交换机知识--网络安全 ARP(Address Resolution Protocol,地址解析协议)用于将网络层的IP地址解析为数据链路层地址。IP地址只是主机在网络层中的地址,如果要将网络层中数据包传送给目的主机,必须知道目的主机的数据链路层地址(比如以太网络MAC地址)。因此必须将IP地址解析为数据链路层地址。ARP协议用于将IP地址解析为MAC地址,并在主机内部维护一张AR

2015-11-17 14:34:45 930

转载 网络常用命令集锦

网络常用命令 Windows XP系统,在“开始-运行”中输入cmd,确定后进入DOS会话框;Windows 98系统,可以在“开始-运行”中输入command ,进入DOS会话框,也可以直接切换到DOS模式。以下命令只适合在windows下使用。1、查看电脑的IP地址.、DNS地址和网卡的物理地址(MAC地址) windows XP :ipconfig/all 如下图所示

2015-11-17 14:25:32 668

原创 Android 的内存处理机制讲义

一、 Android的内存机制    Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。    那么GC怎么能够确认某一个对象是不是已经被废

2015-11-17 14:15:12 488

原创 Android MAT Memory Analyzer Tool安装配置解说

我们在开发项目过程中,有时候OOM让你猝不及防,不过出现了错误,就需要查找原因,所以就用到这个工具,安装比较麻烦,贴出来和大家共享一下:第一步:下载Eclipse MAT下载地址:http://www.eclipse.org/mat/downloads.php 第二步:下载之后将压缩包解压,放置到Myeclipse 的\MyEclipse\dropins目录下

2015-11-17 13:44:50 995

原创 Android 内存管理介绍

概述在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在是少的可怜。这样就需要我们在开发过程中要时刻注意。不要因为自己的代码问题而造成OOM错误。JAVA的内存管理大家都知道,android应用层是由java开发的,android的davlik虚

2015-11-17 13:01:09 693

原创 Android ACCESS_COARSE_LOCATION的用途和介绍

ACCESS_COARSE_LOCATION访问CellID或WiFi,只要当前设备可以接收到基站的服务信号,便可获得位置信息。(COARSE英文原意为:粗略的,可以理解为这种方式获得的位置信息是相对粗略的数据)。使用方法:Manifest.xml中需要添加Permission:android:name="android.permission.ACCESS_COARSE_LOCATIO

2015-11-17 12:20:34 60992 3

原创 软件设计 OOA和OOD的作用及说明

“Object Oriented Analyzing 面向对象分析  Object Oriented Design 面向对象设计  Object Oriented Programming 面向对象编程(或者有的就叫面向对象程序设计,我理解为编码实现)”这里只讲了OOA和OOD,OOP的东西稍后再找。1.OOAOOA的主要工作是软件的需求,对要解决的问题进行分

2015-11-17 11:53:40 3996 1

原创 Android adb shell删除文件和文件夹的操作

tools>adb remount tools>adb shell #su #cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹

2015-11-16 16:58:34 52799 1

原创 Android onAttachedToWindow的应用场景介绍

若需实现圆角对话框Activity,需要在Activity的onAttachedToWindow()函数中做文章,那么就想问:onAttachedToWindow在整个Activity的生命周期中占据什么位置?为什么要在onAttachedToWindow中修改窗口尺寸? 一、onAttachedToWindow在Activity生命周期中的位置根据

2015-11-15 21:56:28 1677

原创 Android ListView setSelection()方法的介绍

一般来讲app中的数据都是以ListView的形式展示的。默认地,把“新”数据添加到数据列表的尾部。但是,如果是IM类型的app,比如查看历史消息这个模块。新数据并不是插到数据列表的尾部,而是插到数据列表的头部。要实现比较好的用户体验,需要保持当前的ListView的位置。换句话说,如果我们能够随心所欲地指定ListView滚动的位置,那么这个问题就迎刃而解。在ListVi

2015-11-15 20:50:26 3329

转载 URI is not registered ( Setting | Project Settings | Schemas and DTDs ) 解决方案

问题出现描述:For me this was because I was using a debug and release build variant. I added the new folders src/debug/res/layout/some_layout.xml file manually, and it didn't recognize the URI. 使用b

2015-11-15 12:24:01 5449

原创 Android 将程序从后台转到前台

将程序从后台转到前台   只总结关键代码     ActivityManager manager = (ActivityManager) context              .getSystemService(Context.ACTIVITY_SERVICE);      List task_info = manager              .get

2015-11-13 10:07:04 4686 1

原创 Android 音乐播放器用到的几个方法解说

MediaPlayer类可用于控制音频/视频文件或流的播放,我曾在《Android开发之基于Service的音乐播放器》一文中介绍过它的使用。下面让我们看一下MediaPlayer类的详细介绍。一、类结构:java.lang.Object   ?android.media.MediaPlayer 二、构

2015-11-12 23:04:34 3165

转载 android 守护线程Daemon解说

Java将线程分为User线程和Daemon线程两种。其中Daemon thread即守护线程。1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程   2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。   通常Daemon线程用来为User

2015-11-12 22:47:27 4097

LoopPageView

通过自定义ViewGroup实现上下左右滑动和页面切换,里面包括实现了一些属性动画的计算和配置,让应用的界面拖动的过程中的动画效果展示的更流畅

2017-12-09

android 自定义频谱实现

android 常见的音频播放中,频谱特效,尤其是播放MP3的时候,我们经常见到的效果。

2016-02-29

android 音乐律动频谱实现

本Demo实现了android 音乐播放器等音频播放中频谱跳动的实现,可以通过调节均衡器实现完美的效果.

2016-02-29

HelveticaNeueLTPro-Lt

这是一款很全的字体样式,可以做本地优化处理,可以在移动开发中有很大帮助

2016-01-27

slidingmenu里嵌套viewpager

该项目详细的举例做出了slidingmenu里面嵌入viewpager的效果,供参考使用

2015-01-07

TOAD12下载链接及序列号

该文档是方便下载TOAD for ORACLE以及注册完成

2014-12-10

空空如也

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

TA关注的人

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