以典型的J2EE web.xml文件为例,某次要解析此文件。使用Xpath搜索得到的都是null。使用System.out.println(root)打印节点,发现比不带NameSpace的XML root多了一个uri,那么在Xpath中加入uri(setNameSpace("",uri)),结果搜索的结果还是null。后来google了一下,才知道原来当NameSpace的prefix为“”时,在Xpath中需要加入“default”prefix。
因此,自己可以定义一个比较通用的Xpath搜索方法:
继续阅读 »
android界面一般采用Xml编写,与图片资源结合
如果想"借鉴"别人的安卓界面,可以下载别人的apk
解压,然后图片资源可以找出来
xml文件也可以看到,不过都是二进制,需要反编译
可以使用如下办法进行反编译
下载AXMLPrinter2.jar
下载BatchAXPrinter.BIN.zip 下载之后解压,更改后缀为.jar
在控制台进入到解压后apk的目录,输入java -jar BatchAXPrinter.jar AXMLPrinter2.jar ../res/layout/
其中 ../res/layout/是你要反编译的XML文件的根目录。即可完成批量反编译xml文件
再加上之前得到的图片资源,安卓界面"借鉴
继续阅读 »
添加依赖包jdom.jar和jaxen.jar,源代码如下
more
java
package upload;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import org.jdom.Element;
import org.jdom.JDOM
继续阅读 »
Maven预设变量
使用过Maven的人应该都知道,我们在Maven项目中添加依赖的一般性做法。就是打开pom.xml文件,在节点下添加
xml
org.apache.lucene
lucene-core
5.5.0
包含坐标和版本号的内容,那么在Java类文件中,就可以引用Lucene包中的各种类了。但是要注意一点,这里面的版本号是以硬编码的形式存在,作为一个合格的软件开发者,要尽量在你的代码中避免硬编码的情况。为什么呢?比如我需要依赖其它的Lucene模块,那么pom.xml中添加内容如下:
xml
org.apache.lucene
lucene-analyzers-commo
继续阅读 »
动态ID?
xml
我们最习惯的ID设置方式大概就是这样了,在xml中直接使用android:id为一个View添加ID。但是这并不能解决所有的问题,我们有很多的View都是动态创建,还有的是自定义控件生成的,例如我们要在代码里实现相对布局,那我们就必须拿到相对的基准View的ID,但是这样就没办法直接使用xml进行定义了。
不过我想大家都知道就想我们通常能够用view.getId()一样获取到View的ID,我们也能够用view.setId(int id)来为View设定ID。不过这就出现了一个很严重的问题ID是个int类型的数字,那我们什么都可以设置吗?
ID的使用方式
继续阅读 »
最近一个项目用Mybatis在做Dao层。
感受了一下,没Hibernate用起来方便,比如insert、update这些都得自己手写sql...
但是可控性确实强了不少,而且入手也极快。
下面记录一些使用过程中需要注意的地方,以后Mybatis遇到的问题都往这贴。
1.简化配置 :
(1)、 每次加一个Entity写typeAliases神马的神烦,换成
啥的就ok咯
顺带在xml配置上mapper的basePackage
(2)、每次加完mapper.xml还要注册,又是神烦啊。如下配置就好了。
<property name="dataSource" ref="infoDa
继续阅读 »
下面介绍一下 Android 5.0 官方推出了一个全新的标签 vector --> 官网地址
创建矢量图片
在 Android 5.0(API 级别 21)及更高版本中,您可定义矢量图片,而且图片可在不丢失定义的情况下缩放。您只需一个资产文件即可创建一个矢量图像,而位图图像则需要为每个屏幕密度提供一个资产文件。如果要创建一个矢量图像,请您在 XML 元素中定义形状的详情。
下列示例以心形定义一个矢量图像:
```xml
android:height="256dp"
android:width="256dp"
android:viewportWidth="32"
androi
继续阅读 »
一般我们使用 Navigation Menu 的形式为
```xml
version="1.0" encoding="utf-8"?
```
再加上 v21 的主题:
xml
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transpare
继续阅读 »
android最近的support库提供了AlertDialog,可以让我们在低于5.0的系统使用到跟5.0系统一样的Material Design风格的对话框,但是使用了一段时间想到一些办法去改变对话框按钮字体的颜色,都不生效。
最近在网上找到了改变的方法,首先来说一下。
more
改变AlertDialog的样式
在xml中定义一个主题:
xml
<!-- Used for the buttons -->
<item name="colorAccent">#FFC107</item>
<!-- Used for the title and text -->
<item name="andr
继续阅读 »
问题重现
在使用IDEA生成Java Doc的过程中,发现IDEA控制台乱码,作为有轻微代码强迫症的我来说,这是不可忍受的,需要鼓捣一番。先上pom.xml中的javadoc插件配置
xml
配置生成Javadoc包
org.apache.maven.plugins
maven-javadoc-plugin
2.10.3
UTF-8
true
UTF-8
UTF-8
attach-javadocs
package
继续阅读 »