
Android
文章平均质量分 77
亮宇
shawn.chan8585@gmail.com
展开
-
SPDY协议的Android实现 OKHTTP代码分析
1 概况 Introduction在Android上我们用开源项目OkHttp作为客户端的SPDY协议栈链接支持SPDY的网站,如Taobao CDN等。本文主要分析OkHttp是如何在Android的通信层扩展SPDY。先简要介绍一下SPDY。SPDY的主要目标:单个tcp连接支持并发的Http请求。这主要是解决目前http协议的一个连接只能服务一次请求的问题。压缩请求/响应头。转载 2014-12-04 16:18:24 · 7423 阅读 · 0 评论 -
【Google官方教程】第四课:在UI中显示Bitmap
转载自: http://my.oschina.net/ryanhoo/blog/88484译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对开转载 2012-11-12 10:50:04 · 540 阅读 · 0 评论 -
【Google官方教程】第三课:缓存Bitmap
转载自: http://my.oschina.net/ryanhoo/blog/88443译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对转载 2012-11-12 10:48:41 · 840 阅读 · 0 评论 -
【Google官方教程】第二课:在非UI线程处理Bitmap
转载自: http://my.oschina.net/ryanhoo/blog/88344译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对转载 2012-11-12 10:47:28 · 738 阅读 · 0 评论 -
【Google官方教程】第一课:高效地加载大Bitmap(位图)
转载自: http://my.oschina.net/ryanhoo/blog/88242译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对转载 2012-11-12 10:46:20 · 490 阅读 · 0 评论 -
【Google官方教程】前言:高效的Bitmap显示
转载自: http://my.oschina.net/ryanhoo/blog/88153译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对转载 2012-11-12 10:44:56 · 883 阅读 · 0 评论 -
Android系统搜索对话框(浮动搜索框)的使用 (转)
前言当您需要在您的应用程序中提供搜索服务时,您第一个想到的是您的搜索框要放哪呢?通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示您的应用程序图标。本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增原创 2012-06-25 15:06:01 · 1197 阅读 · 0 评论 -
javaweb & android 对比理解图 系列 图一
原创 2011-08-07 01:13:40 · 1115 阅读 · 1 评论 -
android Fragments详解
Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。Fragment不能独立存在,它必须嵌入到activit转载 2012-06-20 17:27:27 · 1642 阅读 · 0 评论 -
android 4.0动画学习
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 1. View Animation(Tween Anima转载 2012-06-21 15:05:43 · 1699 阅读 · 0 评论 -
Toast和Looper。Handler消息循环机制。
(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper交互的转载 2013-05-21 15:34:30 · 634 阅读 · 0 评论 -
坐标系算法
在开始这个题目之前,先给大家再次扫扫盲,扫的不是坐标系统的盲,而是我们国家所使用的坐标系统。大家都知道,美国GPS使用的是WGS84的坐标系统,以经纬度的形式来表示地球平面上的某一个位置,这应该是国际共识。但在我国,出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标,我们在业内将前者称之为地球坐标,后者称之为火星坐标,具转载 2013-06-25 17:40:35 · 1816 阅读 · 0 评论 -
JNI的某些数组和字符串类型转换(转)
JNICC++C#Windowsjbytearray转c++byte数组 C代码 [c] view plaincopyjbyte * arrayBody = env->GetByteArrayElements(data,0); jsize theArrayLengthJ = env->GetArrayLeng转载 2013-08-09 11:13:20 · 673 阅读 · 0 评论 -
基础应用框架之Image Pool
本章介绍基础应用框架层的Image Pool模块。Image Pool模块提供了服务端图片下载的统一解决方案。通过控制图片内存使用量;减少图片重复下载;与Android View的无缝结合等,提供图片下载的最佳实践。 1.1 特性 Feature1.1.1 图片内存管理在And转载 2014-12-04 16:46:25 · 2454 阅读 · 1 评论 -
一些非常实用的 Android 开发资源 【转】
1. Android Annotations Android Annotations是一个能够加速Android开发的开源框架,它可以帮助开发者处理一些前后台任务、rest服务、应用类、代码片段等,让开发者专注于真正重要的东西。 2. ActionBarSherlok ActionBarSherlock是一个扩展的Android支持库,旨在允许开发者通过一个单一的A转载 2014-12-04 16:36:11 · 763 阅读 · 0 评论 -
Android的线程和内存模型
Android的线程和内存模型Android操作系统在boot后,会启动一个Zygote(受精卵)进程,Zygote进程负责创建大部分应用程序进程。Zygote进程启动加载核心程序库和数据结构到内存后会创建一个Dalvik虚拟机(DVM)进程--SystemServer,此进程会包含大部分的系统服务(包括管理Activity的服务ActivityManagerService),System转载 2014-12-04 14:42:31 · 2541 阅读 · 0 评论 -
android程序自动化生成apk的过程
在编写android的时候,写好java代码后,eclipse直接帮我们生成了可安装的apk,但有时需要自动化的去生成个性化apk的时候,我们就需要编写脚本或代码来自动生成一个apk,在生成apk之前必须了解下android编译apk的过程; 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对转载 2014-12-03 17:15:19 · 878 阅读 · 0 评论 -
Android 插件化
1、作用大多数朋友开始接触这个问题是因为 App 爆棚了,方法数超过了一个 Dex 最大方法数 65535 的上限,从这个介绍中也知道可以通过多个 Dex 来解决这个问题,因而便有了插件化的概念,将一个 App 划分为多个插件(Dex或相关格式)常用的其他解决方法还包括:删无用代码,用 H5 代替部分逻辑,买付费版的 Proguard插件化的其他作用包括:(1) 模块解耦,(2)转载 2014-09-11 17:58:41 · 837 阅读 · 0 评论 -
Google Map For Android V2 使用方法
本笔记将学习如何使用Google Map服务。主要参考来源为:https://developers.google.com/maps/documentation/android/start?hl=zh-CN。要在模拟器和实际手机上跑通还是费了一番周折。最新的Google Maps Android API v2已经将map服务合并到Google Play services中,但是国内手机并不提供G转载 2013-09-21 22:02:17 · 1556 阅读 · 0 评论 -
[译]Android冰淇淋三明治ICS(4.0+)JNI局部引用的变化
译序:这篇文章的内容实际是在我发现一个项目bug后寻找解决方案时找到的,当时项目原有target为8(ICS 4.0之前的2.X版本),在4.0+的S3上运行一切正常,而后target升级到14时再在S3上运行时就会出现类似如下的native crash:05-13 14:07:13.139: E/dalvikvm(22265): JNI ERROR (app bug)转载 2013-09-02 21:41:32 · 1048 阅读 · 0 评论 -
JNI学习积累之一 ---- 常用函数大全
转载,原文出自:http://blog.youkuaiyun.com/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 。心里想着该写点什么了?可是水平不够,再加上 包括很多真转载 2013-08-10 19:14:39 · 632 阅读 · 0 评论 -
JNI 各种优化方案
转自: http://www.ibm.com/developerworks/cn/java/j-jni/最好看原版吧,排版非常好,这里粘贴是为了备份一下!Java 环境和语言对于应用程序开发来说是非常安全和高效的。但是,一些应用程序却需要执行纯 Java 程序无法完成的一些任务,比如:JNI 的发展JNI 自从 JDK 1.1 发行转载 2013-08-10 19:12:18 · 3535 阅读 · 0 评论 -
android loader 详解
装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它们监视数据源的一将一动并在内容改变时传送新的结果。当由于配置改变而被重新创建后,它们自动重连到上一个加载器的游标,所以不必重新查询数据。转载 2012-06-21 16:08:13 · 6186 阅读 · 3 评论 -
Android 用户界面---拖放(Drag and Drop)
用Android的拖放框架,能够允许用户使用图形化的拖放手势,把数据从当前布局中的一个View对象中移到另一个View对象中。这个框架包括:拖拽事件类、拖拽监听器、以及辅助的方法和类。尽管这个框架主要是为数据移动设计的,但是你能够把它用于其他的UI操作。如,你能够创建一个调色应用程序,用户把一个颜色的图标拖到另一个颜色图标之上,完成两个颜色的调配操作。概要当用户使用一些被认可的手势信号转载 2012-06-20 17:24:16 · 2810 阅读 · 0 评论 -
(转载) android APN切换cmwap实现
有的中国移动的业务需要走CMWAP接入点才能够连接网络的,在做这类应用的时候,不可避免地需要判断当前APN, 切换APN,以及成功连接到网络后连接到服务器。 首先,获取当前的APN有两种方式,一种是从当前系统的网络连接服务获取,即通过 ConnectivityManager conManager= (ConnectivityManager) getSystemService(Context原创 2012-04-24 10:37:31 · 889 阅读 · 0 评论 -
Android 中的 OpenGL 简单入门 (下)
Android 中的 OpenGL 简单入门 (下) 上篇博客中已经介绍了如何使用openGL为android提供的api绘制出简单的三角形和四边形,,,,上篇博客地址http://blog.youkuaiyun.com/a15874647/article/details/67原创 2011-08-25 19:47:48 · 2303 阅读 · 1 评论 -
使用Memory Analyzer Tool(MAT)Eclipse插件分析内存泄露
前言在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoa转载 2011-08-23 05:45:45 · 7293 阅读 · 1 评论 -
深入理解 Android 的 IPC 机制--------Binder
在android中,,应用程序虽然是以独立的进程来运行的,但相互之间还是需要通信。。比如,,我们的应用程序 和后台服务往往会运行不同的进程当中,,各自有这独立内存地址空间,,,但是又要彼此互相合作,,,需要进行通信和数据共享,,在linux下,进程通信的方式有 socket,,原创 2011-08-20 05:28:46 · 2213 阅读 · 0 评论 -
Android系统架构----&----Android初始化流程
Android 系统架构 分为五层1,应用程序层如桌面 home,E-mail客户端,SMS/MMS短消息,日历,地图,浏览器,联系人程序等···当然还包括我们自己用写的程序,,,或是使用java中的JNI技术配合android-NDK开发的应用程序2,应原创 2011-08-17 19:04:52 · 2515 阅读 · 0 评论 -
Android 中的 OpenGL 简单入门(上)
OpenGL(open graphics library) Open GL 于 Open GL ES 之间的关系,,OpenGL ES 是专为内嵌和移动设备设计的一个2D/3D的一个轻量级图形库,,它是基于OpenGL API设计的,,,是Open原创 2011-08-24 02:55:52 · 2565 阅读 · 2 评论 -
Activity和Window以及View之间的聚合关系及创建流程
这里根据我个人的理解来讲讲我个人对这3个概念的理解Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent, onTouchEvent等。 并维护应用程序的生命周期(由于android应用程序的运行环境原创 2011-09-11 09:53:39 · 1974 阅读 · 1 评论 -
android 五个进程等级
Android五个进程等级 1、前台进程(Foreground process): 用户当前工作所需要的。一个进程如果满足下列任何条件被认为是前台进程: 正运行着一个正在与用户交互的活动(Activity对象的onResume()方法已经被调用)。 寄宿了转载 2011-09-12 17:47:47 · 1280 阅读 · 0 评论 -
Google Map Api 在android 中的使用(转载)
它包括如下功能:·我的位置(测试版):“我的位置”在地图上显示你的当前位置(通常在 1000 米范围之内)。即使没有 GPS,你也可以确定自己的位置。谷歌手机地图还支持内置 GPS,也可以链接到蓝牙 GPS 传感器,以便更准确地确定用户的位置。“我的位置”功能是通过识别你附近原创 2011-09-13 21:16:03 · 4707 阅读 · 2 评论 -
万能 dao 增删改查一个方法搞定
package heima.shawn.utils;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.sql.Connection;import java.sq原创 2011-08-30 05:13:57 · 2216 阅读 · 3 评论 -
Android C2DM学习——云端推送
一.基础知识当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震及时通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现。第二种就是服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。虽然P转载 2011-11-15 11:24:01 · 1697 阅读 · 1 评论 -
Android C2DM学习——客户端代码开发
一.基础知识 在前一部分中,我们从整体上快速介绍并实现了下Android C2DM的Push功能,在接下来的部分里,我们先来回顾一下C2DM相关的整体上的知识,然后具体介绍说明实现的过程。 在前面的C2DM框架说明中,我们已经知道,要实现Android的C2DM推送功能,需要涉及到三个功能实体: 1. Android设备:推送消息的接收端,在上面会运行我们的客户端程序转载 2011-11-15 11:26:27 · 1654 阅读 · 0 评论 -
Android C2DM学习——服务器端代码开发
一.基础知识 在前一部分,我们使用curl命令来代替了服务器端的实现,虽然在测试时使用curl命令是一个很是简单方便的模拟方式,但实际使用中我们需要把C2DM相关的服务器部分功能结合到已有的框架中,因此需要使用具体的代码来实现。 第三方服务器端部分的功能主要是通过C2DM服务器向客户端发送要推送的数据。 为了发送数据,第三方服务器需要向这个地址转载 2011-11-15 11:27:38 · 1378 阅读 · 1 评论 -
跑猴子命令
adb shell monkey -s 35359563 -p com.mapbar.android.mapbarmap --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --kill-process-after-error --pct-trackball 0 --pct-原创 2012-03-11 15:42:55 · 601 阅读 · 0 评论 -
(转载) ubuntu没有 inittab文件
虽然没有系统默认没有这个文件,但是你可以自己建一个inittab文件, 因为从/etc/event.d/中的rc-default文件中代码可以看出: script runlevel --reboot || true if grep -q -w -- "-s\|single\|S" /proc/cmdline; then telinit S elif [ -r /etc/原创 2012-03-28 00:17:27 · 1281 阅读 · 0 评论 -
activity属性随记
1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“true”表示可以移动,“false”表示它必须呆在当前应用的task中,默认值为false。如果一个这个Activity的元素没有设定此属性,设定在上的此属性会对此Activity起作用。例如在一个应用中原创 2012-03-26 17:54:15 · 584 阅读 · 0 评论