自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

转载 java 代理(proxy)模式

代理模式(Proxy Pattern)    代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 如下

2014-05-24 23:23:25 928

转载 JNI基本数据类型

从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。让我们看一些使用JNI的简单例子吧。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做

2014-04-07 11:14:50 10513 3

转载 使用Java Native Interface的最佳实践

简介:本文摘抄了IBM的技术文档部分内容然后根据自己开发学习中遇到的一些问题加以修改和整理针对Android平台开发提出了本文的JNI最佳实践。    Java 环境和语言对于应用程序开发来说是非常安全和高效的。但是,一些应用程序却需要执行纯 Java 程序无法完成的一些任务,比如:与旧有代码集成,避免重新编写。解决Java语言在手机等手持平台上的运行效率问题。实现可用类库

2014-03-09 23:05:04 1391

转载 JNI 内存泄漏

JNI 编程简介JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。JNI 编程在软件开发中运用广泛,其优势可以归结为以下几点:利用 nat

2014-03-09 21:15:25 843

原创 JNI,让native callback Java methods

今天试验了通过JNI,让native回调java层的方法。试验的代码很简单,让native回调java层的方法,让java层的方法想主线程发送消息更新UI。下面是project的目录结构:MainActivity.java的codepackage com.example.jnicallback;import android.os.Bundle;import

2013-09-22 22:30:40 4444

转载 android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录

android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家。内容目录:1.默认基础环境2.NDK下载与配置3.安装Cygwin4.用NDK编译5.安装CDT插件

2013-09-21 21:03:16 1322

原创 Android中设置不同时点击2个view的方法。

设置不能同时选择2个同级view的方法,就是在这个2个view的父一层的layout中设置android : splitMotionEvents = "false"

2013-03-29 17:22:25 867

转载 android的消息处理机制(图+源码分析)——Looper,Handler,Message

作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被g

2013-02-20 16:01:49 389

转载 Android Matrix理论与应用详解

Matrix学习——基础知识以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平移量为

2013-02-01 15:13:52 641 1

转载 JAVA 设计模式

