我有一个非常简单的布局与ImageView.我的应用程序打开相机,保存图像,然后在ImageView中显示图像BitmapFactory.decodeFile.唯一的问题是它是旋转的.我理解a)这是由于手机的相机默认为横向,所以这需要在代码中处理,b)图像处理必须在与UI的单独线程中完成.
Android培训文档似乎适用于从资源ID而不是文件路径加载图像.这只会让事情变得棘手,因为我能够按照教程进行操作,但最终难以协调差异.
我当然是新手,所以如果有人能够给我一个高层次的概述,为了实现这个目标需要做些什么,我真的很感激.以下代码是我正在将位图添加到ImageView的位置.我假设我对单独线程的调用会进入onCreate?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_image);
Bitmap bm = BitmapFactory.decodeFile(MainActivity.image_path);
displayImageView = (ImageView) findViewById(R.id.myImageView);
displayImageView.setImageBitmap(bm);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Auth0作为身份验证服务来设置REST API.一切都在发挥作用,但在一个相当奇怪的事件发生后,我的信心有点动摇了.
我的实现基于此处的示例代码(RS256部分)和此处.唯一的修改是我投了PublicKey一个RSAPublicKey.
问题是我想肯定验证会在签名错误时失败.我更改了签名的最后一个字符(我们将说"x")并且令牌仍然经过验证. 但是 - 将其切换为"x" 以外的任何字符或原始生成的字符都会导致其按预期失败.
我的怀疑是,这是由于某种填充/编码/解码/ Base64问题,而我刚刚选择了一个具有相同的前n个位或其他东西的字符?当然,这意味着如果要做出成功的"猜测",它将需要包括令牌的剩余四十亿字符 - 这是它存在的全部要点.所以我并不担心令牌是可猜测的 - 我只是确保我已经正确地实现了验证的要点.
import com.auth0.jwk.Jwk;
import com.auth0.jwk.JwkException;
import com.auth0.jwk.JwkProvider;
import com.auth0.jwk.UrlJwkProvider;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTVerificationException;
import com.auth0.jwt.interfaces.DecodedJWT;
import java.security.interfaces.RSAPublicKey;
public class Application {
public static void main(String[] args) {
try {
JwkProvider provider = new UrlJwkProvider("<my-provider>");
Jwk jwk = provider.get("<my-key-id>");
String token = "<some-token-passed-from-client>";
RSAPublicKey publicKey = (RSAPublicKey) jwk.getPublicKey();
Algorithm algorithm = Algorithm.RSA256(publicKey, null);
JWTVerifier verifier …Run Code Online (Sandbox Code Playgroud) 我已经尝试过Google提供的所有功能.使用计算机作为专用的Blender机器,只需要一个轻量级的桌面.安装mini.iso(32位14.04)并在安装时选择"Lubuntu Minimal Installation".正是我需要的 - 几乎没有使用任何资源来运行Blender.然而,Alt键仍然坚持要求a)在用拖动保持时移动窗口并且b)在Blender的输入设置中不允许Blender键绑定.在Blender中修改绑定时,我可以按住Ctrl + Alt,单击LMB,它可以很好地绑定.如果我按住Alt并单击LMB,它将拒绝识别Alt修饰符.但是,当我放弃Alt键时,非常乐意将动作绑定到普通Alt.我在解决方案上的尝试如下所示.
删除了〜/ .config/openbox /和/ etc/xdg/openbox中rc XML文件中所有"A-Up/Down"绑定的痕迹(从内存中键入路径 - 希望这些是正确的).在这里尝试失败后,我甚至删除了除最顶级XML标签之外的所有内容,但仍然没有成功.
安装了dconf-editor并在org> gnome> desktop> wm> preferences> mouse-button-modifier中删除了鼠标修改器.我理解这个清除它可以启用所有按钮作为修饰符,所以我将其设置为<Shift>只是为了测试.
安装了CCSM并验证了Move Window插件已被禁用.另外,显式设置修饰键Disabled.
Ubuntu 14.04 32位Lubuntu桌面
更新:
我已经解决了部分问题.注释掉<mousebind button="A-Left" action="Drag">标签中的<context name="Frame">标签(context name="Desktop"之前在标签中查找).这会在窗口中禁用alt-drag但我仍然无法在Blender中进行Alt + Left Click.我已经尝试过a)导出密钥设置,手动设置"Alt",然后导入和b)搜索与其他Alt + LMB绑定的可能冲突并删除.仍然没有成功.
Java新手.我正在关注一本书,并给出了一个关于quicksort的例子.我理解算法,但希望在每次递归之前打印数组,以真正了解较低和较高数组的情况.
我以为我只是声明一个单独的列表并用较低的值,枢轴和更高的值填充它,但它似乎抛弃了所有的功能.递归似乎保持不变但实际上并没有排序.因此,它溢出并退出.
我几乎可以肯定,我在这里缺少一个基本的Java概念.
除了评论中包含的内容之外的所有内容都来自本书.注释行之间的界限是我自己的.
package quicksort;
import java.util.ArrayList;
import java.util.List;
public class App {
public static List<Integer> quicksort(List<Integer> numbers){
if (numbers.size() < 2){
return numbers;
}
final Integer pivot = numbers.get(0);
final List<Integer> lower = new ArrayList<>();
final List<Integer> higher = new ArrayList<>();
for (int i = 1; i < numbers.size(); i++){
if (numbers.get(i) < pivot){
lower.add(numbers.get(i));
}
else{
higher.add(numbers.get(i));
}
}
// Makes things go all squirrrrrrrrely
final List<Integer> notYetSorted = lower;
notYetSorted.add(pivot);
notYetSorted.addAll(higher);
System.out.println("During: " + notYetSorted);
// …Run Code Online (Sandbox Code Playgroud) 我已将 Firestore 添加到 Google Cloud 控制台中的项目中,但我没有看到管理规则的方法。所有文档都指向 Firebase,但我的项目不是在 Firebase 中启动的。我以为我可以通过 Firebase CLI 部署/管理规则,但它无法识别我在firebase init.