- 浏览: 69182 次
- 性别:
- 来自: 杭州
最新评论
文章列表
以下摘录自《Linux C 程序设计大全》。
对于小型代码而言,可以将所有的文件书写在一个源文件中。但是如果代码量很大,这种组织代码的形式就不适合了。那么应当怎样组织多个文件,多个模块的大型代码呢?
首先,应当将所有需要使用的函数分类。具体就是将功能相同的函数写在同一个文件内,在C语言中,一个文件即代表一个模块。例如,对于一个链表操作的程序而言,插入链表节点的操作函数和删除链表节点的操作函数操作的是同一个资源(链表),完成操作类似(都需要修改链表)。
其次,如果模块中的函数是一个函数接口,需要被其他模块所引用,则应当定义为外部函数。如果函数仅在模块内使用 ...
一篇关于Handler的文章,写的非常详细,收藏!
下面的内容翻译自Android官方网站关于AsyncTask相关介绍。
AsyncTask提供了一种合适的和简单的方法使用UI线程。这个类允许执行后台操作并把操作结果在UI线程里呈现,且整个过程不需要操作线程和Handler类。
AsyncTa ...
该学习笔记根据一个网友的例子整理而成。
(1)服务器端
1.创建一个AIDL文件,可以看提供的源码。创建完成后,eclipse插件自动在gen目录下生成同名字的java文件。里面包含一个Stub抽象类,这个类继承自android.os.Binder,这个类是实现整个远程调用的核心。
// 声明Java包头,该AIDL文件会生成对应的Java类,并置于gen目录下
package com.hdu.edu.aidltest;
// 接口声明
interface IPerson {
void setAge(int age);
void se ...
Java中的正则表达式学习笔记
- 博客分类:
- Java学习
关于正则表达式的定义可以看维基百科中的解释——正则表达式。正则表达式是一种强大而灵活的文本处理工具。它提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配、选择、编辑及验证。一般来说,正则表达式就是以某种方式来描述字符串。
在Java中,\\的意思是“插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义”。在Java中的String类自带了一个正则表达式工具——split()方法,其功能是“将字符创从正则表达式匹配的地方切开。”String类还有一个正则表达式工具是“替换”。你可以只替换正则表达式第一个匹配的子串,或是替换所有匹配的地方(replaceFir ...
如果你的界面布局的内容是动态的或者不是预先设定的,那么你可以利用适配器视图的子类(ListView,GridView)在运行时填充你的界面。适配器视图可以利用适配器将数据与之绑定。适配器相当于数据源与适配器视图之间的中间人——适配器获得数据(数据源可以是一个数组或一个数据库查询)然后将每个数据条目转化为一个可以添加到适配器视图中的视图。具体请看——官方指南
在数学中,辗转相除法,又称欧几里得算法,是求最大公约数的算法。两个整数的最大公约数(亦称公因子)是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数21(252 = 21 × 12;105 = 21 × 5);因为252 − 105 = 147,所以147和105的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的还没有变成零的数就是两数的最大公约数。具体的介绍请看维基百科中的解释——辗转相除法。下面是具体实现代码 ...
linux下的C语言编程(转载)
- 博客分类:
- C/C++
关于Linux下的C语言编程——http://blog.csdn.net/feixiaoxing/article/details/7271937
如何调用Android系统图库中选择图片:点击
本文根据《GPS经纬度坐标转平面坐标的简化计算方法及精度分析》这篇文章中的的方法将GPS经纬度坐标转换为以地平面上平面直角坐标系中的X、Y坐标。这个转换方法的前提是在一定的范围以内。具体的转化公式请参考该文,下面是坐标转换的代码:
public class PlaneCoordinate {
/**
* 平面坐标系
*/
private static final double MACRO_AXIS = 6378137; // 赤道圆的平均半径
private static final double MINOR_AXIS = 6356752; // 半短轴 ...
Map(和Collection<E>一样都是集合框架的顶层接口)
|--Hashtable:底层是哈希表数据结构,不可以用null对象作为键或值。它是线程同步的。
|--HashMap:底层是哈希表。允许使用null键null值,该集合是不同步的,效率高,将Hashtable替代。
|--TreeMap:底层是二叉树数据结构。线程不同步,可以用于给Map集合中的键进行排序。
Map和Set很像,其实,Set底层使用了Map集合。
Map<K, V>:K-此映射所维护的键的类型,V-映射值的类型。
Map集合的特点:该集 ...
|--Set:元素是无序(存入和取出的顺序不一定一致)的,元素不可以重复
|--HashSet:底层数据结构是哈希表,线程是非同步的。
|--TreeSet:底层数据结构是二叉树。保证元素唯一性的依据compareTo()方法返回0;会自动对存入Set ...
对于集合的一个基本的操作利用foreach语句遍历集合以处理集合中的每个元素。看下面的代码:
// 下面是关于foreach语句的使用,代码非常简洁和紧凑
Stack<String> collection = new Stack<String>();
// ....
for (String s : collection) {
System.out.println(s);
}
// ...
// 下面使用while语句来代替上面的foreach语句来实现相同的功能
Stack<String> collection = ne ...