创建模式1.工厂方法模式(Factory Method)  将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到具体的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。[java] view plaincopypublic class TestFactoryMethod {

2012-11-09 16:19:53 1505

原创 在Android源代码中编译C/C++

在Android的源代码中编译C/C++编写的代码:如果你的代码中引用了C++一些特有的头文件,并要将代码编译生成系统库,需要在Android.mk中添加如下引用LOCAL_C_INCLUDES := external/stlport/stlport bionic bionic/libstdc++/includeLOCAL_SHARED_LIBRARIES := libstlpor

2012-10-28 15:39:03 2299

原创 浅谈利用Android NDK编译C/C++文件的经历

因为工作的需要,有幸经历了一次在linux下的eclipse中利用android的NDK编译C/C++代码成.so文件,然后在java层利用JNI的方式调用C/C++方法的过程。作为一个新手,在没有任何人帮助的,只能通过google查找资料的情况下,要走通这个过程还是很痛苦的。特别是C/C++代码中还存在不少语法错误。首先要配好环境,Eclipse+CDT+gcc/g++,有的eclipse已

2012-10-24 18:58:02 8315

转载 ubuntu上Android NDK调试配置

ubuntu上Android NDK调试配置android上调试本地c/c++时,可以直接使用gdb在命令行中调试,很麻烦。这里通过sequoyah插件将调试功能集成到eclipse中,在图形界面中调试。下面的参考参考资料中已经说明的很详细了,自己搭建某些地方疏忽了,花了很长时间。参考了下面几篇文章http://blog.csdn.net/dfqin/article/det

2012-10-18 10:38:33 1416 1

转载 linux下利用NDK生成.so文件

我们在安装环境的时候安装了NDK,可以在eclipse下直接生成so文件。NDK的压缩包里面自带了一些sample工程,NDK的文件直接解压到某个目录下即可。第一次生成so文件的时候,我们先使用NDK的sample下的hello-jni的例子。1、启动eclipse,通过Create project from existing source,选择hello-jni的目录,按默认选项

2012-10-17 19:33:53 5117

原创 android中JNI的使用

环境:我是在linux系统中安装的eclipse上进行JNI的使用首先我们建立一个android application project。然后添加一个java类,名为JniAdd。就是JNI中java层的类package com.example.androidstudy;public class JniAdd {static {System.loadlibrary("jni

2012-10-17 08:48:44 846

转载 Android任务、进程和线程

关于Android中的组件和应用,之前涉及,大都是静态的概念。而当一个应用运行起来,就难免会需要关心进程、线程这样的概念。在Android中,组件的动态运行,有一个最与众不同的概念,就是Task,翻译成任务,应该还是比较顺理成章的。Task的介入,最主要的作用,是将组件之间的连接,从进程概念的细节中剥离出来,可以以一种不同模型的东西进行配置,在很多时候,能够简化上层开发人员的理解难度,帮助大家

2012-07-21 14:46:38 1599

转载 Android学习笔记之AndroidManifest.xml文件解析

一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent

2012-07-21 09:59:57 538

转载 Android模拟器中sd卡的创建和文件的上传

在使用android 模拟器的sd卡上传文件的时候出现过如下的错误:ailed to push selection: Invalidargument Failed to push the item(s).Failed to push selection: Read-only filesystem 有两种方式来创建sd卡:在创建Android模拟器之初

2012-07-20 11:32:48 2041

转载 Android新浪微博OAuth授权认证

Android新浪微博OAuth授权认证客户端图如下:     下面再来说说:关于新浪微博OAuth授权认证     新浪开放api都必须在这个基础上才能调用,所以有必要专门来讲讲,前面的文章中已经提到过关于新浪微博提供了OAuth和Base OAuth两种认证方式,并且本项目采用OAuth认证方式,至于为什么采用这个OAuth认证而不采用Base OAuth认证原因很简单,自

2012-07-18 20:01:35 3720

转载 运行Android SDK Manager 遇到“Failed to fetch URL…“的解决方法

如果你遇到了消息为“Failed to fetch URL…” 的错误提示,那么你需要将HTTPS方式改为HTTP方式,方法如下:碰到这样错误,请按下边的操作.1)在“Android SDK and AVD Manager”窗口的左侧选择 “Settings”2)选中 “Force https://…   ”  这个选项选中

2011-11-27 15:24:47 3816

原创 cvsnt设置

今天下午为让项目代码在实验室和寝室同步,方便在实验室和寝室不同时候编写代码,特地配了下cvs,将实验室的电脑作为CVS服务器。工作主要是在实验室的电脑上安装cvsnt、配置cvsnet、在eclipse中配置cvs。首先在下载一个CVSNT,并安装,安装过程没什么特别需要注意的,主要是后面的配置。配置过程如下(参考的别人的):1.打开cvsnt后,选定在About选项上,停止ser

2011-11-23 20:20:40 643

原创 android中的Paint.Align

Paint.Align有3个值,分别是center,left,right,用于表示字符的位置,字符以坐标(x,y)为源点。center表示字符在水平方向上以x中心向左右两边延伸,在垂直方向以y为起点向下延伸;left表示字符在水平方向上以x为起点向右延伸,在垂直方向上以y为起点向下延伸;right表示字符在水平方向上以x为起点向左延伸,在垂直方向上以y为起点向下延伸。FontMetrics.a

2011-11-16 21:49:56 3457

原创 Android 开发安装配置

安装Android SDK,首先得下载 Android SDK,最好的下载地址当然是:http://developer.android.com/sdk/index.html,随时保持着Android  SDK的最新动态。在下载之前我们的了解下需要用到的Android SDK各种包。1.Android SDK Manager,为SDK管理器,它可以随时从Android官网上更新你的SDK。事实上

2011-11-10 16:18:41 657

原创 对xml和html语言的认识

HTML是专门对网页描述的一种标记语言,大楷100个标记。XML语言可以称作为原语言,它可以创造出新的标记语言,所以有XML语言完全可以创出出HTML标记语言。HTML的产生早于XML,HTML是一种格式显示语言,它把数据和格式显示和在一起,因此HTML语言无法区分数据和格式。XML语言可以只是表达信息,如果要格式显示XML表达的信息,那么XML可以结合CSS和XSL。从某种意义上说,如何HTML

2011-11-02 17:37:06 755

转载 使用JAVA对XML文件进行DOM操作

要操作的xml文件--------------------------------------------------------------------       -1     8:01     -1     0     1      ------------------------------------------------------------

2011-10-24 21:01:02 511

转载 白话经典算法系列之七 堆与堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节

2011-10-10 23:34:59 546

转载 c语言二维数组与指针

很多C++/C初学者对于二维数组与指针的关系总是搞不清楚,对它的误解比比皆是。一下是本人的一些总结,部分内容参考相关资料,希望对大家的理解有所帮助。(本文对于C/C++而言)首先,我们先从存储的角度对二维数组作一个全面的了解。二维数组在内存中的存储,是按照先行后列依次存放

2011-08-05 19:21:34 10455 1

转载 c语言之static

1. static 变量静态变量的类型 说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态 存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。

2011-08-05 10:50:21 757

原创 C语言中的左移和右移(转)

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用int i = 1;i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成000...0100,也就是10进制的4,所以说左移1位

2011-07-24 15:30:11 23823

原创 如何避免在IE中执行window.close()后弹出一个新IE窗口

<br /><br />一、showModalDialog和showModelessDialog有什么不同?<br />  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。<br />  showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)<br />二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?

2011-05-26 22:33:00 3467

原创 页面上鼠标拖动块的一个例子

<br /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <div id="

2011-04-14 20:10:00 651

原创 java 与sql server 2005(2000)数据库连接 基类(jdbc驱动)(转)

<br />import java.sql.*; public class BaseDao { private Connection dbConn=null; private Statement stmt=null; private ResultSet rs=null; public void setConnection(Connection dbConn) { this.dbConn=dbConn; } public Connection getConnectio

2011-04-11 22:21:00 3324

原创 CSS中关于UL在不同浏览器中的差异

<br />大家都知道 ul 默认值中,IE 给了 ul 一个 margin 值,而 FF 给了一个 padding 值。<br /> <br />果我们给 ul 加上一个背景或者框架,它就会露出原形,也就是在 IE 中项目符号是在 ul 外面,所以 ul 的宽度是不把项目符号算在里面的(如下图1);而 FF 是把项目符号算在 ul 里面的(下图2)。这样对 CSS 解释的差异就导致了在不同浏览器中会产生不同的效果。 <br /><br />在实际应用中,我们会先把样式重置-css reset(如上图3)。

2011-04-10 21:10:00 1433

原创 Jena 本体推理规则(Rules)的介绍

<br />本体的推理规则库是有一条条规则组成的。每条规则由主体(body)和头(head)组成,一条规则可以有一个主体和一个头,例如规则:[rule1:(?a fa:hasHusband ?b)(?a fa:isMotherOf ?c)->(?b fa:isFatherOf ?c)],其中规则的主体为:?a @hasHusband ?b,?a @isMotherOf ?c,头为:?b @isFatherOf ?c,也就是说有所有的主体可以推出头。?a @hasHusband ?b,?a @isMother

2011-03-27 17:27:00 17809 10

原创 Jena API 在OWL中应用的体会

<br />为了更好的使用Jena API,我们应该对OWL有个大致的了解。OWL核心是围绕三元组的,即我们在很多资料中看到的陈述(Statement),它的组成为:Statement=(Subject,Property,Object),其中Subject我们熟成为主体,Property成为属性,Object成为客体。在编程中容易让人搞混的他们和Individual的区别。Individual熟称为个体。它是Subject、Object的一个实例,例如在Statement=(Animals,Eat,Plan

2011-03-26 15:59:00 7277 2

原创 如何将本地TXT数据导入到SQL 数据库表中

<br />可以直接在SQL SERVER 查询器里执行下面这条语句<br />EXEC master..xp_cmdshell 'bcp "gxsj.dbo.zjgxx" in "d:/d.txt" -c -S localhost -U sa -P password'<br />注意数据库表名前要加数据库名 -S -U -P要大写。

2011-03-22 10:36:00 2008

原创 如何将sql server 里的数据库表导出成TXT

<br />可以直接在sql sever里的查询器里执行下面这条语句。<br />EXEC master..xp_cmdshell 'bcp "select *sfrzh from gxsj..answer" queryout "d:/tt.txt" -c -s localhos

2010-11-29 11:34:00 6442

原创 css float和magin的问题

<br />在IE6下当你同时对DIV 设置float和magin属性时,magin会加倍,例如你设置magin-left:2px;实际上位4px;<br />解决办法是:加上display:inline属性就行了。

2010-11-23 16:20:00 821

转载 XMLHttpRequest

<br />XMLHTTPRequest是由一组方法和属性组成的对像.是ajax技术的核心.所有的异步交互和所谓的局部刷新都建立在XMLHTTPRequest基础之上.XMLHTTPRequest是由微软公司发明,最初被应用在IE5.0.但经过发展几乎所有的现代浏览器都支持XMLHTTPRequest对像,不过在不同的浏览器中创建该对像的方法略有不同.利用XMLHTTPRequest神奇之处就是无需刷新网页便可更改网页中的内容.如果你想要在你的网页中实现这种效果,就必须利用JavaScript或Jscrip

2010-09-15 16:15:00 434

原创 jspsmartupload Files' name is invalid or does not exist的解决方法

<br />出现这种情况的很有可能的原因是JSP的FORM表单中没有添加ENCTYPE="multipart/form-data".<br /><form name="userInfo" method="post" action="first_submit.jsp"   ENCTYPE="multipart/form-data"><br />表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。<br />如下:<br /><tr><br />     <td

2010-09-04 15:18:00 5080 1

空空如也

空空如也

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

TA关注的人

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