随笔分类 -  android

jni和java对应关系
摘要:Java 类型本地类型描述booleanjbooleanC/C++8位整型bytejbyteC/C++带符号的8位整型charjcharC/C++无符号的16位整型shortjshortC/C++带符号的16位整型intjintC/C++带符号的32位整型longjlongC/C++带符号的64位整型efloatjfloatC/C++32位浮点型doublejdoubleC/C++64位浮点型Ob... 阅读全文

posted @ 2016-10-27 15:20 ①块腹肌 阅读(821) 评论(0) 推荐(0) 编辑

Android 推送通知指南(转载)
摘要:在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就是准备采用这个服务来实现自己手机上的推送功能。Android Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供 阅读全文

posted @ 2012-09-13 10:20 ①块腹肌 阅读(1691) 评论(0) 推荐(1) 编辑

语音编码的WAVE文件头格式剖析
摘要:WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。合理利用WAVE文件头可以更有效地进行语音解码。 通常意义上说的语音编码都是指将8KHz采样、16比特量化的线性PCM语音信号压缩成其它格式的语音信号,解码时就将其它格式的语音信号变换成8KHz采样、16比特量化的线性PCM语音信号。一般说来,这个转换过程比较复杂,费时费力。如果对其它格式的语音信号直接加上对应的WAVE文件头就不用这个转换过程,用微软自带的录音机就可解码语音。 下面.. 阅读全文

posted @ 2012-08-16 10:39 ①块腹肌 阅读(2385) 评论(0) 推荐(0) 编辑

(原创)滑动按钮,滑动锁的实现
摘要:先上图:大概就是这种效果,你可以用于滑动解锁,也可以当做个性化的Button来用这个我已经进行了封装,可以直接在xml中进行编写,然后在activity中重写ontouch方法进行button的判断即可,不用你再调整任何东西,滑动什么的都是自动适配的我把这种Button命名为SlidingButton,先看一下代码吧,都是非常简单易用的:package com.test.slidingbutton;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import andr 阅读全文

posted @ 2012-05-29 14:33 ①块腹肌 阅读(6497) 评论(1) 推荐(0) 编辑

Android Touch事件传递机制解析
摘要:没事逛论坛,无意间看到了一篇非常不错的帖子,转载如下: 开篇语:最近程序在做一个小效果,要用到touch,结果整得云里面雾里的,干脆就好好把android touch机制好好看了一下,呵呵。。 android系统中的每个ViewGroup的子类都具有下面三个和TouchEvent处理密切相关的方法: 1)public boolean dispatchTouchEvent(Motio... 阅读全文

posted @ 2012-04-25 14:20 ①块腹肌 阅读(29909) 评论(12) 推荐(4) 编辑

Android偏移动画-转圈的Button
摘要:以前做项目碰到过一个需求,就是有5个button,这5个button要围绕一个点不停的转动,而且点击不同的button会进行相应的逻辑,比如activity的跳转等.就类似于gallery,但是又有所不同有人会首先想到用偏移动画,但是android的偏移动画只是动画,也就是说你从A点移动B点,看上去是移动过去了,但是点击的事件触发却还是在A点,实际上没有真正的偏移过去,只是欺骗眼睛罢了,但是在android2.2以后api提供了这样的一个方法setPosition(),这个方法的好处是你可以监听动画,假如一段动画完成了你可以动态的得到现在button的位置,然后set进去,这样也可以完成操作, 阅读全文

posted @ 2012-04-22 22:01 ①块腹肌 阅读(5570) 评论(0) 推荐(2) 编辑

PendingIntent和Intent的区别
摘要:An Intent is something that is used right now; a PendingIntent is something that may create an Intent in the future. You will use a PendingIntent with Notifications, AlarmManager, etc. Notification... 阅读全文

posted @ 2012-04-18 17:51 ①块腹肌 阅读(7708) 评论(0) 推荐(2) 编辑

cmwap联网失败与移动的推送页
摘要:我在用j2me和android访问我们自己的服务器时,如果选用cmwap连接是有时候会返回这样的信息(抓包抓的): <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml><card><p><do... 阅读全文

posted @ 2012-03-15 19:23 ①块腹肌 阅读(1357) 评论(0) 推荐(0) 编辑

android4.0.3 修改启动动画和开机声音
摘要:1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片);2. Android平台启动初始化,出现"A N D R I O D"文字字样画面;3. Android平台图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。 阅读全文

posted @ 2012-03-07 18:05 ①块腹肌 阅读(42946) 评论(11) 推荐(6) 编辑

让你自己写的Android的Launcher成为系统中第一个启动的,也是唯一的Launcher
摘要:如果你要定制一个Android系统,你想用你自己的Launcher(Home)作主界面来替换Android自己的Home,而且不希望用户安装的Launcher来替换掉你的Launcher. 我们可以通过修改Framework来实现这样的功能。 这里以Android2.1的源代码为例来实际说明。 1)首先了解一下Android的启动过程。 Android系统的启动先从Zygote开始... 阅读全文

posted @ 2012-03-04 16:47 ①块腹肌 阅读(28453) 评论(0) 推荐(3) 编辑

Mainifest的加载和解析
摘要:1:它是在系统启动时,被PackagedManageService这样一个系统级的服务加载(所有应用程序的),解析后映射到共享内存中,供使用时查询。 2:当应用程序启动时,launcher会进行一些系统级别的判断,从而从共享内存中进行取出,进行实例化。 3:当某个应用程序有多个activity或者service时,他会继续从共享内存中查询取出并且进行实例化。 阅读全文

