搜索到与相关的文章
编程技术

将权限引入系统的探索

很久以前就尝试过使用AOP进行权限控制的管理,那时候只是试试而已,并没有在项目中应用过,最近跟的一个B/S项目中要求我们把权限管理加进去,于是我考虑以前的AOP方法是否真的可行。思考许久后的结果是,可行,但是太麻烦。主要原因在于需要在UI层<=>逻辑层<=>数据层之外增加额外的一层来使得AOP拦截可以以恰当的粒度、恰当的时机切入。如果不增加额外的这一层而使用AOP就可能会得到这样的结果--比如,在业务逻辑层或数据层使用AOP切入,就有可能出现这样的情形,用

系统 2019-08-29 22:43:01 2429

Android

短信的收发及在android模拟器之间实践(4)

9、另一种发送短信的方式:使用Intent上篇我们使用SmsManager类实现了发送SMS的功能,且并没有用到内置的客户端。实际上,我们很少这样做,自己在应用程序中去完全实现一个完整的SMS客户端。相反我们会去利用它,将需要发送的内容和目的手机号传递给内置的SMS客户端,然后发送。下面我就向大家介绍如何利用Intent实现利用将我们的东西传递给内置SMS客户端发送我们SMS。为了实现这个功能,就要用到startActivity("指定一个Intent")

系统 2019-08-29 22:42:02 2429

Android

Android 仿Iphone文件夹分裂效果

虽然不知道Iphone是怎么实现这个分裂效果。不过我用自己的思路弄了个,大致上还可以用。先上图接下来说说思路吧。做过launcher的朋友也许知道android的Launcher上也有文件夹这个东西。但是效果和Iphone比相差太远。上个思路图(侧图):4其实就是Launcher的workplace显示的view当我点击文件夹之后才会显示3文件夹的view。我的做法也就是加了1和2两个遮罩层的view。动作流程:先在处理文件夹的点击事件,在显示3(文件夹)

系统 2019-08-29 22:36:31 2429

Linux

Linux下防火墙开启相关端口及查看已开启端口

Linux下防火墙开启相关端口及查看已开启端口/sbin/iptables-IINPUT-ptcp--dport8011-jACCEPT#开启8011端口/etc/rc.d/init.d/iptablessave#保存配置/etc/rc.d/init.d/iptablesrestart#重启服务查看端口是否已经开放/etc/init.d/iptablesstatus结果如下Linux下防火墙开启相关端口及查看已开启端口

系统 2019-08-29 22:35:36 2429

Linux

Linux 文件的类型

Linux文件的类型在Linux中文件的类型是通过文件权限的首位定义的,可以分为以下几类。1.普通文件普通文件包括源程序文件、脚本文件、可执行程序文件及各种数据文件。普通文件的文件类型标识位为"-",使用ls命令可以查看文件的类型,例如:#ls-lsuple-rw-r--r--1rootroot54007-2308:31suple2.目录文件目录实际上是一种特殊的文件。目录下可以包含文件和子目录。目录文件的类型标识位为"d",如下所示:#ls-ltmpdr

系统 2019-08-29 22:26:14 2429

Linux

Linux 多线程应用中如何编写安全的信号处理函数

在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构

系统 2019-08-29 22:23:03 2429

Android

android ListView详解

在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。列表的显示需要三个元素:1.ListVeiw用来展示列表的View。2.适配器用来把数据映射到ListView上的中介。3.数据具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCu

系统 2019-08-12 09:30:32 2429

Java

Java String 在JVM中的思考

packagecom;/***@authorlonggangbai**/publicclassStringTest{publicstaticvoidmain(String[]args){Stringa="ab";//创建了一个对象,并加入字符串池中System.out.println("Stringa=\"ab\";");Stringb="cd";//创建了一个对象,并加入字符串池中System.out.println("Stringb=\"cd\";")

系统 2019-08-12 09:30:13 2429

数据库相关

EnableDocking

CFrameWnd::EnableDockingvoidEnableDocking(DWORDdwDockStyle);參数:dwDockStyle指定框架窗体的哪一边可作为控件条的停靠点,可为下面之一或几个:·CBRS_ALIGN_TOP同意停靠到用户区的顶部。·CBRS_ALIGN_BOTTOM同意停靠到用户区底部。·CBRS_ALIGN_LEFT同意停靠到用户区左边。·CBRS_ALIGN_RIGHT同意停靠到用户区右边。·CBRS_ALIGNANY

系统 2019-08-12 01:55:37 2429

MySql

MySQL引擎介绍ISAM,MyISAM,HEAP,InnoDB

MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++API自己做一个引擎。下面介绍几种数据库引擎:ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因

系统 2019-08-12 01:55:11 2429