Tag: java

自定义字体和XML布局(Android)

我想在Android中使用XML文件来定义一个GUI布局。 据我所知,没有办法指定你的小部件应该在XML文件中使用一个自定义的字体(例如你放置在assets / font /中的字体),你只能使用系统安装的字体。 我知道,在Java代码中,我可以使用唯一ID手动更改每个小部件的字体。 另外,我可以迭代Java中的所有小部件来做这个改变,但是这可能会很慢。 我还有什么其他的选择? 有没有更好的方法来制作自定义外观的小部件? 我不特别想要手动更改我添加的每个新小部件的字体。

Java安全性:非法密钥大小或默认参数?

我之前曾经提过一个关于这个问题的问题,但没有得到正确的回答,而且没有得到任何答案。 所以我已经澄清了关于这个问题的一些细节,我真的很想听听你的想法,我该如何解决这个问题,或者我应该尝试什么。 我的Linux服务器上安装了Java 1.6.0.12 ,下面的代码运行得非常完美。 String key = "av45k1pfb024xa3bl359vsb4esortvks74sksr5oy4s5serondry84jsrryuhsr5ys49y5seri5shrdliheuirdygliurguiy5ru"; try { Cipher c = Cipher.getInstance("ARCFOUR"); SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "ARCFOUR"); c.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(c.doFinal(Hex.decodeHex(data.toCharArray())), "UTF-8"); } catch (InvalidKeyException e) { throw new CryptoException(e); } 今天,我在我的服务器用户上安装了Java 1.6.0.26 ,当我尝试运行我的应用程序时,出现以下异常。 我的猜测是它与Java安装配置有关,因为它在第一个工作,但在更高版本中不起作用。 Caused by: java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6] at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6] […]

Android SDK的快速位图模糊

目前在我正在开发的一个Android应用程序中,我循环播放一个图像的像素来模糊它。 这在640×480图像上需要大约30秒。 在Android Market中浏览应用程序时,我遇到了一个包含模糊功能的应用程序,其模糊速度非常快(例如5秒),因此它们必须使用不同的模糊方法。 任何人都知道一个更快的方式,而不是循环像素?

我怎样才能初始化一个静态的地图?

你将如何初始化Java中的静态地图? 方法一:静态初始化 方法二:实例初始化(匿名子类)还是其他一些方法? 各有什么优点和缺点? 这里是一个例子说明两种方法: import java.util.HashMap; import java.util.Map; public class Test { private static final Map<Integer, String> myMap = new HashMap<Integer, String>(); static { myMap.put(1, "one"); myMap.put(2, "two"); } private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){ { put(1, "one"); put(2, "two"); } }; }

如何使用Java处理Selenium WebDriver的身份验证弹出窗口

我正在尝试使用下面的代码来处理身份验证弹出窗口: FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.http.phishy-userpass-length", 255); profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "xxxx"); driver = new FirefoxDriver(profile); baseUrl="http://" + login + ":" + password + "@" + url; driver.get(baseUrl + "/"); 当我执行测试时,页面显示认证弹出窗口,并仍然加载一个,直到我点击取消按钮。 那一刻,我可以访问到下一个页面,这意味着认证成功,但始终显示认证弹出窗口

如何在Java字符串中输入引号?

我想在Java中初始化一个字符串,但是这个字符串需要包含引号; 例如: "ROM" 。 我试过了: String value = " "ROM" "; 但是这不起作用。 我怎样才能包括在一个字符串?

Java:增量/减量运算符的前缀/后缀?

从下面或这里的程序,为什么最后一次调用System.out.println(i)打印值7 ? class PrePostDemo { public static void main(String[] args){ int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" } }

捕获java.lang.OutOfMemoryError?

java.lang.Error 文档说: 一个错误是Throwable的一个子类,表示一个合理的应用程序不应该试图捕捉的严重问题 但是,由于java.lang.Error是java.lang.Error的子类,我可以捕获这种类型的Throwable。 我明白为什么抓这种例外是不好的主意。 据我所知,如果我们决定去捕捉它,catch处理程序不应该自己分配任何内存。 否则OutOfMemoryError将被再次抛出。 所以,我的问题是: 捕捉java.lang.OutOfMemoryError可能是一个好主意吗? 如果我们决定捕获java.lang.OutOfMemoryError ,那么我们怎样才能确定catch处理程序本身没有分配任何内存(任何工具或最佳实践)?

我如何以编程方式更改文件权限?

在Java中,我动态地创建了一组文件,我想在linux / unix文件系统上更改这些文件的文件权限。 我希望能够执行chmod的Java等价物。 那可能是Java 5吗? 如果是这样,怎么样? 我知道在Java 6中,File对象具有setReadable()/ setWritable()方法。 我也知道我可以做一个系统调用来做到这一点,但如果可能的话,我想避免这种情况。

如何将字节数组转换为字符串,反之亦然

我必须在Android中将字节数组转换为字符串,但是我的字节数组包含负值。 如果我再次将字符串转换为字节数组,我得到的值是不同于原始字节数组值。 我能做些什么才能正确转换? 我用来做转换的代码如下: // Code to convert byte arr to str: byte[] by_original = {0,1,-2,3,-4,-5,6}; String str1 = new String(by_original); System.out.println("str1 >> "+str1); // Code to convert str to byte arr: byte[] by_new = str1.getBytes(); for(int i=0;i<by_new.length;i++) System.out.println("by1["+i+"] >> "+str1); 我被困在这个问题。