- 博客(59)
- 资源 (15)
- 收藏
- 关注
原创 android系统下sd卡里文件识别
废话不多说,先上图:关键就在SD_IdentifyActivity类中SD_IdentifyActivity.javapackage com.haungcheng.sd;import java.io.File;import com.huangcheng.file.FileInput;import android.app.Activity;import
2012-09-26 10:10:57 958
原创 android系统下文件擦除
上次做的项目中包括文件擦除部分,一般删除的文件可以被恢复,而擦除过的文件因为写入了一些其他的数据,所以无法被恢复。下面请看带代码:Clear.javapackage com.huangcheng.smash;import java.io.File;public class Clear { public static void main(String[] args)
2012-09-26 09:41:12 1509
原创 类似360的轨迹加密功能
最近做个东西,要用到这个所以发了下,希望能对大家有帮助,先上图:主要实现:1.自定义View LocusPassWordViewpackage com.huangcheng.lock;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.Time
2012-07-13 20:38:47 6222 1
原创 蓝牙远程控制小车实现
小车实物图模型和上位机控制软件 申报作品情况(科技发明制作) 作品全称蓝牙全方向远程控制小车作品设计、发明的目的和基本思路、创新点、技术关键和主要技术指标1. 设计目的:该设计使用小车底板,减速直流电机,外加8051系统,和L298N模块
2012-07-07 17:03:30 19579 16
原创 android短信拦截
自己写的用android短信拦截,实现输入手机号拦截该手机的短信的功能,可以作为参考,源码下载地址:http://download.csdn.net/detail/hc260164797/4387139下面我来介绍一下该程序实现:1.首先是主界面:主界面代码:package com.huangcheng.smscut;import android.app.Activity;i
2012-06-22 15:53:53 3663 5
原创 MFC实现的串口通信助手
需要用到VC串口调试程序,于是写了一个串口调试助手作参考,源码地址:http://download.csdn.net/detail/hc260164797/4360519,欢迎大家拍砖~~程序界面是串口设置是,9600波特率,8数据位,1位停止位,无校验位该程序实现两个线程,一个线程串口读数据,并更新界面,一个座位主界面和串口发送数据。主要实现函数:1.枚举所有
2012-06-08 13:20:05 22819 9
原创 SurfaceView单线程和多线程(读写分开,信号量实现)图片切换
写了一个单线程的和多线程读写分开的图片切换,多线程同步用信号量实现:二话不说,上图:1.信号量基类:package com.huangcheng.sem;public abstract class Semaphore { private int value = 0; public Semaphore() { } public Semaphore(int init
2012-05-28 18:43:00 2109
原创 SurfaceView实现静态于动态画图效果
本文是基于android的SurfaceView的动态画图效果,实现静态和动态下的正弦波画图,可作为自己做图的简单参考,废话不多说,先上图,静态效果:动态效果:比较简单,代码注释的也比较详细,易懂,我就直接上代码了吧:1.main.xml<LinearLayout xmlns:android="http://schemas.android.com/ap
2012-05-27 13:41:42 5016
原创 MediaPlayer实现带播放条的音乐播放和视频播放,可以作为程序参考
复习了一下android,写了一个mediaplayer播放的程序实现音乐的播放和视频的播放,程序效果图如图:完成的基本功能有:1,读取音乐文件 2.播放音乐文件 3,读取视频文件4,播放视频文件主要程序源代码:package com.huangcheng.media;import java.io.IOException;import java.util.Timer;
2012-05-26 19:24:24 1886
原创 android飞信群发助手
很久以前写过的一个程序,主要用到了ListView,ContentProvider,solite数据库和Java网络通信实现了基于第三方API的飞信群发助手,实现了飞信的添加好友,发送飞信和飞信群发功能,可以作为参考,源码我已经上传,下载地址我会放在下面,供大家下载学习。本人小菜一个。。。。欢迎大家拍砖~~~这是程序的主界面:主界面源代码,FetionSend.javapack
2012-05-23 21:39:15 2315
原创 android串口通信实例分析
android 串口通信实例分析,用的时开源的android-serialport-api这个是用android ndk实现的串口通信,我把他做了一个简化,适合于一般的程序的串口通信移植,欢迎拍砖~~~~~~~~~先说jni接口吧,原本文件太多,其实只需要SerialPort.c和Android.mk就可以实现Serialport.c#include #include
2012-05-21 23:31:18 11205 29
原创 经纬度坐标转换到平面坐标
通常经纬度坐标转平面坐标有两种做法:墨卡托坐标投影(UTM坐标系)米勒坐标投影米勒坐标系package sg.edu.ntu.huangcheng;public class MillerCoordinate { public static double[] MillierConvertion(double lat, double lon) { dou
2015-05-28 14:10:46 50915 4
转载 Linux双网卡配置
前些日子我给笔记本配了一个U口网卡,这是由于寝室没有台式,前些日子好不容易整了一个台式的电脑,可是没有双网卡啊,用网通的时候homeshare,再加之这破windows系统的不稳定,网通老是掉线,昨天我产生了个想法,用我的linux做主机,双网卡全寝室共享上网。这样在linux稳定的支持下,不用任何路由软件就能够实现共享上网。然而在linux下配置双网卡是有一定难度的,一个设计到软路由的问
2012-10-19 22:35:26 1358
原创 MFC全局变量问题
1.MFC可以用全局变量,包含在一个头文件中,但这个头文件只能被一个类include,否则就会链接出错2.一般定义全局变量都放在需要使用的那个类的cpp中.3.可自在CMainApp中定义变量ImgName,这样可以再全局使用,如:CFaceRecongnizeApp *app=(CFaceRecongnizeApp*)AfxGetApp();app->ImgName在哪里都可以使
2012-10-12 23:37:40 889
转载 经典PV信号量操作题
(一) 图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)(1) 当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2) 当图书馆中没有座位时,后到的读者不等待,立即回家。解(1 )设信号量:S=100; MUTEX=1P(S)P(M
2012-06-12 12:30:26 9758
转载 Peterson算法(软件实现互斥)
Peterson算法如下:Peterson提出了简单且一流的方法。 和以前一样,全局数组变量flag表明每个互斥进程的位置,全局变量turn解决同时发生的冲突。boolean flag[2];int turn;void P0(){ while(true) { flag[0]=true; turn=1; while
2012-06-08 18:07:08 4962 1
转载 Android之Adapter用法总结
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览: 由图可以看到在Android中与
2012-05-28 16:27:39 698
转载 java实现信号量
本文介绍的Semaphore实现基于synchronized,wait()和notify/notifyAll(),这是java并发包之前的典型实现方式.在eclipse的源码中可以找到不少这样的案例,下文中也会把eclipse中的几个实现类作为案例以分析之. 注,这里介绍的信号量实现是基于java语言机制,用于实现多线程间的同步操作,所以对S,P(S),V(S)等概念的介绍将结
2012-05-27 14:42:51 2629
转载 程序员必知8大排序3大查找(3)
三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈)一、顺序查找的基本思想:从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到
2012-05-17 23:19:05 720
转载 程序员必知8大排序3大查找(2)
本文我们先把剩余的三大排序说完,然后讨论一下排序的稳定性问题,最后再总结一下排序的时间复杂度和空间复杂度。(1到5见上篇)6、快速排序 (1)基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。
2012-05-17 23:18:18 486
转载 程序员必知8大排序3大查找
每天都在叫嚣自己会什么技术,什么框架,可否意识到你每天都在被这些新名词、新技术所迷惑,.NET、XML等等技术固然诱人,可是如果自己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易了。 要编写出优秀的代码同样要扎实的基础,如
2012-05-17 23:17:26 481
转载 Android中ListView结合CheckBox判断选中项
本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了哪些项。[1] 程序结构图如下:其中Person.java是实体类,MainActivity.java是Activity组件
2012-05-16 22:10:35 852
转载 Android中ListView分页加载数据
Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验。因此,很多应用都是采用分批次加载的形式来获取用户所需的数据。例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据
2012-05-16 22:09:52 1440
转载 android底部导航栏
现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能。我们先看下该demo实例的框架图:其中各个类的作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序的资源图片)也不提供了,大家可以自行更换自己需要的资源图片。直接上各个布局文件或各个类的代码
2012-05-16 22:08:11 8331 6
转载 Android中如何使用ViewPager实现类似laucher左右拖动效果
现在很多Android应用在首次安装完都会有指引如何使用该应用的某些功能的指引界面,这样会获得很好的用户体验,能够帮助用户更好使用应用的某些功能。其实该功能和Android主界面的 luncher 的功能完全一样的效果,可以实现左右拖动。下面结合 ViewPager 的实例来展示如何实现该功能,先看下该Demo的结构图:注:ViewPager类是实现左右两个屏幕平滑地切
2012-05-16 22:03:22 983
转载 Android应用中通过AIDL机制实现进程间的通讯实例
在Android中,每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢?显然,Java中是不支持跨进程内存共享的,因此要传递对象,需要把对象解析成操作系统能够理解的数据格式,以达到跨界对象访问的目的。在Android中,则采用AIDL(Android Interface Definition Language :接口定义语言)方式实现。AIDL (Andro
2012-05-16 22:01:29 779
转载 AsyncTask android多线程
Understanding AsyncTaskAsyncTask是Android 1.5 Cubake加入的用于实现异步操作的一个类,在此之前只能用Java SE库中的Thread来实现多线程异步,AsyncTask是Android平台自己的异步工具,融入了Android平台的特性,让异步操作更加的安全,方便和实用。实质上它也是对Java SE库中Thread的一个封装,加上了平台相关的特性,
2012-05-16 21:57:19 965
转载 (Java)关于String的面试问题
身边有些做Java开发的朋友,找工作时常常被考到一道关于字符串的题目。题目倒是很基础,然而根据朋友们事后的描述,有理由认为有的面试官自己都没有完全搞清楚这个问题。此外,在CSDN论坛中我也多次看到一些朋友在这个问题上的迷惑。索性把自己的理解写下来吧。 题目是一道简单的小程序,像下面这样:public class Test1 { public static void mai
2012-05-15 22:28:33 740
转载 linux 日志编程(总结)
日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这3个函数的具体信息。 openlog、syslog和closelog函数说明:openlog函数用于打开系统日志连接。只有在打开连接后,才能使用syslog函数向日志文件中添加日志信息。closelog函数用于关闭打开的系统日志连接,该函数的调用在实现中是可选择的。
2012-05-15 22:20:48 780
原创 Linux信号量机制
1 需求说明1.1 基本需求目标:本次实验的目标是在Linux环境下实现一个多线程对临界资源的互斥操作,利用信号量实现对临界资源的保护,支持Linux下文件输入输出,提高对Linux环境下多进程、多线程、信号量机制和文件操作等知识的理解。问题描述:设有进程A、B、C,分别调用过程get、copy、put对缓冲区S和T进行操作。其中get负责从文件F_in中把数据块读入并输出缓冲
2012-05-14 23:11:32 6104 1
原创 Linux信号量机制(生产者消费者)
该程序为Linux信号量机制实现程序,主要模拟了一般的生产者-消费者问题。(生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等
2012-05-14 23:08:49 12453
转载 如何判断送入函数的是静态分配还是动态分配的数组
问:如果你要为客户写一个函数(软件开发客户),该函数用来处理一个数组入口是这样的void test(int *p)在函数中将要对该数组进行操作,情况有2种:1 送入的数组是静态分配的2 送入的数组是动态分配(如MALLOC)的那如何去判断这两种分配情况呢wanguodu(足文字D)的答案:不谦虚的说,我觉得我已经给出了答案。 至于说,用_m
2012-05-13 23:22:56 971
原创 冒泡排序+二分搜索
#include#includevoid sort(int *,int);//排序函数void exchange(int,int);//交换函数void find(int *,int,int);//查找函数void main(){ int num[]={11,56,76,34,67,32,12,67,90,4}; for(int i=0;i<10;i++){ printf("%
2012-05-13 22:55:49 559
原创 基于滑动窗口协议写的程序(UDP实现)
正好有一个大作业关于用socket实现滑动窗口协议,所以写了一个,模拟接收方与发送方窗口都是2,用两个线程实现。下面是代码,注释的比较详细了。socket_udp.h#include#include#include#include#include//#include "winsock2.h"#pragma comment(lib,"WS2_32.LIB")#de
2012-05-13 22:53:01 9088 3
转载 托管C++应用程序开发之概述
由于.NET的强大特性,因而作为C++程序员首先想到的就是如何将C++移植到Visual Studio.NET环境中。好在Visual C++.NET本身集成了一个具有.NET新特性的语言:托管C++,它是在C++基础上建立的,但又和C++有着本质的区别。使用托管C++意味着,我们的代码可以被CLR所管理,并能开发出具有最新特性如垃圾自动收集、程序间相互访问等的.NET框架应用程序。
2012-05-12 22:03:18 810
转载 滑动窗口协议
仍然考虑链路的延迟与带宽的乘积为8 K B,帧尺寸为1 K B的情形。让发送方在收到第一帧的A C K的同时准备发送第九帧。允许我们这样做的算法称为滑动窗口( sliding window),时间线如图2 - 2 1所示。1. 滑动窗口算法滑动窗口算法工作过程如下。首先,发送方为每1帧赋一个序号(sequence number),记作S e q N u m。现在,让我们忽略
2012-05-11 20:33:39 6403
转载 堆栈,堆栈,堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态
2012-05-08 22:30:52 634
转载 java线程同步原理及wait,notify的用法及与sleep的区别
一。 java线程同步原理java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处理这些访问的并发独占要求。当一个线程调用一个对象的同步方法时,JVM会检查该对象的monitor。如果monitor没有被占用,那么这个线程就得到了monitor的占有 权,可以继续执行该对象的同
2012-05-08 22:11:26 598
原创 数据结构:图
首先,图的概念大家应该都有,我就不多说了,下面主要介绍下处理图的数据的主要方法。1,首先,就是存储图,有两种方法邻接矩阵typedef struct{ char vex[size];//顶点 double arcs[size][size];//邻接矩阵,存储相邻关系,有必要的话还会存储相邻距离}graph; 邻接表typedef struct{ char v
2011-06-25 23:48:00 567
转载 java synchronized用法小结
synchronized的一个简单例子public class TextThread{ /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 TxtThread tt = new TxtThread(); new Thread(tt).start();
2011-06-08 00:24:00 463
android 串口通信实例源码
2012-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人