自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(229)
  • 资源 (24)
  • 收藏
  • 关注

原创 设计模式概述

一.  首先来概括一下面向对象设计的七大原则1.      单一职责原则(Single Responsibility Principle, SRP):类的职责要单一,不能将太多的职责放在一个类中。2.      开闭原则(Open-Closed Principle, OCP):软件实例对扩展是开放的,但是对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能。3.      里氏代

2014-11-12 00:58:18 737

原创 Android Messenger 进程间通信

一. 基本实现 Messenger Class Overview    Reference to a Handler, which others can use to send messages to it. This allows for the implementation of message-based communication across processes, by

2014-11-10 00:09:21 1212

翻译 Android Interface Definition Language (AIDL)

一. 本章主要讨论以下问题    1. 定义 ALDL 接口        1.1 创建 .aidl 文件        1.2 实现接口        1.3 把接口暴露给 clients    2. 通过 IPC 传递 Objects    3. 调用 IPC 方法    ALDL 即接口定义语言,也许和你所用的别的 IDLs 是类似的 。其提出是为了让你能

2014-11-09 20:16:16 971

翻译 Android Guts: Intro to Loopers and Handlers

本章的主题是 Android 的 Looper 和 Handler 的用法,正如我们所知道的一样,Looper 和 Handler 是 Android 中非常有用的两个类 。通过它们的帮助,我们可以做很多很 cool 的事情 (假设你已经理解了 Looper 和 Handler 的作用和基本用法,否则对你来说这篇文章可能有点难)。    那么我们可以用 Looper 和 Handler 来做什

2014-10-30 21:15:50 1016

翻译 Fragments for background processing

1. 概述   本文主要讨论如何利用 Fragment 来处理 configuration 的改变的问题,即在 configuration 发生改变的时候,我们怎样保持 objects (如正在运行的线程、Sockets 及 AsyncTasks),以便能够再次恢复它们的状态。    为了回答这个问题,我们会先谈谈开发者面临的一个难题 :在 Activity 的生命周期变迁期间,如何处理需

2014-10-29 23:14:47 918

翻译 Android Processes and Threads

Processes and Threads 概述    在默认情况下,每个 app 都运行在自己的 process 中,而且同一 app 中的所有 components 也运行在这个 process 中 。    activity 中的任何慢速、阻塞的操作都应该在一个新的线程中进行,以免使 UI 线程响应速度变慢(甚至出现 ANR) 。一. 本章主要讨论以下内容    Pr

2014-10-28 00:33:48 667

转载 Java nio

注:本章只对其中一些内容进行

2014-10-19 11:38:08 1633

翻译 Android Tasks and Back Stack

Tasks and Back Stack 概述    所有的 activities 都属于特定的 task;    一个 task 中包含一系列的 activities ,用户可以与之交互;    Tasks 可以被移到后台,并保存它所包含的 activity 的状态信息,这样用户在执行其它操作时,之前的操作状                                      

2014-10-11 22:11:44 1253

翻译 Android Fragments

Android Fragments 概述    Fragments 把 app 的功能和 UI 分解成可复用的模块    把多个 fragments 添加到一个屏幕以,避免切换 activities    Fragments 有自己的生命周期、状态和回退栈    Fragments 要求 API 11及以上的版本一. 本章主要讨论以下内容     设计哲学

2014-10-04 02:01:46 883

翻译 Android Activities

一. Activities 概述    一个 Activities 代表一个与用户交互的屏幕界面,而且 Activities 可以退至后台,当它恢复运行可以恢复到退至后台前的状态。    本章主要讨论以下内容    创建一个 Activities        实现一个用户界面        在 manifest 中声明一个Activities    启动一个 Activi

2014-10-02 14:07:00 814

翻译 Android Services

Android Services    一个 Service 是一个可以在后台执行耗时操作的应用组件,它在执行过程中并不提供用户界面。其它的应用组件可以启动一个 Service ,当 Service 被启动后,它就会在后台持续执行,即使用户切换到别的应用组件。此外,一个应用组件可以与一个 Service 绑定,从而可以和所绑定的 Service 进行交互,甚至进行进程通信(IPC)。如一个

2014-09-29 20:21:56 870

翻译 Android Application Fundamentals