posted @ 2012-02-29 23:43 ①块腹肌 阅读(819) 评论(0) 推荐(0) 编辑

android编译错误及解决方法
摘要:1.设置编译选项为make -j5 TARGET_ARCH=x86 TARGET_PRODUCT=generic TARGET_SIMULATOR=false TARGET_BUILD_TYPE=release TARGET_OS=linux LOCAL_PRELINK_MODULE=false2.build/core/envsetup.mk 中 91行 设置为x86(该步骤可以省略)3.修改build/tools/dexpreopt目录中Android.mk为Android-arm.mk,不编译该模块(该模块以来与emulator)。make: *** No rule to make tar 阅读全文

posted @ 2012-02-29 16:24 ①块腹肌 阅读(23754) 评论(0) 推荐(1) 编辑

android process lifecycle 进程等级
摘要:首先,andorid的内核是linux,ios的内核是unix,他们的线程销毁都是由系统决定的。android的process有5个等级:1、Foreground Process (前台进程)foreground 的优先级最高,他处于前台a 正处于Activity Resume()状态b 正处于与bound服务交互的状态c 正处于服务在前台的状态,(startForeground()被调用)d Service生命周期函数正在被执行(onCreate(),onStart(),onDestroy())e BroadcastReceiver正在执行onReceive()方法杀死Foreground 阅读全文

posted @ 2012-02-27 18:09 ①块腹肌 阅读(792) 评论(0) 推荐(0) 编辑

android 4.0.3最新源码下载编译
摘要:最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本差不多,但是有一些小的差别,写下来供不明真相的新手来参考 首先,开发环境,google建议在ubuntu10.0.4下,并且最好是64位,既然是为了工作和学习,就尽量按照官方要求的来吧。 P 阅读全文

posted @ 2012-02-27 13:38 ①块腹肌 阅读(24794) 评论(4) 推荐(2) 编辑

让你的模拟器不再卡:VirtualBox安裝 Android-x86 4.0
摘要:为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。这样一来 Android 模拟器需要做一些额外的二进制翻译工作。 2. Android 模拟器用的是 QEMU 的全系统模式(full system),也就说它模拟时需要启动整个 GUEST 系统,初始化各种模拟设备。相反的,iOS 和 WP7 的模拟器只是 user-mode 的模拟。 3. 在 Android 模拟器 阅读全文

posted @ 2012-02-26 16:39 ①块腹肌 阅读(40990) 评论(1) 推荐(2) 编辑

CursorAdapter与CursorFilter机制
摘要:Android为ListView提供了Filter对象,对显示的条目进行过滤。最常见的用法就是Contact中,根据在输入框中输入姓名的字母显示过滤。当然android系统中默认提供的过滤功能非常有限,不支持号码或是其他信息过滤。我曾见过有人为了支持对号码的过滤,就将 Android提供的那套机制屏蔽掉,每当过滤事件发生时,手动起AsyncQueryHander去异步查询。当查询完毕时调用 CursorAdapter.changeCursor更新Cursor。虽然基本上做法没错,流程上也跟Android实现过滤的机制大体相同,但重复了制造轮子的过程,而原有的轮子,只需稍加修改足以满足新的需求。 阅读全文

posted @ 2012-02-21 01:39 ①块腹肌 阅读(1469) 评论(0) 推荐(0) 编辑

android_launcher的源码详细分析
摘要:转载请注明出处:http://blog.csdn.net/fzh0803/archive/2011/03/26/6279995.aspx去年做了launcher相关的工作,看了很长时间。很多人都在修改launcher,但还没有详细的文档,把自己积累的东西分享出来,大家一起积累。这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了。一、主要文件和类1.Launcher.java:launcher中主要的activity。2.DragLayer.java:launcher layout的rootview。DragLayer实际上也是一个抽象的界面,用来处理拖动和对 阅读全文

posted @ 2012-02-17 10:48 ①块腹肌 阅读(2307) 评论(1) 推荐(0) 编辑

SD功能移植
摘要:SDcard porting一、进程启动和配置文件的分析vold的全称是volume daemon。实际上是负责完成系统的CDROM, USB大容量存储,MMC卡等扩展存储的挂载任务自动完成的守护进程。它提供的主要特点是支持这些存储外设的热插拔。在Android上的这个vold系统和GNU/Linux的之间存在很大的差异,这里主要是分析Android上的vold系统的处理过程。自Android 2.2开始,vold又做了大改动,升级为vold 2.0,之前的配置文件是 system/etc/vold.conf,vold 2.0变为system/etc/vold.fstab。1、启动vold . 阅读全文

posted @ 2012-01-02 13:17 ①块腹肌 阅读(1756) 评论(0) 推荐(0) 编辑

USB充电插拔与USB Debugging connect提示
摘要:在 packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java找到关于 USB Debug Enable 的代码:1 Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0 ); Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0); 别处将根据其值动态变化做出相应动作如状态栏消息提示。void observ... 阅读全文

posted @ 2012-01-02 13:15 ①块腹肌 阅读(3426) 评论(0) 推荐(0) 编辑

SurfaceView 透明和半透明
摘要:透明//Transparent半透明//Translucentimportandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.PixelFormat;importandroid.os.Bundle;importandroid.view.MotionEvent;importandroid.view.Surfac 阅读全文

posted @ 2012-01-01 23:06 ①块腹肌 阅读(11670) 评论(0) 推荐(0) 编辑

导航