自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

long704480904

The world will never be lonely, no matter when, where and who

  • 博客(41)
  • 收藏
  • 关注

原创 Android艺术探索--IPC机制

Android中的IPC机制介绍Android中多进程开发模式中序列化机制binder AIDLAndroid IPC简介多进程的由来Android多进程模式Android多进程的运行机制BinderAndroid IPC的方式离线写博客导入导出Markdown文件丰富的快捷键IPC简介 IPC 是inter Process Communicatio

2016-12-05 21:09:38 499 1

转载 Google Protocol Buffer

1.ProtocolBuffers是啥 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。2.ProtocolBuffers 的有点XM

2015-07-23 23:48:43 789

转载 长连接为何要发送心跳包

最近面试的时候,被闻到关于Android IM 的问题,因为之前做过一个类似于微信的聊天软件,当时面试官问我,为啥后台需要发送心跳包,我说发送心跳包的作用是维持长链接,然后面试官问我,为啥长连接要发送心跳包的时候,我愣住了, 我也不知道为啥长链接需要发送心跳包    回来之后我查询资料后发现,Android的推送在后台维持的服务都会发送心跳包来维持长连接,当一台智能手机连上移动网络的时候,其实

2015-07-23 22:42:23 12503 2

转载 Android apk中安装另一个apk

转载只是为了自己更好的查阅,原文章地址:http://www.eoeandroid.com/thread-561973-1-1.html一种 发给系统 让系统安装  但是会出现 安装界面  还得点击  比较麻烦。 一种 是 静默安装,  不了解的 百度一下就出来了。 这个安装后,  如果手机安装了 360  百度管家 等软家  在通知栏会提示 软件安装成功。         

2015-06-15 22:22:48 6430

翻译 学习 Smack(二)

使用Chat GroupChat发送消息往复的发送消息处于通信的核心地位,两个类辅助发送消息与接收消息org.jivesoftware.smack.Chat --用于在两个人之间发送消息。org.jivesoftware.smack.GroupChat --用于加入聊天室在多个人之间发送消息。Chat与GroupChat都是使用Message Packet来发送消息,在

2014-11-25 23:20:44 819

翻译 学习 Smack(一)

学习 Smack(一)Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天,Android 上对于Asmck的实现是Asmck

2014-11-25 21:02:15 800

翻译 openfire部分类说明

1. build path:a) source folder:包括openfire和各插件的代码。b) libraries:build/lib下jar包和插件下jar包,jdk/lib/tools.jar(编译jsp需要)。 2. ant build:build/build.xmla) openfire(default):构建openfire。b) plugins:构建

2014-11-23 22:12:46 823

转载 Android Sqlite 数据库版本更新

Android Sqlite 数据库版本更新http://87426628.blog.163.com/blog/static/6069361820131069485844/1.自己写一个类继承自SqliteOpenHelper2.会实现SqliteOpenHelper的两个方法 onCreate与onUpgrade,google文档对两个回调方法的解释是创建数据库的时候调用与更

2014-11-20 23:17:28 24708

转载 Java 线程池 队列

1.使用线程池的目的:

2014-10-29 23:48:29 884

转载 Android 事件分发机制

Android 事件分发机制1.Activity的最顶层的Window是

2014-04-05 23:32:42 1284

转载 android内存溢出的解决方法

1.当项目中包含大量的图片的时候或者图片的数量太大的时候:BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 42.对图片采用软引用,及时的的recyle() 操作SoftReference bitmap; bitmap = new SoftReference

2013-12-22 15:35:38 1035

转载 AudioRecord MeadiaRecord

Android 提供的两个API同来实现录音两个类的主要区别与特性:AudioRecord:主要实现音频的边录边播(AudioRecord+AudioTrack),已经音频的实时处理优点:语音的实时处理,可以用代码来实现音频的封装缺点:输出的是PCM数据,如果保存为音频文件是不能被音频播放器播放的,必须先写代码实现数据编码以及压缩示例:AudioRecord类录音实现WAV 格

