我动态地在我的android项目中创建所有元素.我试图获得按钮的宽度和高度,以便我可以旋转该按钮.我只是想学习如何使用android语言.但是,它返回0.
我做了一些研究,我发现它需要在onCreate()方法之外的某个地方完成.如果有人能给我一个如何做的例子,那就太好了.
这是我目前的代码:
package com.animation;
import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.LinearInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.Button;
import android.widget.LinearLayout;
public class AnimateScreen extends Activity {
//Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(30, 20, 30, 0);
Button bt = new Button(this);
bt.setText(String.valueOf(bt.getWidth()));
RotateAnimation ra = new RotateAnimation(0,360,bt.getWidth() / 2,bt.getHeight() / 2);
ra.setDuration(3000L);
ra.setRepeatMode(Animation.RESTART);
ra.setRepeatCount(Animation.INFINITE);
ra.setInterpolator(new LinearInterpolator());
bt.startAnimation(ra);
ll.addView(bt,layoutParams);
setContentView(ll);
} …Run Code Online (Sandbox Code Playgroud) 我以前见过各种版本的dex erros,但这个版本是新的.清理/重启等无济于事.图书馆项目似乎完好无损,依赖似乎正确联系在一起.
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
Run Code Online (Sandbox Code Playgroud)
要么
Cannot merge new index 65950 into a non-jumbo instruction
Run Code Online (Sandbox Code Playgroud)
要么
java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
Run Code Online (Sandbox Code Playgroud)
tl;博士:Google的官方解决方案终于来了!
http://developer.android.com/tools/building/multidex.html
只有一个小提示,你可能需要这样做以防止在执行dex-ing时内存不足.
dexOptions {
javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)
还有一种巨型模式可以以不太可靠的方式解决这个问题:
dexOptions {
jumboMode true
}
Run Code Online (Sandbox Code Playgroud)
更新:如果您的应用程序很胖并且您的主应用程序中有太多方法,则可能需要按照应用程序重新设置应用程序
http://blog.osom.info/2014/12/too-many-methods-in-main-dex.html
目前在我正在开发的Android应用程序中,我正在循环遍历图像的像素以使其模糊.这在640x480图像上大约需要30秒.
在Android Market中浏览应用程序时,我遇到了一个包含模糊功能的应用程序,并且它们的模糊非常快(例如5秒),因此它们必须使用不同的模糊方法.
除了循环像素之外,任何人都知道更快的方法吗?
我在向我的设备安装apk时遇到问题.
adb install <.apk>
Run Code Online (Sandbox Code Playgroud)
使用以上命令返回以下内容:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
Run Code Online (Sandbox Code Playgroud)
有什么可能导致这个问题的想法吗?
它绝对能识别这个设备.这可能是apk的问题吗?
我正在尝试用Java创建一个简单的String to SHA1转换器,这就是我所拥有的......
public static String toSHA1(byte[] convertme) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA-1");
}
catch(NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new String(md.digest(convertme));
}
Run Code Online (Sandbox Code Playgroud)
当我通过它时toSHA1("password".getBytes()),我[?a?????%l?3~??.知道它可能是一个简单的编码修复,如UTF-8,但有人可以告诉我应该做什么来获得我想要的东西是5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8什么?或者我这样做完全错了?
我用apktool解码了一个APK(因为原始源代码丢失了)所以我可以修复布局xml文件的一些问题.然后我用apktool重新安装它,当我尝试在我的设备上安装它时(使用adb:adb install appname.apk)它给了我这个错误:
[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)
然而原来的apk是由一个密钥库(在eclipse IDE上)签名的,这个不是,我怎么能用它在Eclipse之外的原始keystone文件正确签名呢?
Gradle的Android插件为每个BuilType/Flavor/BuildVariant生成一项任务.问题是这个任务将动态生成,因此在定义这样的任务时不会作为依赖项提供:
task myTaskOnlyForDebugBuildType(dependsOn:assembleDebug) {
//do smth
}
Run Code Online (Sandbox Code Playgroud)
这个答案的建议解决方法就是这样
task myTaskOnlyForDebugBuildType(dependsOn:"assembleDebug") {
//do smth
}
Run Code Online (Sandbox Code Playgroud)
或这个
afterEvaluate {
task myTaskOnlyForDebugBuildType(dependsOn:assembleDebug) {
//do smth
}
}
Run Code Online (Sandbox Code Playgroud)
但两者都不适合我.
我正在使用以下方法读取文件:
int len = (int)(new File(args[0]).length());
FileInputStream fis =
new FileInputStream(args[0]);
byte buf[] = new byte[len];
fis.read(buf);
Run Code Online (Sandbox Code Playgroud)
正如我在这里找到的.有可能转换byte array buf为Int Array?转换Byte Array为Int Array将占用更多的空间?
编辑:我的文件包含数百万的整数,如,
100000000 200000000 .....(使用普通的int文件编写).我把它读到字节缓冲区.现在我想将它包装到IntBuffer数组中.怎么做 ?我不想将每个字节转换为int.
有谁知道NIST SP 800-56A级联密钥派生函数/ CONCAT KDF(最好用Java)的任何现有实现?
密钥推导函数记录在NIST出版物的第5.8.1节中:使用离散对数密码学的双智能密钥建立方案的建议
链接到这里:http://csrc.nist.gov/publications/nistpubs/800-56A/SP800-56A_Revision1_Mar08-2007.pdf
微软的CNG 在这里有一个实现,但是如果你比较微软实现的功能,与NIST SP 800-56A中记录的参数相比,它们不相符,并且微软的实现是无法使用的.我试图用C++实现一个示例程序,但是我无法匹配这些参数.
有人能够尝试实现它或知道任何现有的实现吗?
我正在寻找一种能够证明为什么它对NIST规范是准确的实现.我已经看到了一些实现,我觉得它们对NIST规范不准确(缺少参数,无效的逻辑流程等).
如果您可以自己实现它,我总是很乐意分享我自己的源代码进行辩论.谢谢!这对开源社区是一个很好的贡献!
编辑:
感谢@Rasmus Faber,我终于可以结束这个问题,并希望回答其他人对我的同样问题.
这是我根据@Rasmus Faber和我的原始代码编辑的代码:
ConcatKeyDerivationFunction.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
*
* Implementation of Concatenation Key Derivation Function<br/>
* http://csrc.nist.gov/publications/nistpubs/800-56A/SP800-56A_Revision1_Mar08-2007.pdf
*
*/
public class ConcatKeyDerivationFunction {
private static final long MAX_HASH_INPUTLEN = Long.MAX_VALUE;
private static final long UNSIGNED_INT_MAX_VALUE = 4294967295L;
private static MessageDigest md;
public ConcatKeyDerivationFunction(String hashAlg) throws NoSuchAlgorithmException {
md = MessageDigest.getInstance(hashAlg);
}
public …Run Code Online (Sandbox Code Playgroud) 上下文:我正在尝试从后端下载二进制文件(需要将一些数据发布为json-body),并使用内容处置标头中后端指定的文件名保存文件保护程序.要访问标题,我想我需要HttpResponse.
但是我无法使用HttpClient.post<T>(...): Observable<HttpResponse<T>>;带有Blob的angular 方法.
我打电话的时候
this.httpclient.post<Blob>('MyBackendUrl',
params,
{observe: 'response', responseType: 'blob'});
the compiler complains about the 'blob' ('json' is accepted by the compiler):
error TS2345: Argument of type '{ observe: "response"; responseType: "blob"; }' is not assignable to parameter of type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'.
Types of property 'observe' are incompatible.
Type '"response"' is not assignable to type '"body"'.
Run Code Online (Sandbox Code Playgroud)
当我把选项放在一个自己的对象中,如/sf/answers/3361165671/所示(但没有"as"...)帖子(...):Observable被调用,我不能访问标题.
顺便说一句,即使是return this.http.get<Blob>('backendUrl', {responseType: 'blob'}); …