- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 Android中不同方向嵌套滑动的解决方案(ListView为例子)
前言:就像手机QQ 的聊天消息列表,一个纵向滑动的ListView列举所有消息,但每一条消息可以横向滑动。 是否觉得很分裂?其实实现起来也不复杂。 理解了以后,可以方便延伸到GridView,ViewPager,ScrollView等等滑动控件。 图片来源网络,侵删。
2015-08-07 08:24:14 4335 4
原创 Android NDK 编译移植FFmpeg2.5
本文描述将FFmpeg2.5(2014.12.05最新版)编译移植到Android上 开发环境:1.ubuntu 12.10 64bit2.android-ndk-r10c-linux-x86_643.ffmpeg2.5*特别说明,64位的Ubuntu 需要安装32位的兼容包ia32-libs,先在Terminal输入:sudo apt-get inst
2014-12-16 15:24:37 787
转载 Java并发框架Executor学习笔记
转自:Java并发框架Executor学习笔记Java SE5的java.util.concurrent包中的执行器(Executor)将为你管理Thread对象,从而简化了并发编程。Executor在客户端和执行任务之间提供了一个间接层,Executor代替客户端执行任务。Executor允许你管理异步任务的执行,而无须显式地管理线程的生命周期。Executor在Java
2014-12-09 11:53:45 579
转载 Java Executors(线程池)
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。
2014-12-04 15:04:55 571
转载 Java多线程-工具篇-BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个
2014-12-04 09:50:59 512
转载 java抽象类和接口的区别,使用场景
转自:http://blog.chinaunix.net/uid-25979788-id-3187475.html在Java语言中, abstract class 和interafce是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因
2014-12-04 09:35:51 382
原创 java,Android:在eclipse中的快捷键(经典收藏)
1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释 2.先把你要注释的器材选中,用shit+ctrl+/ 会加上/* */注释 3.要批改在eclispe中的号令的快捷键体式格式我们只需进入windows -> preference -> General -> key设置就行了(转) 补充:选中要加注释的区域,ctrl+/ 会加//注释 2010/09/13 选中
2014-11-03 12:06:44 451
原创 M-JPEG、H.261/H.263、MPEG4、H.264这4种压缩方式有什么区别
1、JPEG/M-JPEG JPEG是一种静止图像的压缩标准,它是一种标准的帧内压缩编码方式。当硬件处理速度足够快时,JPEG能用于实时动图像的视频压缩。在画面变动较小的情况下能提供相当不错的图像质量,传输速度快,缺点是数据量较大。 M-JPEG源于JPEG压缩技术,是一种简单的帧内JPEG压缩,压缩图像质量较好,在画面变动情况下无马赛克,但是由于这种压缩本身技术限制,无法做到大比例压缩,
2014-10-31 20:02:49 7594
原创 android NDK jni下的c文件 Unresolved inclusion:<jni.h>
android NDK jni下的c头文件 Unresolved inclusion 原因是在eclipse编辑环境中没有找到对应的include中的文件。解决方法是将包含该文件的include目录作为新的linked folder加入工程中。具体方法如下:1. 右击工程->New->Folder2. 对话框中点击Advanced3. 选择Link to
2014-10-29 09:31:04 602
原创 java面试题及答案(基础题122道,代码题19道)
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的
2014-10-22 10:48:25 560
转载 struct sockaddr_in和struct sockaddr区别
结构体struct sockaddr在/usr/include/linux/socket.h中定义struct sockaddr { unsigned short sa_family; /* 地址族, AF_xxx */ char sa_data[14]; /* 14字节的协议地址*/ }; 上面是通用的socket地址,具体到Interne
2014-10-17 14:54:12 660
转载 inet_ntoa、 inet_aton、inet_addr 详细介绍
inet_addr() 简述:将一个点间隔地址转换成一个in_addr。 #include unsigned long PASCAL FAR inet_addr( const struct FAR* cp); cp:一个以Internet标准“.”间隔的字符串。 注释: 本函数解释cp参数中的字符串,这个字符串用Internet的“.”间隔格式表示一个数字的I
2014-10-17 14:48:35 1013
原创 Linux下通过系统调用(API)和C语言库函数对文件进行访问
Linux下通过系统调用(API)和C语言库函数对文件进行访问Abstract在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。 Introduction一.通过系统调用访问文件 即通
2014-10-13 09:35:22 679
转载 静态链接和动态链接的区别
引言即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plaincopy// main.c 1 #include 2 3 int main(i
2014-10-11 10:13:23 564
原创 C语言的预编译
预处理功能主要包括宏定义,文件包含,条件编译三部分。分别对应宏定义命令,文件包含命令,条件编译命令三部分实现。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整
2014-10-11 09:59:30 485
原创 linux下错误的捕获:errno和strerror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量
2014-10-09 10:27:14 530
转载 函数指针用法 以及typedef 优化函数指针
[cpp] view plaincopychar (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函
2014-10-08 13:57:36 595
原创 assert()函数用法
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badpt
2014-10-08 13:55:33 476
原创 Linux shell学习: &&和||
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? == 1 时,表示执行失败。 有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和 || 来实现命令执行控制的功能,
2014-10-06 16:44:54 443
原创 linux shell学习:变量和运算符
2.环境变量$HOME/.bash_profile 用户的(/etc/profile多有用户的)export 变量名=值env 查看环境变量 或者直接输入 exportreadonly同本地变量3.变量替换echo ${变量名} 或者echo $变量名 输出变量值${变量名:?value}如果未设置变量,显示用户定义错误信息value (用于查询是否定义了变量)
2014-10-06 15:41:17 452
原创 Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
我们先写一个简单的脚本,执行以后再解释各个变量的意义# touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"echo "show parm list:
2014-10-06 15:39:47 491
转载 android调试工具DDMS
具体可见http://developer.android.com/guide/developing/tools/ddms.html 。 DDMS为IDE和emultor、真正的android设备架起来了一座桥梁。开发人员可以通过DDMS看到目标机器上运行的进程/现成状态,可以 android的屏幕到开发机上,可以看进程的heap信息,可以查看logcat信息,可以查看进程分配内存情况,可以像目
2014-09-17 16:15:41 498
原创 Android JNI开发环境搭建
—————————————————分割线———————————————安装流程1. 安装JDK.2. 安装Eclipse(eclipse-cpp-indigo-SR1-incubation-win32.zip,解压即可使用。注:该版本集成CDT)3. 搭建Android开发环境(参考文档:http://developer.android.com/sdk/installing.htm
2014-09-17 15:38:26 554
转载 win7与Vmware虚拟机之间的文件共享
前面一直按照网上提供的方法进行win7与Vmware虚拟机之间的文件共享,尝试遍了所有的方法,都一直无法实现共享,几乎都快要奔溃了。今天,终于在在http://bbs.csdn.net/topics/350258010中看到CSDN大神们的威武了。(1)首先,按照网上提供的最多的方法设置各项文件夹,这里就不多描述了,网上的参考资料很多,只是有一点要强调,在本机上建立的共享文件夹一定要设置成“共
2014-08-12 14:52:13 2017
原创 Java:使用wait()与notify()实现线程间协作
在Java,使用wait()与notify()/notifyAll()可以使得多个任务之间彼此协作。
2014-07-02 09:29:46 578
原创 汉字Unicode编码表(最小值0x4e00,最大值0x952f)
unicode编码表1unicode编码表 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于655
2014-06-27 10:04:43 11382
转载 阻抗匹配与史密斯(Smith)圆图: 基本原理
阻抗匹配与史密斯(Smith)圆图: 基本原理本文转自:zhuhaiyang110的百度空间,地址是:http://hi.baidu.com/zhuhaiyang110/item/e3d98959a9eb32cbd3e10c0e 本文利用史密斯圆图作为RF阻抗匹配的设计指南。文中给出了反射系数、阻抗和导纳的作图范例,并用作图法设计了一个频率为60MHz的匹配网络。实践证
2014-06-25 18:40:16 17739
转载 锁相环的组成和工作原理
转自:1.锁相环的基本组成许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步,利用锁相环路就可以实现这个目的。锁相环路是一种反馈控制电路,简称锁相环(PLL)。锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信
2014-06-25 18:36:57 7043 1
转载 为什么要进行傅立叶变换
一、傅立叶变换的由来关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫Steven W. Smith, Ph.D.外国人写的,写得非常浅显,里面有七章由浅入深地专门讲述关于离散信号的傅立叶变换,虽然是英文
2014-06-25 18:23:25 798
原创 在eclipse中查看Android源代码
当我们在eclipse中开发android程序的时候,往往需要看源代码(可能是出于好奇,可能是读源码习惯),那么如何查看Android源代码呢?
2014-06-25 11:40:38 375
转载 HandlerThread,Handler,Thread使用方法
http://www.cnblogs.com/sipher/articles/2601384.html
2014-05-29 16:19:11 640
转载 union中隐藏的字节对齐
不要认为内存字节对齐是struct的专利,在union中也会出现内存对齐的情况。#include #include union u{int a[5]; //20个字节char b;//1个字节double c;//8个字节};按理说sizeof(u)等于20,但是这里最大的数据单元是double,内部数据将会按照8字节进行对齐,所以int a[5]按照8字节对齐后就
2014-05-20 16:19:54 750
EFM32(小壁虎)低功耗MCU程序
2014-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人