应用程序基础一. 概述    一个应用程序由一个或多个应用组件组成,这些基本组件包括 activities, services, content provides 和 broadcast receivers 。每个组件在整个应用程序中都扮演不同的角色,而且每种组件都可以单独地运行,甚至可以通过别的应用来启动它们。必须要在 manifest 文件中声明应用中的所有组件,同时还要声明应

2014-09-27 17:07:15 1062

原创 JNI概述

第一章    JNI概述一、Java 代码访问本地代码  Java 是跨平台的语言,但是有时候需要调用本地代码(如由 C/C++ 编写的本地代码),为了满足这种需要,Sun公司提供了 JNI 技术, JNI 是 Java 平台的一个功能强大的接口,这个 JNI 接口提供了 Java 与操作系统本地代码互相调用的功能。但是如果一个应用程序使用了 JNI ,那么它就失去了 Java 应

2014-06-12 01:28:49 711

原创 Makefile的基础知识

一、 三个基本概念(注:本文所有的测试都是在 Linux 环境下进行的)  在Makefile中,最重要的三个概念是:目标(target)、依赖关系(dependency)和命令(command)。目标是指要干什么,即运行make后生成什么;依赖是指明目标所依赖的其他目标;命令则告诉make如何生成目标,这三个概念是通过Makefile中的规则(rule)关联在一起的。

2014-06-02 16:41:06 2081

原创 Linux网络编程基础

一、字节序与大小端问题  网络使得数据可以从一个主机传递到另一个主机,不同的处理器在管理内存单元的数据时,对需要存放在多个内存单元的某一个数据的处理方式也不尽相同。所以这类数据的解释结果也不同,CPU 数据处理类型有大端和小端两种模式。小端模式(Little-endian):操作数存放方式为高地址存放高字节;大端模式(Big-endian):操作数的存放方式为高地址放低字节。X86平台

2014-06-02 16:31:30 749

转载 Eclipse配置C/C++开发环境

开发环境:Eclipse3.2、CDT3.1、MinGW5.1原文链接:http://blog.csdn.net/hujingn/article/details/58495161、Eclipse及CDT的安装到Eclipse的官方网站http://www.eclipse.org上下载Eclipse。安装CDT。CDT的全称是C/C++ DevelopmentTools,是使

2014-03-29 18:23:56 910

原创 贪心算法分析

动态规划是对分治算法的一种改善,当它发现分解出来的子问题有重叠时,保用自底向上的策略来避免重复计算,从而提高了算法的效率。其特点是在每次做出选择前,将所有选择的效果都进行计算,在此计算的基础上选出最优的选项,所以动态规划的每次选择都是最优的。但是,当可选项的数目巨大时,算法将不堪重负,所以在这种条件下,有必要采用新的算法。  贪心算法的基本策略:一步一步地构建问题的最优解,其中每一步均只考虑眼

2013-12-15 21:18:38 2107

原创 动态规划算法例题及解析

在此再次简要描述一下动态规划算法的基本要素:(1)       最优子结构性质:这是可用动态规划算法求解的前提条件(2)       重叠子问题:子问题是否具有重叠性会影响到动态规划算法的效率 1.字符串转换设A和AB是两个字符串,要用最少的字符操作,将字符串A转换为字符串B,这里的操作限定为:(1)删除一个字符;(2)插入一个字符;(3)将一个字符变成另一

2013-12-15 21:05:46 6455

原创 如何利用内部类的类型封装功能实现线程安全的类以提高程序的性能

一、内部类的用途首先让先让我们来看一下内部类的用途:封装类型、直接访问外部类的成员、回调外部类的方法。这里仅重点介绍对本节来说至关重要的封装类型功能。  封装是面向对象的核心思想之一:把所有不希望对外公开的实现细节封装起来。顶层类只能处于public和默认访问级别,而成员内部类则可处于public、protected、private和默认4种访问级别。此外,如果一个内部类仅仅为特定的方法提

2013-12-15 20:41:17 1407

原创 Java数组和各种List的性能比较