2013-10-15 16:53:31 1235

原创 ArrayList详解(1)

通常 程序运行总是根据运行时才知道的条件创建新对象,不到运行时,不会知道所需要对象的数量,甚至不知道确切的类型,为解决这个普遍的编程问题,需要能够在任意的时刻和任意的位置穿件任意数量的对象,所以不能根据依靠创建命名的引用来持有每一个对象,MyObject object ;因为你不知道实际上会需要多少个这样的引用,大多数的语言都会提供某种方法来解决这个问题,Java有多种方式保存对象(准确来

2013-09-22 23:58:23 1338

转载 Java Native 方法

Java 调用别的语言写的方法1.什么是Native Method简单的说就是Java调用其他非Java代码的接口,一个Native Method是这样的一个Java方法:该方法的实现是由非Java语言实现,譬如C,这些特征并非Java所有的特征,很多编程语言都有这一机制在定义一个Native Method的时候,并不提供方法的实现体,有些类似于Java语言中的接口,因为其实现体是由非

2013-07-06 23:23:37 4419

转载 Android ViewPager ViewFilpper ViewFlow

ViewPager:ViewPager提供了多个界面切换的效果,新效果有如下的特征1.当前显示一组界面中的其中一个界面2.用户通过左右滑动界面的时候,当前屏幕显示当前界面跟下一个界面的一部分3.滑动结束后,当前界面自动跳转到下一界面ViewPager源于google的补充组件 android-support-v4.jar  位置位于android sdk文件夹下的android

2013-06-04 11:27:26 1857

原创 Android LinearLayout 自动换行

由于前段时间项目中使用到了自动换行的线性布局,本来打算用表格布局在里面一个个的用Java代码添加ImageView的,但是添加的View控件是不确定的,因为得靠服务器的数据返回,就这样手动用Java代码画布局的方式就这样夭折了,因为在表哥布局中我无法确定一行显示多少个ImageView的数目,所以无法动态添加,最后自能自己去看看那种能够换行的线性布局了,线性布局比较不好的是不能自动换行,也就是当设

2013-06-03 15:43:11 58405 16

原创 Android ImageView ScaleType

在使用Android ImageView 的时候很多时候需要使用ScaleType属性来设置图片的显示方式,      ScaleType的属性值在Xml文件定义中已经给出来了,固定的值如:matrix ,fitXY,fitStart,fitCenter,fitEnd,Center,CenterCrop,CenterInside     他们之间的区别如下:matrix:用矩阵来绘制图

2013-06-02 17:35:38 2910 1

转载 Android中的多线程的应用

多线程的概念:多线程指在单个程序中中可以运行多个同的线程,执行不同的任务,多线程意味着程序的多行语句可以看上去几乎在同一时间运行。线程与进程的相似之处。线程是一段可以完成特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的线程共享一块内存空间和一组系统资源,所以系统在各个系统之间切换的时候资源占用比进程少的多,正因为如此,线程被称为轻量级进程,一个进程可以包含多个线程ja

2013-05-08 22:44:15 813

转载 Android高效现实图片问题2

1.如何在非UI线程中处理位图前面一篇文章已经介绍了BitmapFactory.Decode方法,不应该在主线程中被调用(除非位图的来源是内存),因为加载位图的时间是不可预知的,而且她还依赖了很多的其他因素,例如磁盘的读取时间,CPU的功率,图片的大小等因素,无论上述的任何人一个因素导致了UI线程被阻塞,那么系统将应用程序标记为无响应状态,此时用户有权关闭应用。     本文将引导如何在异

2013-04-21 20:01:20 765

转载 Android 高效现实图片问题

1.为什么显示图片的问题很棘手?手机显示一张800万像素的图片(现在主流的手机像素都是在800万像素以上),大约需要32M的内存,而32M内存刚好是Android系统分配给应用的最大内存限制数目,当然有的手机分配是的16M,有的甚至只有8M,这个根据手机的总共RAM与版本有一定得联系,所以如果手机中的应用打开一张这样的图片的话,基本上都会遇到内存泄露的问题,导致的内存严重不足,一般情况下将会导

2013-04-21 02:25:26 3200

转载 设计模式1(工厂模式)

转载:http://blog.csdn.net/zhangerqing设计模式(Design Patterns)       可复用面向对象软件的基础1.设计模式:反复使用,为多数人知晓的,经过分类编目的,代码设计的总结2.可重用代码,让代码更容易让人理解,保证代码的可靠性,使代码编程工程化3.设计模式的分类: 3.1创建型模型:工厂方法模式,抽象工厂模式,单例模式,建

2013-04-15 22:58:03 661

原创 Android 获取远程图片与本地图片缓存

1.意义:加快读取速度,减少流量的消耗,减少崩溃的次数2.Android应用中的UI现成5秒没有相应的话就会强制抛出异常,俗称ANR(Appliction Not Responce),对于获取远程的资源,这里特指的是从服务器获取的数据譬如图片等等,这种异常将会更加容易被抛出来,所以在Android 4.0 里面将限制了网络的访问,不允许将网络的访问放在主线程,低于4.0的版本就不会收到限制

2013-04-11 10:01:13 4357

原创 Android 开发编码规范

1.Java 代码中不要出现中文,因为出现中文的地方都可以放在资源管理的string.xml文件中,这样做的好处是需求更改的时候,只需要去更改一个地方就行了,省去在Java代码里面查找的麻烦。2.局部变量命名,静态成员变量命名,单词首写字母大写,其他字母小写3.全局静态变量,常量的命名单词之间使用下划线分割,每个单词大写4.布局里面的id命名模式    view缩写+模块名称+view

2013-04-10 10:55:33 802

原创 Java 性能优化(防止内存泄漏)

垃圾回收器是根据对象被引用数来决定是否回收的,也就是说没一个对象在内存中都会有一个计数器,保存该对象当前被引用的次数,如果被引用的次数为0 的时候,垃圾回收器就会选择一个适当的实际将该对象所占的内存空间回收,并将该对象释放,问题就出在这个计数器上,如果该计数器不为0,也就是说对象仍然会被一次或者多次引用,而我们并没有意识到这一点,那么这个引用计数器就永远不会是0了,就会造成这个对象永远不会被释放,

2013-04-09 10:58:48 1202

转载 获取所有APP包名和启动Activity名

转载自:http://my.eoe.cn/870420/archive/1314.htmlpublic class MainActivity extends Activity { ArrayList list; private List mApps; private ResolveInfo info; @Override public void onCreate(Bundle s

2013-03-30 21:43:54 10057

转载 Android获取应用运行次数

1.android获取应用的启动或者是运行的次数的作用主要是用来在用户第一次启动的时候,给用户使用的说明2.获取应用启动的次数,能够知道用户的点击量与使用频率PackageManager manager = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN); List info

