Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Android中Activity的四大启动模式实验简述

Android中Activity的四大启动模式实验简述

作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握。今天我们就来通过实验演示,来帮助大家理解Activity的四大启动模式。演示效果如下:第一步:实验前准备,相关配置文件以及Activity的建立(1)AndroidMainfest.xml配置文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <man...
Android中AlarmManager使用示例

Android中AlarmManager使用示例

现在普遍的手机都会有一个闹钟的功能,如果使用Android来实现一个闹钟可以使用AtarmManager来实现。AtarmManager提供了一种系统级的提示服务,允许你安排在将来的某个时间执行一个服务。AlarmManager对象一般不直接实例化,而是通过Context.getsystemservice(Context.ALARM_SERVICE)方法获得。下面是我们运用之前用到的TimePickerDialog结合AlarmManager,实现一个可以...
Linux设备管理(四)_从sysfs回到ktype

Linux设备管理(四)_从sysfs回到ktype

sysfs是一个基于ramfs的文件系统,在2.6内核开始引入,用来导出内核对象(kernel object)的数据、属性到用户空间。与同样用于查看内核数据的proc不同,sysfs只关心具有层次结构的设备信息,比如系统中的总线,驱动以及已经加载的模块等,而诸如PID等信息还是使用proc来管理。本质上,sysfs文件的层次结构就是基于内核中kset与kobject逻辑结构来组织的。从驱动开发的角度,sysfs为我们提供了除了虚拟字符设备的read/wri...
Java实现多线程断点下载(下载过程中可以暂停)

Java实现多线程断点下载(下载过程中可以暂停)

线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道。当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程,且支持中途暂停下载,再次开始时不会从头开始下载。两种功能的实现步骤如下:(1)连接到下载资源文件时,首先判断资源文件大小,同步的在本地创建一个大小相同的临时文件用于存储下载数据。(2)根据...
Java静态代理模式(从现实生活角度理解代码原理)

Java静态代理模式(从现实生活角度理解代码原理)

代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。在这实现代码之前,先讲一个简单的生活故事,我们都知道我们周边有很多公司有房屋买卖或租赁的业务,比如链家(LianJia),但链家本身是不存在任何实际房屋资产的,他所售卖租赁的房屋均需要房屋产权所有人(HomeMaster)提供,才得以实现公司的房源需求;同时公司...
Android中通过线程实现更新ProgressDialog(对话进度条)

Android中通过线程实现更新ProgressDialog(对话进度条)

作为开发者我们需要经常站在用户角度考虑问题,比如在应用商城下载软件时,当用户点击下载按钮,则会有下载进度提示页面出现,现在我们通过线程休眠的方式模拟下载进度更新的演示,如图(这里为了截图方便设置对话进度条位于屏幕上方):layout界面代码(仅部署一个按钮):<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:Android="http://schemas.android.c...
Android中的AlertDialog使用示例一(警告对话框)

Android中的AlertDialog使用示例一(警告对话框)

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们模拟卸载应用程序时弹出的最为普通的警告对话框,如下图:layout布局界面代码示例:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://s...
Android中GridView通过自定义适配器(未优化)实现图文视图排列

Android中GridView通过自定义适配器(未优化)实现图文视图排列

Android中GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字、图片或其他元素)需要显示时,可以使用该组件。下面我们通过代码实现如下图例(为了方便截图,将事件处理(土司)设置到屏幕顶部)Layout下gridview.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andro...
Java动态代理模式(从现实生活角度理解代码原理)

Java动态代理模式(从现实生活角度理解代码原理)

所谓动态代理,即通过代理类:Proxy的代理,接口和实现类之间可以不直接发生联系,而可以在运行期(Runtime)实现动态关联。java动态代理主要是使用java.lang.reflect包中的两个类。InvocationHandler类publicObjectinvoke(Objectobj,Methodmethod,Object[]obs)其中第一个参数 obj 指的是代理类,method是被代理的方法,obs是指被代理的方法的参数组。此方法由代理类来...
Android中的AlertDialog使用示例二(普通选项对话框)