Java数组和各种List的性能比较  以下程序分别对Java数组、ArrayList、LinkedList和Vector进行随机访问和迭代等操作,并比较这种集合的性能。package cn.lion.test; public class PerformanceTest { privatestatic final int SIZE =100000;

2013-11-03 13:39:48 8787

原创 拓扑排序

拓扑排序  对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若∈E(G),则u在线性序列中出现在v之前。(理论书上和网上都有,我就不献丑那么多了,直接来看个实例…)  函数int Toplogical(LinkedWDigraphG)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长

2013-10-16 22:55:49 1033

原创 众数问题

众数问题  给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。  多重集S的众数是2,其重数为3。    对于给定的由n个自然数组成的多重集S,编程计算S的众数及其重数。方法一:采用分治算法的思想– 先由找一个基准元素X,把整数数组基于X进行划分– 统计X出现的次数T– 如

2013-10-03 21:50:55 1502

原创 分治与递归分析

递归与分治分析适合用递归算法来解决的常见问题有:(1)二分搜索技术; (2)大整数乘法;(3)Strassen矩阵乘法;(4)棋盘覆盖;(5)合并排序和快速排序;(6)线性时间选择;(7)最接近点对问题;(8)循环赛日程表。 算法总体思想  对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,

2013-10-01 12:56:30 2631 1

转载 05_ 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历

今天忽然看到一大神写的建立二叉树的程序,感觉他的编程技巧很高超,代码简洁干练,忍不住转一把。(我也要努力,争取早日达到这种水平)原文链接:http://blog.csdn.net/hackbuteer1/article/details/72753961. 题目描述:    输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。输入:    输入第一行包括一个整数n(1

2013-09-26 17:10:16 5450

原创 04_N阶楼梯上楼问题、输入一个ip地址串,判断是否合法、输入一个四行五列的矩阵,找出每列最大的两个数

1. 题目描述:N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入:输入包括一个整数N,(1输出:可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。样例输入:4样例输出:5  分析:假设 f(n) 为上 n 阶楼梯的方法数量。则如果只有 1 阶楼梯,显然只有一种方法走完;如果有 2 阶楼梯,显然

2013-09-26 16:45:40 2664

原创 03_统计单词个数、求阶乘、输出最短和最长的字符串

1. 题目描述:编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。(凡是以一个或多个空格隔开的部分就为一个单词)输入:输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。输出:可能有多组测试数据,对于每组数据,输出字符串中每个单词包含的字母的个数。样例输入:hello h

2013-09-24 21:33:17 1919

原创 02_对N个长度最长可达到1000的数进行排序、对给定的一个字符串,找出有重复的字符,并给出其位置、输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序

1.题目描述:对N个长度最长可达到1000的数进行排序。输入:输入第一行为一个整数N,(1接下来的N行每行有一个数,数的长度范围为1每个数都是一个正数,并且保证不包含前缀零。输出:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。样例输入:3111111111111111111111111111112222

2013-09-24 11:43:30 4123

原创 01_进制转换、结构体排序、字符奇校验、字符串连接、实现一个加法器,使其能够输出a+b的值

1. 题目描述:输入一个整数,将其转换成八进制数输出。输入:输入包括一个整数N(0输出:可能有多组测试数据,对于每组数据,输出N的八进制表示数。样例输入:789样例输出:71011参考答案#includeint convert(int arr[], int t){ int k = 0, p = t; if(

2013-09-21 11:55:59 1499

原创 采用递归法生成M叉树

设 M 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树的根结点的值后跟用“()”括起来的各子树的列表(若有子树的话),各子树的列表用“,”分隔。如下图的三叉树的列表表示为a(b,c(f,g),e)编程根据输入的列表生成一棵 M 叉树,并再由生成的 M 输出相应的列表。  分析:在生成 M 叉树时,在列表中遇到左括号“(”后,表示是子树的开始,即可以递归调用生成过程;

2013-09-19 19:12:19 1290

原创 算法之大整数乘法

大数的表示方法有很多种,最易懂的而且最跟手工计算方式最接近的方式是通过字符数组来保存大数,数组的每个元素保存大数的一个十进制数字,这种方式操作比较简单,但是这种方式需要较多的额外运算,所以效率低下。另一种方式是采用链表作为存储结构,这种方式可以适应不同长度的大数,但是这种方式的存储效率很低,对本身就需要不少内存空间的大数运算来说负担很重,而且频繁的堆操作和解引用操作会大量增加开销,此外链表存储的不

2013-09-04 12:56:34 2160

原创 求阶乘与多整数连乘问题

1. 求阶乘问题对给定的 n(n   分析:因为要求的整数可能大大超出一般的整数的位数,所以应使用一维数组存储长整数,数组中的每个元素只存储长整数的一位数字。如有 m 位长整数 num,则用数组 arr[]存储如下:num = arr[m]*10^(m-1) + arr[m-1]*10^(m-2) + ... + arr[2]*10^1 + arr[1]*10^0并用arr[0]存

2013-09-01 21:20:43 3006

转载 Eclipse中10个最有用的快捷键组合

1. ctrl+shift+r:打开资源这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想

2013-08-29 22:58:04 895

原创 算法复习之动态规划_03

动态规划(dynamic programming)  动态规划是求解决策过程(decision process)最优化的一种数学方法。动态规划主要用于求解以时间划分阶段的动态过程的优化问题,一些与时间无关的静态规划,只要人为地引进时间因素,把它视为多阶段决策过程,也可以用动态规划方法方便地求解。基本模型  多阶段决策过程的最优化问题:  在现实生活中,有一类活动的过程,可将过程

2013-08-29 17:01:19 1542

原创 算法复习之递归算法_02

递归算法  一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称为递归函数。递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。(说明:递归算法往往效率低下,所以能不使用时就尽量不要用,以下所以递归程序只是为了说明问题,以便于理解递归的原理。对于这些问题,其实可以使用更高效的方法来解决的)递归算法的特点(1) 递归就是在过程或函数里调

2013-08-29 00:17:51 1261

原创 算法复习之分治算法_01

算法分析之分治算法一、基本概念及策略  分治法即分而治之,就是把一个复杂的问题分成两个或更多的相似的子问题,再把子问题分成更小的问题...直到最后子问题可以直接求解,原问题的解即子问题的解的合并。排序算法(快速排序、归并排序)等都含有分治的思想。  如果原问题可分割成k个子问题,1二、分治法适用的情况分治法所能解决的问题一般具有以下几个特征:1、该问题的规模缩小

2013-08-26 22:21:38 1729

转载 Linux编辑器vi使用方法详细介绍

Linux编辑器vi使用方法详细介绍vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里

2013-08-24 09:16:49 1173

原创 Linux 目录结构和最常用的命令

Linux实战1. 为什么要学Linux:是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都有使用Linux。2. 如何学习Linux:(1)Linux平台上的开发,包括vi、gcc、gdb、make、jdk、tomcat、mysql…和Linux基本操作。(2)加强C或java语言。(3)学习unix环境高级编程

2013-08-23 00:29:28 973

原创 字符串的完美度

题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。现在给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。函数头部Cint perfect(

2013-07-30 17:51:07 1176

转载 Java中abstract和interface的区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间

2013-07-25 22:34:38 710

转载 Hibernate中的Configuration类

Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例。下面是一个通用的创建实例的代码 Java代码try{ sessionFactory = new Configuration().configure().buildSessionFac

2013-07-02 07:36:23 1364

Android非凡行车记录仪源码

Android非凡行车记录仪源码,适用于所有类似行车记录仪的应用,包含后台录像、录音等强大功能。录像方案有基于camera2的实现、基于opengles的实现,非常适合相关项目开发者进行参考和复用,也可直接基于此项目进行二次开发。 此APP已经上架到华为应用商城,链接https://appgallery.huawei.com/#/app/C101080713,大家可以去看看。 如需答疑,请在csdn上给我留言。 应用简介: 这是一个非常好用的行车记录仪APP,当然除了行车记录外,也可用于日常的录像录音。主要功能有 1. 录音录像及拍照 此APP支持后台录音录像,所以不需要再录音录像时请及时停止录像,录音录像都可设置分段时间,可根据自行设置; 2. 文件浏览 录音录像及拍照文件会存储在本机上,可在文件浏览界面中查看。如需要批量删除文件,请到设置里面删除; 3. 轨迹回放 如果设置中的GPS开关处于打开状态,那么在录像时,APP就会定时记下当前位置,并绑定到对应录像文件的对应时间点上,点击地图上的坐标点,可跳转到对应视频的对应时间点开始进行播放; 4. 文件清理 APP每次启动时,都会自动检测过期文件和剩余存储空间大小,如有过期文件或存储空间不足,则自动进行文件删除操作。默认优先删除非重点文件,在剩余存储空间不足时,重点文件也会被删除。如果存储空间不足,那么即使文件没过期,也会被自动删除,请及时将重要文件拷贝到PC等其他地方保存; 5. 视频剪辑 可对手机上的视频进行任意裁剪,裁剪的视频可应用多种滤镜效果。

2021-06-02

Android雷达扫描效果

Android华丽的雷达扫描效果实现,采用自定义View,自定义属性,打造自己的雷达扫描控件。

2015-09-25

自定义控件

通过这个Demo,彻底搞清楚如何自定义控件

2015-09-23

Andoid UI 适配

这个例子是从官google官网上下载的,通过它你可以学习到如何实现自适配的UI界面,如何让自己的应用能够适配到小屏、大屏设备。

2015-08-29

Android Bitmap 处理示例

这个 Demo 给出了 Android 上处理图片的通用方法,包括图片缓存,加载大图片的方法等。

2015-05-28

retainfragment

如何通过Fragment来保存 Activity 的 state,使其在 restart 的时候不会丢失状态。

2015-05-26

Andorid Messenger 进程间通信

android 通过 Messenger 进行进程通信的 demo ,实现 Activity 和 service 的跨进程通信

2014-11-10

android Loopers and Handlers

本章的主题是 Android 的 Looper 和 Handler 的用法

2014-10-30

activity fragments

这个例子演示了如何在 configuraciton 改变的时候,保存 activity 及后台任务的状态

2014-10-29

java-nio实例代码

这是Java nio 的实例代码,非常经典精简,学完它你就可以掌握 nio 了...

2014-10-19

Android Fragment Demo

这是个完整的 Android Fragment 的 Demo

2014-10-04

基于java的学生信息管理系统

这是我做的基于java的学生信息管理系统,没有采用任何框架技术.因为月低要考试,我没时间修改了,所以系统尚有缺陷.另外,在设计过程我犯了个低级的错误:几乎所有的按钮响应都用类来实现,实际上这样会造成代码冗余,但是我也没时间改了.等考完试,我一定会把它重新设计一番.

2013-05-08

模仿QQ的程序的完整源代码

这是我用Java写的模仿QQ的程序的源代码,该应用程序有良好的可扩展性,你可以轻松的扩展它的功能,稍作修改加工就能得到属于你自己QQ应用程序.其实这不难的.开发个初级的Java应用程序不外乎Java的核心语法,用户界面设计(JavaSwing),网络连接和数据库连接几方面.只要你把这几方面都学会了,你也能轻易作出这种应用程序.

2013-04-24

用JDBC操作mysql数据库的实例的源代码

这是我用JDBC与mysql数据库连接及交互的很多实例的源代码,里面有一个完整的javaweb工程,工程下面有很多用JDBC操作mysql数据库的实例.你可以根据你的需要方便的修改这些实例程序的代码,并用到你的javaweb项目中.

2013-04-14

这里面有用JDBC技术与mysql数据交互的很多实例的源代码

这个压缩包里有我在学习JDBC时所写的很多实例的源代码,通过这些代码你就能轻松的与mysql数据库交互.有了它,web应用与数据库的连接交互不再是难题

2013-04-13

这是我用struts开发的一个简易的学生信息管理系统,能与mysql数据库交互

这是我用struts开发的一个简易的学生信息管理系统,该系统有良好的可扩展性,它能和mysql数据库交互,将学生的相关信息写入到数据.压缩包里有实现它的所有源代码及相关说明文件,你可以轻松的扩展其功能,如查询或修改mysql数据库中相应的学生信息等.我已实现了将学生信息添加到数据库的功能.

2013-04-13

这个压缩包里有JSTL自定义标签开发实例的源码及相关文件

这个压缩包里有我在学习JSTL自定义标签时写的一些自定义标签实例,如果你也在学JavaWeb技术,那么我相信这些源码会对你有帮助的

2013-04-13

这是一个用struts做的简易的学生信息系统,能连接到mysql数据库

这是个用struts做的简易的学生信息管理系统,它能连接到mysql数据库,压缩包里有所有的源代码,其中的管理学生信息模块有良好的可扩展性,我只实现了向数据库添加学生信息的功能.里面的程序说明文件较详细地说明了我开发的整个步骤.

2013-04-13

空空如也

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

TA关注的人

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