2013-03-30 21:15:35 5974 1

转载 Android 工具代码

1.获取应用下的所以Activitypublic static ArrayList getActivities(Context ctx) { ArrayList result = new ArrayList(); Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.setPackage(c

2013-03-20 14:16:02 1058

转载 Android NDK入门理解

误解1:NDK 发布之前,Android不支持C语言进行开发从android平台诞生的那一刻起,就意味着android能进行C/C++调用动态链接库进行开发,开发第三方应用的时候不一定必须使用java语言进行开发,但是并不仅仅的限制于java语言来开发第三方应用,因为google曾今在自己的android帮助文档中声明,它的Dalvik虚拟机支持JNI的调用方式,也就是开发第三方应用的时候完全

2013-03-18 22:24:16 1726

原创 Android ListView 分页加载

拥有ScrollBar组件中不能在嵌套ScrollBar组件,譬如ScrollView组件里面不能嵌套ListView或者是GridView,这个在源码里面就有这样的解释,因为这样是不科学的,存在两个可以滑动的组件的时候,将会出现滑动混淆的情况,譬如我想滑动里面的ListView的时候,那么现在外面的GridView是否选择滑动呢,系统不好判断,所以在Androdi中是不能嵌套两个ScrollBa

2013-03-08 11:05:45 1496

转载 Android WebService(基于SOAP协议)

package com.nenglong.wsclient;import java.io.IOException;import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;impo

2013-03-05 14:41:00 33064 15

转载 Android图片的处理类

图片的缩放:/*** * scaling the image * * @param bitMap * source image resources * * @param newWidth * new width of the image * * @param newHeight *

2013-01-20 16:53:54 846

转载 Android自定义控件解析

1,GDI介绍2,UI绘制流程3.自定义控件的实现GDi(Graphics Device interface)及时图形设备接口,它的主要任务是用来系统与绘图程序之间的信息交互Android的GDI在上层为Gui提供一个抽象的概念,GDI输出抽象成了文本,画笔,位图操作等设备无关的操作,让应用程序只需要面向逻辑的设备的上下文进行输出操作,而不要涉及设备的输出设备,以及输出边界的管理,

2013-01-20 16:47:25 3336

转载 Android覆盖升级以及apk签名

1. 为什么要签名1) 发送者的身份认证由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换2) 保证信息传输的完整性签名对于包中的每个文件进行处理,以此确保包中内容不被替换3) 防止交易中的抵赖发生,Market对软件的要求2. 签名的说明1) 所有的应用程序都必须有数字证书

2013-01-15 15:10:10 7892

转载 Android Runnable运行在哪个线程

Android Runnable运行在哪个线程     Android中的Runnable并不一定是新开的线程,比如下面调用的方法就是运行在UI主线程中Hanlder handler = new Handler();handler.post(new Runnable(){    public void run(){}});官方文档对此的解释是:The runna

2012-12-26 16:49:44 5276

转载 SoftReference和WeakReference

Java2增强了内存管理功能, 增加了一个java.lang.ref包,其中定义了三种引用类。这三种引用类分别为SoftReference、WeakReference和PhantomReference.通过使用这些引用类,程序员可以在一定程度与GC进行交互,以便改善GC的工作效率。这些引用类的引用强度介于可达对象和不可达对象之间。    创建一个引用对象也非常容易,例如如果你需要创建一个S

2012-12-26 15:35:54 555

转载 OOM

OOM现象:05:15:04.764: ERROR/dalvikvm-heap(264): 3528000-byte external allocationtoo large for …05:15:04.764: ERROR/(264): VM won’t let us allocate 3528000 bytes05:15:04.764: DEBUG/skia(264): —

2012-12-19 22:50:45 3791 3

转载 Android ListView内存优化

文章摘自:http://www.eoeandroid.com/thread-211498-1-1.html原文:http://www.cnblogs.com/loulijun/archive/2012/04/10/2437888.html引起android内存泄漏的原因很多,下面罗列一些原因:1.使用BaseAdapter自定义ListView的适配器的时候没有使用conver

2012-12-16 22:49:45 5332 2

转载 Android Activity四种加载模式

在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standard(标准加载方式,默认加载方式)singleT

2012-08-08 21:30:28 1541

转载 Android Activity之间传递非原始数据类型

Activity之间传递原始的数据类型很简单,只要在Activity之间的跳转的时候使用Intent携带bundle数据即可,但是这些只能是传递原始的数据类型,如float,Int,String等原始的数据类型,无法传递自定的数据类型,       但是android的设计者却早已经把这个东西想到了,就是在bundle中的两个方法,一个是putSerilizeble(),一个是putLongA

2012-08-07 21:26:42 1310

转载 Android图片倒影

转载自:http://onewayonelife.iteye.com/blog/1169176 package org.wp.activity;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Li

2012-07-02 11:41:24 1030

空空如也

空空如也

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

TA关注的人

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