设计模式初探

设计模式

面向对象的设计原则

在看设计模式的时候都会多少提到面向对象的设计原则,明白了这些设计原则对于理解设计模式是很有帮助的,所以我就先介绍下面向对象的设计原则。
设计原则是为了服务于软件开发, 提高一个软件的可维护性和复用性 。常见的设计原则如下: 设计原则 | 说明
—|—
单一原则 | 一个类只负责一个具体领域的职责
开闭原则 | 软件实体应对拓展开放,对修改关闭
里氏代换原则 | 所有引用基类对象的地方可以透明地使用它子类的对象

Read More

安装软件Android

缘由

很多时候我们都需要给应用添加更新的功能,当我们下载完了安装包了,肯定是希望能够自动安装新版本的。但是由于安卓系统的限制,我们没法做到无感知的安装,所以就需要使用系统的软件安装器让用户去安装了。

代码

/**
 * 安装apk文件
Read More

数字组合得到24

寻找24的组合

缘由

今天同事给我出了一道题:

有四个数字:8、8、3、3,通过加减乘除还有括号,使得结果为24

我一看这么简单的数学题,我弟弟都会,简直就是毫无挑战,于是就拿出笔开始算。“3x8=24”这么简单啊,但是还有两个“3、8”啊!,就这样算了一个小时,还是没算出来,内心很受打击。但是,没关系,我是程序员怎么可能解不出来啊,我非得写个算法算出来。于是有了下面的故事…

Read More

蓝牙连接库 IBleLib的使用

蓝牙连接库 IBleLib

IBLeLib 是一个安卓平台的蓝牙库,可以方便的实现蓝牙的搜索、连接、数据读取的操作。
IBleLib

Github链接

所有的代码和Demo都已经上传到了Github,喜欢可以star。
点击跳转到Github

Read More

WebView (Android)使用

WebView 介绍

WebView是安卓平台用来显示网控件,可以实现App的混合开发需求。我们可能会有这样的需求,系统后台发送一个活动给用户,但是这个活动是会变化的,所以不能使用安卓的原生界面直接显示,那样会约束掉UI界面,使用网页来介绍活动就很有用了。
机核网的WebView显示文章

设置

当我们在布局文件里面添加了WebView控件之后,我们就可以对他进行操作了,首先需要对他进行设置,以满足你的需求。

获取WebSettings

Read More

线程池 Java

线程池 介绍

在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题:

如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资源要比处理实际的用户请求的时间和资源更多。

那么有没有一种办法使执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?
这就是线程池的目的了。线程池为线程生命周期的开销和资源不足问题提供了解决方案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。

Read More

Android 拨打电话

拨打电话

Android拨打电话有两种方式,一个是 调用拨号盘 ,然后用户点击拨号按钮,代码如下

/** 
 * 调用拨号界面 
 * @param phone 电话号码 
 */  
Read More

Html Canvas 自定义绘图

Html Canvas 自定义绘图

制作 Html 的时候我们总是不可避免的会遇到需要自定义 Canvas
绘图的情况,最近我在做网页的时候就遇到了需要需要自定义的绘图控件,效果图如下,框起来的地方就是我遇到的难点:
canvas效果
这是一个可以变化的进度条,上面有一个标签指向进度的位置。直接用html标签组合不实用,于是我想到了使用canvas的方式来绘制。

需求分析

  • 只需要简单引用一个js文件
Read More
Search by:GoogleBingBaidu