Android中的AlertDialog使用示例二(普通选项对话框)

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们简单模拟一个选花魁的简单普通选项(单选)对话框,如下图:Layout界面代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sche...
Android中的AlertDialog使用示例三(单向选择确定对话框)

Android中的AlertDialog使用示例三(单向选择确定对话框)

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们简单模拟一个挑媳妇的选择确定对话框(单选)对话框,不同于示例二之处在于本次只要不确定就可以后悔哦,如下图:Layout界面代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout x...
Java简单工厂模式(从现实生活角度理解代码原理)

Java简单工厂模式(从现实生活角度理解代码原理)

简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品。也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式,一条生产线生产一种产品(一个代理代理一种业务),为了方便大家理解,我们将KFC比作一个简单的工厂,实现代码如下://建造接口(或者抽象类)提供食物生产方法interface Food{ public abstract void get();}//汉堡类(后厨...
Java集合框架之Collection接口

Java集合框架之Collection接口

Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。Jav...
Golang 发布的版本中自动加上 git revision

Golang 发布的版本中自动加上 git revision

概述起因是这样的,在编译发布 golang 工程时,希望版本号中包含有 git revision number。 但是,没有commit之前,是没法知道 revision number 的,commit之后,如果要修改代码中 version 的相关信息,又会导致需要再次的 commit。针对这种情况,希望能够在编译时动态的将当前的 git revision number 加入到 version 中。 这样,每次编译的时候获取当前 revision numb...
基于资源的权限系统-数据库设计

基于资源的权限系统-数据库设计

概述本通用权限管理系统是基于2棵树来做权限管理的,这2棵树就是 资源树 和 组织树组织+资源+动作 所组成的权限数据就是整个系统的核心。 这里之所以只用组织而不用人员,一方面可以减少权限数据的量,一方面还可以简化权限数据。每个人员的的权限是可以计算出来的。 人员从属于一个或者多个组织的,默认情况下所有人员都有一个根组织,权限数据为了保持简单,只存储组织的权限。表结构设计概略图真正在权限系统中的数据只要 Permission,Rule,Action 3张表就...
基于资源的权限系统-设计思路

基于资源的权限系统-设计思路

概述权限系统提的最多的就是 RBAC(基于角色的访问控制)。 所谓角色,其实就是权限的集合,某个角色就是某几个权限的结合。其目的是为了简化授权和鉴权的过程。基于角色的权限控制用在简单的权限环境下没有问题,如果在权限控制比较复杂的系统中,或者说要做通用的权限系统时,基于角色的权限控制会带来以下问题:角色可以用来做功能权限,做数据权限的话,会导致角色数量非常多 比如:bug管理系统,一般有 developer, reporter, manager 等一些角色,...
《Linux内核设计与实现》读书笔记

《Linux内核设计与实现》读书笔记

《Linux内核设计与实现》读书笔记,本篇简单介绍内核相关的基本概念。Linux内核设计与实现 第二版下载地址: http://www.linuxidc.com/Linux/2011-05/35530.htmLinux内核设计与实现(原书第3版) 清晰中文PDF http://www.linuxidc.com/Linux/2014-02/96174.htm主要内容:单内核和微内核内核版本号1. 单内核和微内核原理优势劣势单内核整个内核都在一个大内核地址空间...
JavaScript数组方法reduce解析

JavaScript数组方法reduce解析

Array.prototype.reduce()概述reduce()方法是数组的一个实例方法(共有方法),可以被数组的实例对象调用。reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。语法arr.reduce(callback[, initialValue]) {}参数回调函数中可以传递四个参数。previousValue:上一次调用回调函数返回的值,或者是提供的初始值(initialV...
Java的动态代理机制详解

Java的动态代理机制详解

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在Java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface...
<< 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 >>