背景一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。解决文件结构a#文件夹│a.py│__init__.pyb#文件夹│b.py│__init__.py├─c#文件夹│c.py│__init__.py#c.py中内容args={'a':1}classC:defc(self):pass目的向a模块中导入c.py中的对象解决方案a.pyimportimportlibparams=importlib.import_module('b.c.c')#
系统 2019-09-27 17:45:58 2605
本节介绍一下EditText中进行文字截获和事件监听。预期目标:如下图,输入框中每输入一个字符,下面的TextView可以迅速的显示出来输入框中的内容1.第一种实现方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件edittext.setOnKeyListener(newView.OnKeyListener(){@OverridepublicbooleanonKey(Viewv,intkeyCode,KeyEventevent)
系统 2019-08-29 23:16:04 2605
举两个例子以快速明白Java中的简单工厂模式:1、女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人。”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面。女娲造人,这就是简单工厂模式的应用。首先,在这个造人的思想里面,有几个重要的角色:女娲本身、抽象的人的概念和女娲所造出的一个个具体的人。1.)女娲是一个工厂类,也就是简单工厂模式的核心角色。2.)具休的一个个的人,包括张三,李四等。这些人便是简单工厂模式里面的具体产品角色3
系统 2019-08-29 22:45:31 2605
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供的产
系统 2019-08-29 22:45:30 2605
如果你玩过Google+,看到过YouTube的新界面,便会体验到这个HTML5的新功能。使用pushState+Ajax(pjax),可以实现网页的ajax加载,同时又能完成URL的改变而没有网页跳转刷新的迹象,就像是改变了网页的hash(#)一样。旧的解决方案曾说SEO和ajax是天敌。此前从Twitter开始流行Ajax+hash的方式调用内容,Google给出的解决方案是“#!~string”自动转换为“?_excaped_fragment_=~s
系统 2019-08-29 22:15:51 2605
用SQL语句添加删除修改字段1.增加字段ALTERTABLEtable_nameADDcolumn_namedata_typeSql代码altertableCSIDDBD3.T_ID_MSGPOPaddCIF_TYPEVARCHAR(10);altertableCSIDDBD3.T_ID_MSGPOPaddCIF_TYPEVARCHAR(10);设置默认值:Sql代码ALTERTABLECSIDDBD3.T_ID_MSGPOPADDCOLUMNCIF_TY
系统 2019-08-29 22:08:53 2605
GridBagLayout【常用构造函数】publicGridBagLayout()【特点】:GridBagLayout是所有AWT布局管理器当中最复杂的,同时他的功能也是最强大的.这种现象源于它所提供的众多的可配置选项,你几乎可以完全地控制容器的布局方式.尽管复杂性很明显,只要理解了基本思想,就很容易使用GridBagLayout了.GridBagLayout从它的名字中你也可以猜到,它同GridLayout一样,在容器中以网格形式来管理组件.但Grid
系统 2019-08-12 09:29:50 2605
PortUnificationOverview(端口统一)针对在一个端口上开放多种协议的服务,类似下图:通过PortunificationFilter去判断三种协议,然后针对不同协议传递到下一个Filter执行后续工作。其中Finder的Grizzly官方给了一个简单用例,针对协议包头是"add"的Finder/***{@linkProtocolFinder},responsibletodetermineifincomingbytebuffer*repre
系统 2019-08-12 09:27:24 2605
level在很多参考书及资料上都用的是0,那用1或者大于1的数会怎么样呢。其实第一个参数是一个mipmap层(参见维基百科关于MipMap),如果我们加载一个256*256的纹理,默认情况下D3DX会创建一个mipmap链(即128*128,64*64,...,1*1的表面),level参数0(顶层)表示实际大小。每下一层纹理的宽和高都会减半。如256*256的纹理,level=0为256*256的纹理,level=1为128*128的纹理...像这样获取
系统 2019-08-12 01:55:14 2605
Oracle使用时间长了,新增了许多user和tablespace.需要清理一下对于单个user和tablespace来说,可以使用如下命令来完成。步骤一:删除userdropuser××cascade说明:删除了user,只是删除了该user下的schemaobjects,是不会删除相应的tablespace的。步骤二:删除tablespaceDROPTABLESPACEtablespace_nameINCLUDINGCONTENTSANDDATAFIL
系统 2019-08-12 01:54:10 2605