摘要: 1、下载、编译运行Leptonica下载地址:http://code.google.com/p/leptonica/版本号:1.69包名:leptonica-1.69.tar.gz依次输入命令./configure; make; make install安装(make uninstall clean 卸载)2、下载、编译libtiff下载地址:http://www.remotesensing.org/libtiff/版本号:4.0.3包名:tiff-4.0.3.tar.gz依次输入命令 ./configure; sudo make ; sudo make install 安装3、下载、编译te 阅读全文
posted @ 2013-01-22 16:23 lipeil 阅读(2627) 评论(0) 推荐(0) 编辑
摘要: ############### 类#############友元(friend)、可变成员(mutable)、静态成员(static)构造函数:(冒号后面为初始化列表,用来初始化数据成员)Fun():x(5),y(10){}成员函数:必须在类内部声明,但是不必在内部定义。如果在内部定义,则默认为inline。外部定义:必须用域操作符'::'指定所属类名。例如:ClassName::fun1(){}struct: 如果类用该关键字定义,则默认成员是公有的。class :默认成员是私有的。类的访问符:public 、private、protected。 访问符出现的次数、位置都没有 阅读全文
posted @ 2013-01-21 14:55 lipeil 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”);但是有的时候可能会不需要这种隐式转换,如下:class String { String ( int n ); //本意是预先分配n个字节给字符串String ( const char* p ); // 用C风格的字符串p作为... 阅读全文
posted @ 2013-01-21 09:42 lipeil 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 1、const 修饰函数:常成员函数:const放在参数列表后面修饰成员函数表示常成员函数。 特性:a、const 成员函数不能修改它所在对象的数据成员。b、const 成员函数只能访问const 成员函数,成员函数只能访问成员函数。参考链接:http://blog.csdn.net/eric_jo/article/details/4138548 阅读全文
posted @ 2013-01-18 10:10 lipeil 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1、解决方法:在相应的Activity配置中加上android:configChanges="orientation|keyboardHidden"设置实际问题:锁屏、解锁时Activity 重启,在之上添加的 Fragment 也会被多次创建,导致视图混乱。相关链接:http://my.oschina.net/u/614511/blog/76444 阅读全文
posted @ 2013-01-04 10:17 lipeil 阅读(505) 评论(0) 推荐(0) 编辑
摘要: protected void replaceFragment(Fragment fragment , boolean init) { FragmentManager fragmentManager = this.getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); if(init) { fragmentTransaction.add(R.id.main_... 阅读全文
posted @ 2012-12-27 14:44 lipeil 阅读(1695) 评论(1) 推荐(0) 编辑
摘要: 1、Camera 可以实现3D平移、旋转等特效:2、它并不是以Galley视图所在坐标系,而是在其自身的坐标系3、例如,其绕Y轴旋转,实际是在matrix 对应视图的左边旋转;平移也是同样。package com.view;import android.content.Context;import android.graphics.Camera;import android.graphics.Matrix;import android.util.AttributeSet;import android.view.View;import android.view.animation.Transfo 阅读全文
posted @ 2012-12-21 11:10 lipeil 阅读(1755) 评论(0) 推荐(0) 编辑
摘要: 1、 SlidingDrawer 抽屉控件 <SlidingDrawer android:id="@+id/sliding" android:layout_width="match_parent" android:layout_height="match_parent" android:content="@+id/home_water" // 指定内容控件id android:handle="@+id/handler" // 指定handler 控件id android:ori... 阅读全文
posted @ 2012-12-13 14:48 lipeil 阅读(580) 评论(0) 推荐(0) 编辑
摘要: private void showPopupView() { if (mPopupWindow == null) { View view = getLayoutInflater().inflate(R.layout.newest_layout, null); mPopupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); mPopupWindow.setFocusable(tr... 阅读全文
posted @ 2012-12-13 14:26 lipeil 阅读(2403) 评论(0) 推荐(0) 编辑
摘要: 1、一种方法是将其中一个项目(含有res资源)打包成jar包,另一个项目来引用。但是多次尝试总是发现找不到资源2、第二种方法参考http://www.cnblogs.com/vaiyanzi/archive/2012/02/20/2358910.html将其中一个项目设置为引用的库,在另一个项目中添加这个库引用。简单点的做法是在被引用项目A中的project-properties 中添加一行 android.library=true在引用的项目B 中添加android.library.reference.1=../A其中 1表示引用的包的序号,“../A”表示 引用的项目的路径 阅读全文
posted @ 2012-12-11 17:44 lipeil 阅读(6456) 评论(0) 推荐(0) 编辑
摘要: 1、描述:计算翻开的卡片到平面的投影来模拟卡片打开的效果 。视点位于卡片上边缘中点正上方。 以w、h表示原卡片的宽高,w1、h1表示投影的宽高,H表示视点高度 , a为翻开的卡片与平面上的卡片夹角,有以下公式:h1 = h*cosa *H /(H-h*sina)w1 = w*H/(H-h*sina)投影计算算法(这里仅考虑了第一象限)为: public ImageBuffer openCard(int[] pixels, int width, int height, double pi) { final int H = width * 3; double... 阅读全文
posted @ 2012-12-07 15:29 lipeil 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 1、使用find找到文件并显示find . -name '*.apk' -exec echo {} \; // ‘{}’ ,'\;' 间有空格或者 :find . -name '*.apk'2、找到并且删除文件 find . -name '*.apk' -exec rm {} \; 其中 ‘.’ 表示当前目录 , -name 表示按照名字查找更多特性:http://www.chinaz.com/server/2009/0807/85796.shtml 阅读全文
posted @ 2012-12-07 11:23 lipeil 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: /**归并排序,稳定 ,时间复杂度O(nlogn) 空间复杂度O(n)*/ public static void mergeSort(int[] a , int l ,int h , int[] temp) 9 { 10 if(a== null ||l >=h)return; 11 12 int m = l + (h-l)/2; 13 mergeSort(a , l , m , temp ); 14 mergeSort(a , m+1 , h, temp); 15 16 merge(a , l ,m, h , temp); 17 } 18 ... 阅读全文
posted @ 2012-12-04 17:18 lipeil 阅读(220) 评论(0) 推荐(0) 编辑
摘要: ## r表示读 rb表示读二进制 file_object = open('test.py','r')try: file_text=file_object.read()finally: file_object.close()print file_text## 可以直接用for循环遍历文件每行file_input= open('test.py', 'r')try: for line in file_input: print linefinally: file_input.close()## 或者使用readlines读取每行file_ 阅读全文
posted @ 2012-12-04 11:37 lipeil 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 字符串匹配算法,一种是朴素算法,即字符串S与匹配字符串P从0开始逐个匹配,失配后右移一位从新匹配。另一种更高效的算法即是KMP算法。例如:S[0,n],P[0 ,m]如果S[ i ] != P[ j ]; 此时必有 式A:S[ i-j, i-1 ] = P[ 0 , j-1 ] , 如果使用朴素算法则从S[ i-j+1] 开始与 P重新逐个匹配(即比较S[ i-j+1 ,i-j+1+m] 、P[0, m ]),这样时间复杂度为O(n*m),效率低。若我们保持S索引不变(即先考虑索引 i 之前的部分)上述比较等价于 式B:S[ i-j+1 , i-1] =? P[ 0, j-2 ];式B对于式A 阅读全文
posted @ 2012-11-30 09:28 lipeil 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1、lspci 查看网卡硬件信息或者用 lsusb2、ifup、ifdown 打开 关闭一个接口3、ifconfig4、traceroute 、mtr 查看没一跳路由的信息;mtr会刷新如:ifup eth1 阅读全文
posted @ 2012-11-22 14:53 lipeil 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1、添加权限(必须)<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />2、添加快捷键 public static void setupShortcut(Activity activity) { Intent shortcutIntent = new Intent(activity, MainActivity.class); //启动首页(launcher Activity) Intent intent = new Intent("com. 阅读全文
posted @ 2012-11-14 10:55 lipeil 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 1 、rfkill list //查看无线网络2、rfkill unblock all 启动无线网络3、rfkill block all 取消无线网络4、ifconifg wlan0 up 启动网卡。/var/lib/NetworkManager/NetworkManager.state 记录网络配置参考链接:http://ubuntuforums.org/showthread.php?t=1311886http://hi.baidu.com/leowang715/item/d684addb623582e83dc2cbfahttp://net.zdnet.com.cn/network_secu 阅读全文
posted @ 2012-10-29 15:27 lipeil 阅读(21860) 评论(0) 推荐(0) 编辑
摘要: 1、指针作为参数传递进去的仅仅只是指针的值,而不是指针的地址,或者说只是指针的一份拷贝,例如:void pointer(int *p){ int a = 11; printf("\nthe p is %p , addr is %d, *p is %d",p , &p, *p); *p =11; printf("\nthe p is %p , addr is %d, *p is %d",p , &p, *p); p = &a; printf("\nthe p is %p , addr is %d, *p is %d&quo 阅读全文
posted @ 2012-10-26 10:40 lipeil 阅读(17421) 评论(1) 推荐(1) 编辑
摘要: System.out.println(21%-5);//1 System.out.println(21%5);//1 System.out.println(-21%-5);//-1 System.out.println(-21%5);//-11、java中取模结果符号依赖左操作数的符号2、右操作数的符号被忽略 阅读全文
posted @ 2012-10-25 17:44 lipeil 阅读(3288) 评论(0) 推荐(0) 编辑
摘要: const int a = 1; 63 int b = 2, c = 3; 64 const int *p1=&a;//ok,指针指向只读内存块 65 const int *p3=&b;//ok,只读 可以指向 读写 66 *p1= c;//error 只读,不能写入 67 p1 = &c;//ok , 可以指向另外一块内存 68 *p3 = c;//error 只读,不可写入 69 p3 =&c;//ok 70 71 int * p4=&a;// &a 读写 不可以指向 只读 72 73 int *const p2=&b;//ok ,指 阅读全文
posted @ 2012-10-25 16:30 lipeil 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 链表结构:struct Node{ Node *next; int num;};倒置算法:Node* reverse(Node *root){ if(root == NULL || root->next ==NULL)return root; Node *p1,*p2,*p3; p1 = root; p2 = p1->next; p3 = p2->next;//p3用来保存p2后面的链表,以免p1、p2倒置后,链表丢失。 p1->next = NULL; while(p3!=NULL) { p2->next = p1; p1 = p2; p2 = p3; ... 阅读全文
posted @ 2012-10-25 15:27 lipeil 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 1、变量的初始化int value(1024);// 直接初始化int value = 1024;//复制初始化在c++ 中 赋值与 初始化是两个不同的概念。2、引用int value = 11;const int &va = value;//合法的,只读的变量可以绑定到 读写变量。(猜测:只读的va绑定到value也不会改变,value内存块的属性)int &vb = va;//非法的,可读写变量不可以绑定到只读变量。(猜测:vb绑定到va导致va指向内存可以被vb读写,改变了该内存的属性)3、enum 枚举类型enum color {red ,green ,blue}; 可 阅读全文
posted @ 2012-10-22 08:30 lipeil 阅读(161) 评论(0) 推荐(0) 编辑
摘要: killall ibus-daemon // killall 杀死进程 , ibus-daemon 进程名ibus-daemon -d // -d 后台运行 | & 阅读全文
posted @ 2012-10-20 10:37 lipeil 阅读(2910) 评论(0) 推荐(0) 编辑
摘要: 1、定义属性名称、类型需要再res/values/attrs.xml 文件中配置<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="InputView"> <attr name="buttonNum" format="integer"/> </declare-styleable></resources>2、在自定义控件的xml配 阅读全文
posted @ 2012-10-16 10:33 lipeil 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 1、实现UncaughtExceptionHandler,在方法uncaughtException中处理没有捕获的异常。2、继承Application ,在其中调用Thread方法setDefaultUncaughtExceptionHandler,来捕获异常代码:public class MyApplication extends Application { public void onCreate() { super.onCreate(); GlobalException handler = GlobalException.getInstance(... 阅读全文
posted @ 2012-10-15 10:21 lipeil 阅读(1540) 评论(0) 推荐(0) 编辑
摘要: public static final int FLAG_SHOW_LIGHTS = 0x00000001;//控制闪光 public static final int FLAG_ONGOING_EVENT = 0x00000002;//将flag设置为这个属性那么通知就会像QQ一样一直在状态栏显示 public static final int FLAG_INSISTENT = 0x00000004; //重复发出声音,直到用户响应此通知 public static final int FLAG_ONLY_ALERT_ONCE ... 阅读全文
posted @ 2012-10-15 09:19 lipeil 阅读(4275) 评论(0) 推荐(0) 编辑
摘要: 1、算法第一步:从右下到左上遍历图片像素第二步:获取当前像素和 左上点像素,分别取它们RGB的差值第三步:获取三个差值中绝对值最大的一个作为灰度值第四步:将该灰度值加128 ,并且作像素安全处理(即gray = gray>255?255:gray , gray = gray<0 ? 0 : gray)第五步:使用该灰度值创建图片2、实现代码public Bitmap render(Bitmap bitmap) { if (bitmap == null) return null;// bitmap = toGray(bitmap); ... 阅读全文
posted @ 2012-09-28 09:25 lipeil 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 1、监听广播缺点,因为优先级的原因可能接收不到。代码:public static final String TAG = "ImiChatSMSReceiver"; public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED"; public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(SMS_RECEIVED_ACTION) 阅读全文
posted @ 2012-09-24 18:11 lipeil 阅读(4182) 评论(0) 推荐(0) 编辑
摘要: 1、算法r = r*128/(g+b +1);g = g*128/(r+b +1);b = b*128/(g+r +1);2、代码实现public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[] pixels = new int[width * height]; bitmap.getPixels(pixels ,0 , width , 0 , 0 ,... 阅读全文
posted @ 2012-09-21 14:44 lipeil 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1、算法r = Math.sqrt((r- rightr)^2 + (r-bottomr)^2)*2g = Math.sqrt((g- rightg)^2 + (g-bottomg)^2)*2b = Math.sqrt((b- rightb)^2 + (b-bottomb)^2)*22、代码实现 public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[]... 阅读全文
posted @ 2012-09-21 11:48 lipeil 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 1、算法R = |g – b + g + r| * r / 256G = |b – g + b + r| * r / 256;B = |b – g + b + r| * g / 256;然后灰化。2、代码实现 public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[] pixels = new int[width * height]; bitmap... 阅读全文
posted @ 2012-09-21 11:14 lipeil 阅读(469) 评论(0) 推荐(0) 编辑
摘要: float mSize = 0.5f; public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; final int SIZE = 32768; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int ratio = width >height ? height * SIZE /width : width * SIZE/height;//这里有额外*2^15 用于放大比率;之后的比率使用时需要右移15位... 阅读全文
posted @ 2012-09-21 10:43 lipeil 阅读(6691) 评论(0) 推荐(0) 编辑
摘要: 1、算法将对rgb 值依次做better处理,同时再下一步用到上一步已经处理好的值。 public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[] pixels = new int[width * height]; bitmap.getPixels(pixels ,0 , width , 0 , 0 , width , height); for... 阅读全文
posted @ 2012-09-20 20:19 lipeil 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 1、怀旧特效算法:r = 0.393r +0.769g+0.189bg = 0.349r + 0.686g +0.168bb = 0.272r +0.534g +0.131b2、算法的一般实现: public Bitmap render(Bitmap bitmap) { if(bitmap == null)return null; int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[] pixels = new int[width * height]; bitmap.getPix... 阅读全文
posted @ 2012-09-20 16:08 lipeil 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 1、支持的视频格式当前,video 元素支持三种视频格式:格式 IE Firefox Opera Chrome SafariOgg No 3.5+ 10.5+ 5.0+ NoMPEG4 9.0+ No No 5.0+ 3.0+WebM No 4.0+ 10.6+ 6.0+ NoOgg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件WebM = 带有 V... 阅读全文
posted @ 2012-09-18 17:47 lipeil 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1、获取root权限sudo su2、安装mysql5apt-get install mysql-server mysql-client3、安装apache2apt-get install apache2Apache的默认文档根目录是在Ubuntu上的/var/www目录 ,配置文件是/ etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2目录。sudo /etc/init.d/apache2 stop 关闭服务器sudo /etc/init.d/apache2 start 启动服务器sudo /etc/init.d/apache2 restart 重 阅读全文
posted @ 2012-09-18 14:58 lipeil 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: HashMap :实现map接口;使用hash算法,里面的数据是无序的;并且存储的是键值对;非线程安全;HashSet :实现了Set接口;内部封装了hashmap,故也是无序的;因为实现set接口,存储的是key,value永远为PRESENT;非线程安全; 阅读全文
posted @ 2012-09-07 23:49 lipeil 阅读(4952) 评论(0) 推荐(0) 编辑
摘要: join的用法:join是非静态的方法 有线程 threadA 与threadB,同时运行 1、如果在 threadA中调用自身的join方法,则threadA被堵塞,即使threadB结束,threadA也不会解除堵塞。//threadA堵塞threadA,直到threadA结束,发生死锁 2、如 阅读全文
posted @ 2012-09-07 22:53 lipeil 阅读(928) 评论(0) 推荐(1) 编辑
摘要: 四种launchMode分别是 1、standard 2、singleTop 3、singleTask 4、singleInstancestandard :android 默认的启动模式,不管在task中有没有该activity的实例,都会new 一个新的实例。singleTop:只有该activity的实例在task(stack)顶部,才不同重复创建,否则还是需要创建一个新的activity。(只重用stack|task顶部的activity实例)singleTask:如果task中存在 activity的实例,则直接使用该实例 ,并将之上的其他activity实例清除,使该activity 阅读全文
posted @ 2012-09-07 22:15 lipeil 阅读(226) 评论(0) 推荐(0) 编辑