自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(240)
  • 资源 (10)
  • 收藏
  • 关注

原创 使用AIDL双向通信

之前实现了一个功能,要求能和另一个进程的Service双向通信,除了远程Service中要实现IInterface.Stub(),客户进程(调用远程Service的应用)也要实现一个ICallBack.Stub(),而该ICallBack也是通过AIDL定义。例子如下:IService .aidlinterface IService { void init(IC

2015-04-26 17:03:51 2582

原创 实现约瑟夫环

java实现import java.util.Iterator;import java.util.LinkedList;import java.util.List;public class ListCircle { static final int X = 5; public static void main(String[] args){ List list = new L

2015-04-18 23:48:01 436

转载 object-c的Retain and Release(保留与释放)

在object-c中,系统自动会为每个创建的对象保存一个引用计数器。当对象被创建时,引用计数设置为1,每一次必须保持该对象时,需要发送(即调用)retain来使得引用计数加1。不再需要对象时,可以发送release消息,使得引用计数减1。当引用计数为0的时候,系统就会释放它的内存(通过向对象发送dealloc消息,也就是真正地去回收对象的内存)。另外,可以用retainCount来得到这个

2015-04-18 16:38:13 656

转载 关系型数据库与NOSQL

关系型数据库把所有的数据都通过行和列的二元表现形式表示出来。 关系型数据库的优势:1. 保持数据的一致性(事务处理)2.由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)3. 可以进行Join等复杂查询其中能够保持数据的一致性是关系型数据库的最大优势。 关系型数据库的不足:不擅长的处理1. 大量数据的写入处理2. 为有数据更新的

2015-04-18 16:21:33 581

转载 javascript深入理解js闭包

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码   var n=999;  func

2015-04-18 14:21:42 362

转载 计算机网络【七】:可靠传输的实现

转自:http://blog.chinaunix.net/uid-26275986-id-4109679.htmlTCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议     关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。

2015-04-15 10:07:00 443

原创 虚函数和虚继承对sizeof的影响

#include #include #include using namespace std;class A{ char k[3];public: virtual void aa(){};};class B : public virtual A{ char j[3];public: virtual void bb(){};};class C :public v

2015-04-10 20:26:54 826

转载 printf("%d",5.01)和printf("%f",5)的输出结果

printf("%f\n",5); printf("%d\n",5.01); printf("%f\n", (float)5); printf("%f\n", 5.f); 输出结果:看到结果,会感觉非常奇怪。1处怎么会输出0呢?2又为何会显示这么大的一个数呢?解释:下面是转自网上的一篇博客的解释1,之所以没输出5,这是C语言设计的原因。2,之所

2015-04-10 10:33:24 760

转载 STL priority_queue<> 用法

priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include #include #include

2015-04-08 17:11:47 509

转载 Manacher算法--O(n)最长回文子串算法

O(n)最长回文子串算法注:转载的这篇文章,我发现下面那个源代码有点bug。。。在下一篇博客中改正了。。 转自:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824    这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:http://zhuhongcheng.wordpress.

2015-04-06 16:05:51 431

转载 Eclipse中给jar包导入JavaDoc注释文档的方法

第一步:将jar加入到Referenced Libraries右键点击jar --> 选择 Build Path --> Add to Build Path1356671172_6407.jpg (49.21 KB, 下载次数: 7)下载附件  保存到相册2013-6-27 01:42 上传第二步,设置jar的java doc右键点击

2015-04-03 17:19:11 2876

原创 如何保持service长期在后台运行

android 一直运行的后台服务是不存在的,而且也不是最佳实践,因为一直运行的后台服务会耗费大量系统资源,影响其他程序的响应从而影响到用户体验。可以考虑使用如下几种方案来达到一直运行的效果。1. 调用startForeground方法,android: Service vs SingleTop Activity moved to background2. 使用AlarmManag

2015-03-27 16:52:58 10545

原创 安卓中如何把普通文件打包进apk并且JNI中能自己读取文件内容

最近遇到这样的需求,安卓的JNI中需要读某些二进制文件,文件名通过java层传给JNI。之前是把这些文件放在sd卡下,但是最后要给别人安装肯定是要把这些文件都打包再apk中才行。开始尝试把它们放在accest目录,但是这个目录的文件没有一个再c++中能读到的文件名。解决办法:1、libs目录里的共享库是会烤到/data/data//lib/下的,于是我们可以把需要再c++中读取的文

2015-03-26 22:59:36 2853

转载 共享库查找过程

在开源系统中,包括所有的Linux系统在内的很多都是基于Glibc的。在这些系统里面,动态链接的ELF可执行文件在启动是同时会启动动态链接骑。在Linux系统中,动态链接器是/lib/ld-linux.so.X(X是版本号),程序所依赖的共享对象全部由动态链接器负责装载和初始化。任何一个动态链接的模块所依赖的模块路径保存在“.dynamic”段里,由DT_NEED类型的项表示。动态链接器对于模块的

2015-03-25 16:32:05 922

原创 NDK开发中遇到的字节对齐问题

最近花了几天调出来NDK开发中的一个Bug,先看log日志:03-24 15:37:04.373: A/libc(21474): Fatal signal 7 (SIGBUS) at 0x52d26f1a (code=1), thread 21474 (ample.speechapi)在c++中用一个float指针指向地址0x52d26f1a,一读取就有SIGBUS异常。在电脑上的x8

2015-03-25 11:33:14 1787

原创 Volley库源码分析(下)

网络请求部分分析关于volley的网络请求部分可以看博客:http://www.cnblogs.com/bvin/p/3291611.html网络请求中有几个转换解析请求获取响应结果的地方:1.HttpStack接口的performRequest()方法public HttpResponse performRequest(Request requ

2015-03-24 11:18:24 1062 1

原创 定位NDK中出错的地方

ndk里如果出错了,在eclipse的logcat上只能看到一个信号量,之前通过log去定位出错的位置,效率非常低下。今天发现其实android提供了ndk-stack的工具来打印出错堆栈,可以迅速定位到出错的函数。ndk-stack在ndk工具包中,下载地址:http://developer.android.com/tools/sdk/ndk/index.html#Installing

2015-03-23 20:33:09 501

原创 Fragment和View的比较

Fragment和View都有助于界面组件的复用,这在大型工程里边是特别重要的,但是二者又有所区别。1、Fragment的复用粒度更大。Fragment有完整的生命周期,从代码设计角度讲可以提高内聚性,不同情况下还可以设计不同的Fragment,比如横屏和竖屏情况下View的显示不一样,那么可以建立2个不同的Fragment去处理,代码上面可以有效的扩展。从形态上讲和Act

2015-03-18 12:21:25 6545

转载 深入了解android平台的jni---注册native函数

注册native函数有两种方法:静态注册和动态注册。1、静态注册方法根据函数名找到对应的JNI函数:Java层调用函数时,会从对应的JNI中寻找该函数,如果没有就会报错,如果存在则会建立一个关联联系,以后在调用时会直接使用这个函数,这部分的操作由虚拟机完成。静态方法就是根据函数名来遍历java和jni函数之间的关联,而且要求jni层函数的名字必须遵循特定的格式,其缺点在于:1)

2015-03-09 18:52:18 499

原创 Fragment生命周期

官方文档中有详细的文字说明,不过最好还是实践下,熟悉过程。http://developer.android.com/guide/components/fragments.html一、Activity的生命周期图:二、Fragment生命周期图(1)、onAttach()//当一个Fragment对象关联到一个Activity时调用。(2)、onCreate()/

2015-03-09 11:01:30 839

转载 Eclipse自动生成UML图

试了很多插件,最后发现Green UML最靠谱了。可以从已有的代码自动生成UML图。安装方法:1.从http://green.sourceforge.net/builds.html查找对应自己Eclipse的GEF版本和Green UML版本2.从http://www.eclipse.org/gef/downloads.php下载对应版本的GEF,下载后我直接解压了,然后把其中

2015-03-03 15:41:43 599

转载 简析SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue

转自:http://blog.csdn.net/mn11201117/article/details/8671497SynchronousQueue        SynchronousQueue是无界的,是一种无缓冲的等待队列,但是由于该Queue本身的特性,在某次添加元素后必须等待其他线程取走后才能继续添加;可以认为SynchronousQueue是一个缓存值为1的阻塞队列

2015-02-26 10:22:14 566

原创 Volley库源码分析(上)

Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题。如下图:其中左下角是NetworkDispatcher线程,大致步骤是:1.不断从请求队列中取出请求request = mQueue.take();2.发起网络

2015-02-26 00:39:11 1456 1

原创 FBReader中翻页方式相关源码分析

FBReader是一个电子书开源项目,关于它之前有人发过5篇pdf叙述项目框架,这里主要讲讲FBReaderJ的翻页方式。翻页方式的配置在ScrollingPreferences中public final ZLEnumOption AnimationOption = new ZLEnumOption("Scrolling", "Animation", ZLView.Animation

2015-02-20 01:10:11 2796

转载 Android面试题集锦

http://www.eoeandroid.com/thread-73665-1-1.html==========帖子正文============================  真的挺全面呢。  1.    请描述下Activity的生命周期。  2.    如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?  3.    如何将一

2015-02-12 02:22:08 514

转载 百度Android客户端研发面试经验

百度、阿里、腾讯(BAT)无疑是国内互联网行业的三巨头,虽然业务侧重各有不同,但是在移动互联网时代,无线入口是必争之地,三巨头也各自发力,招兵买马,大力推动移动端产品研发,以抢占更多智能终端用户,对很多想加入百度的同学来说,是很好的机会,但是很多应聘者对BAT内部不是很了解,以致不知道如何准备,需要注意哪些事项,以获得这些互联网巨头们的青睐。橙GG今天先从百度Android客户

2015-02-12 02:10:28 1141

转载 Android开机启动Activity或者Service方法

这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下面把自己的经验分享给大家。Android开机启动Activity或者Service方法【原理】    当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_C

2015-02-12 02:08:12 463

转载 Java IO流学习总结

Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流 字

2015-02-11 20:51:21 398

转载 java中子类继承父类时是否继承构造函数呢?

java继承中对构造函数是不继承的。以下是例子: public class FatherClass { public FatherClass() {       System.out.println(100); } public FatherClass(int age) {      System.out.println(age); }} pub

2015-02-11 20:35:05 548

转载 android实现session保持简要概述及实现

其实sesion在浏览器和web服务器直接是通过一个叫做name为sessionid的cookie来传递的,所以只要在每次数据请求时保持sessionid是同一个不变就可以用到web的session了,感兴趣的你可以参考下本文或许对你有所帮助在最近写的一个Android中需要请求web服务器中的数据,有一个登录Activity,登录后会到MainActivity,这中间登录和M

2015-02-11 11:16:24 556

原创 优化ListView中的网络图片加载

1.使用适当的开源库,如Volley或者Universal ImageLoader使用Volley时,可以覆写onScrollStateChanged(Activity或者Fragment中),如果处于AbsListView.OnScrollListener.SCROLL_STATE_FLING的状态,imageLoader.stopProcessingQueue();imageLoade

2015-02-10 21:24:07 2270

原创 Android PopupWindow的焦点

如上图,上下两栏是一个PopupWindow,然后按键之后再弹出一个PopupWindow:这个新弹出的PopupWindwo只是一个ListView。但是我发现这个listView无法接收到OnItemClickListener中的响应,查一下PopupWindow的API,有isFocusable()这个函数。测试一下,果然PopupWindow没有获得焦点。于是在setOnI

2015-02-09 20:05:10 834

原创 ListView源代码分析

继承关系1、图中单独画出Scrollview是为了说明该ViewGroup并没有自带回收机制,如果要是Scrollview显示大量view,需要手动做处理。 2、继承体系的分工(1) AdapterViewAn AdapterView is a view whose children aredetermined by an {@link

2015-02-08 17:38:20 1272 1

原创 ActivityTask的设计哲学

当我们在Android的页面之间跳转时,默认情况下Activity回相继入栈,按Back键时则相应出栈,这是大家都知道的。这样设计符合用户的逻辑思维和使用习惯。ActivityTask可以看做完成同一任务的集合,这个任务是用户处理某一事件相继所用到组件。利用隐式Intent,我们完全可以调用另外一个应用进程的Activity,比如说当前我们处于本应用程序的ActivityA,然后我们调

2015-02-08 15:48:20 543

转载 Activity的Launch mode详解 singleTask正解

转自http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html参见:http://mypyg.iteye.com/blog/919643         http://marshal.easymorse.com/archives/2950         http://blog.csdn.net/

2015-02-08 14:17:09 431

原创 从全屏转到非全屏时被状态栏挡住组件

在开始调用了getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);之后会进入全屏状态,如果想再显示状态栏:getWindow().clearFlags(WindowManager.LayoutParams.FLAG_

2015-02-05 15:18:41 1188

转载 2013搜狗校园招聘笔试题

第一题:以下程序的输出是___________________class Base{public: Base(int j):i(j){} virtual ~Base(){} void func1(){i *= 10; func2();} int getValue(){return i;}protected: virtual void func2(){i+

2015-02-04 19:13:08 745

原创 构造函数和析构函数的执行顺序相反

看到SherlockFragment的一段代码:@Override public void onAttach(Activity activity) { super.onAttach(activity); this.activity = activity; } @Override public void onDetach() {Sher

2015-02-04 17:53:16 1475

转载 Android最佳实践之:StrictMode介绍

最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。  StrictMode有多种不同的策略,每一种策

2015-02-03 20:30:40 421

原创 Service拾遗

对于Service之前一直有些模糊的地方,今天看了点击打开链接,把几点记录下来:1、如果Start Service之后,又Bind Service按钮会怎么样呢?这个时候你会发现,不管你是Stop Service还是Unbind Service,Service都不会被销毁,必要将两者都调用,Service才会被销毁。也就是说,Stop Service只会让Service停止,Unbind

2015-02-02 14:01:51 590

使用于Android的libunwind静态编译库

使用ndk交叉编译,使用于android上的libunwind静态编译库

2017-02-06

堆排序算法研究_唐开山

堆排序的一种优化实现,先下沉再上浮,是比较次数减少一半。

2015-01-07

开源项目实现安卓滑动菜单

开源项目实现安卓滑动菜单,此文件为该项目的源码

2014-07-02

高仿微信开始页滑动导航界面源码

Android实现微信开始页滑动导航界面源码

2014-07-02

FBReader源码

FBReader是一个开源电子书阅读器,此文件为该项目的源代码

2014-07-02

驱动和应用层的三种通信方式

驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。驱动层和应用层通信,主要是靠DeviceIoControl函数,资源是三种io通信情况的例子,还有应用层的测试程序。

2014-03-12

《模式分类》第二版的配套的Matlab源代码

模式分类Matlab工具箱。本工具箱与 Duda, Hart, and Stork的经典著作《模式分类(第2版)》配套。内含用户指南及与《模式分类(第2版)》相伴的书《Computer Manual in MATLAB to accompany Pattern Classification (2nd ed.)》附录。

2013-07-29

lasso经典matlab源码

Lasso变量选择方法创始人的经典代码,内含多个源代码,每个可单独运行.

2013-07-27

Adaboost matlab代码

通过研究在Schapire的大作中提到了一个Toy Game的例子,这里给出了一个类似的Matlab代码,非常适合初学者学习。在AdaBoost中,每个样本都被赋予一个权重。如果某个样本没有被正确分类,它的权重就会被提高, 反之则降低。这样, AdaBoost方法将注意力更多 地放在“难分”的样本上。那怎么合并若分类器成为一个强分类器?强分类器表示为若干弱分类器的线性加权和形式, 准确率越高的弱学习机权重越高。

2013-07-26

PCA人脸识别C++源代码

经典的PCA人脸识别算法,C++源代码都是我自己写的,第一次上传,写得不好的地方请多多指教。已经经过我的多次测试和观察数据,代码运行正常,下载之后只要配置好opencv即可。

2013-02-26

空空如也

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

TA关注的人

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