小编Hom*_*ata的帖子

是否可以通过ADB shell命令查询设备状态(即电池剩余电量)?

我想通过ADB找出有关Android设备当前状态的各种信息.可以吗,如果是的话 - 如何?

android adb

16
推荐指数
3
解决办法
1万
查看次数

MapBox清除所有当前标记

我创建了一个MapBox实例:

var map = new mapboxgl.Map({
    container : 'map',
    style : 'mapbox://styles/mapbox/streets-v9'
});
Run Code Online (Sandbox Code Playgroud)

我需要清除所有标记,并尝试使用map.remove(marker)等每个标记,以及其他一些东西,但似乎没有任何效果.

是否有一个简单的函数调用来清除地图上的所有标记?

编辑:不同于如何从地图中删除所有图层和功能?因为我在控制台中得到"eachLayer不是一个公认的功能"(或类似的功能).

javascript mapbox mapbox-gl-js

7
推荐指数
2
解决办法
1万
查看次数

Android 和 Java 环境之间的 RSA 加密差异

首先,对我要发布的代码量表示歉意。我尝试使用 Java 应用程序中的 RSA 公钥来加密 Android 应用程序中的消息,然后将密文发送回 Java 环境进行解密,但在尝试解密时,我总是收到此错误:

javax.crypto.BadPaddingException: Decryption error
    at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:380)
    at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:291)
    at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:356)
    at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:382)
    at javax.crypto.Cipher.doFinal(Cipher.java:2087)
    ...
Run Code Online (Sandbox Code Playgroud)

密文确实包含正确的字节数 (512),因此看到“错误填充”异常会令人困惑。SO 上的其他类似帖子建议使用“RSA/ECB/PKCS1Padding”作为算法,但这不起作用。

令人烦恼的是,Android 环境中的加密和解密(使用 Base64.URL_SAFE 作为“base64Type”)工作得很好,我只是似乎无法使用通过 Java 生成的公钥进行初始加密。

我已经将最少的代码提取到示例中,如下所示:

安卓代码

private void exampleMethod(){
    String messageString = "Why does this not work in Android?";

    String serverPubKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoApIBIna77xq4j+M2RmyIhsB++41NHcY4KIPfX4VP4ADnkO+7ejbs4le/twrPtYGESVPF9czSMB5bzmTBZtq0jC8oT/6wiDIBlSuzo4fBrGociBIuaOjyG/j3ZhpcWpWPXuzER+ehuQ+8hZkMuJdK9IodqPR+5jmCef4rXoKObwS02LYQ1co5dEmtZVQRmmeYaVnWibd/s1d4KKGvSzXap3YBTf8peH5UGIQrLOTqvX0bo34xFxmj5U0H3xudnnwuVAlQlj9KiHPPABuwNtm1buRKJb5HZhSCveyT/2YAOmQqGrVN/nALtlZyTDZNs//Vp1zb9exSuG0t5xFc+pn4QIDAQAB";

    String encryptedMessageString = getUrlEncodedCipherText(messageString, serverPubKey, Base64.NO_WRAP);
    /**
     * CipherText is ALWAYS the same and does not decrypt: DA_-RpCki-mjF6tSwiP2IhuW2UfPzZC7A9oVTTNptjT73HtROiQZvUC0Z2veJ5VwVx4toolvLErQmKKoQlqELSD756bu8ohEQwgJ4Xsu-3tXv-uEi5a9a_u19WnNLIF7tayDUhFeD2RzNvW895y1v-D30TvQRskNCFJfnjaytr_vmcVv8HrXURCmG6AMltaqdN72zh8p6VkKcjXSLiCApH957GXSqJCRzxbaQwf8X5EJfn8CQrPDGbE3gdhc2_hFwXQNIdxPxrOLtVbaFp9i_4GRWXJ6E2jHttV2bDv_uSVIz3OBzh7EkJiCnl3c904sH8QZae8c3SQyrTxVL7EpIA,,
     */
}

public static String getUrlEncodedCipherText(String plainText, String pubKey, int base64Type){ …
Run Code Online (Sandbox Code Playgroud)

java encryption base64 android rsa

6
推荐指数
1
解决办法
1217
查看次数

如何在 React 中将 JSON 响应呈现为下拉列表

我目前正在尝试获取一些我从 API 收到的 JSON 数据,并将其放入一个非常简单的 React 应用程序的下拉列表中。

到目前为止,这是我的 DropDown 组件:

import React from 'react';

var values;

fetch('http://localhost:8080/values')
    .then(function(res) {
        return res.json();
    }).then(function(json) {
        values = json;
        console.log(values);
    });

class DropDown extends React.Component {
    render(){
        return <div className="drop-down">
            <p>I would like to render a dropdown here from the values object</p>
            </div>;
    }
}

export default DropDown;
Run Code Online (Sandbox Code Playgroud)

任何我的 JSON 看起来像这样:

{  
   "values":[  
      {  
         "id":0,
         "name":"Jeff"
      },
      {  
         "id":1,
         "name":"Joe"
      },
      {  
         "id":2,
         "name":"John"
      },
      {  
         "id":3,
         "name":"Billy"
      },
      {  
         "id":4,
         "name":"Horace"
      }, …
Run Code Online (Sandbox Code Playgroud)

json reactjs dropdown

6
推荐指数
2
解决办法
1万
查看次数

Android应用中奇怪的图形文字

我在我的应用程序中间歇性地观察奇怪的图形文物,如下所示.这是三星Galaxy S3的屏幕抓图.我只是在这个特定的手机上观察过它.我已经在三星Galaxy Tab S4和HTC One上运行了应用程序,并且从未在任何一个上发现过这个问题 - 尽管我确实主要使用S3进行开发.

我认为这个问题可能是绘制到Canvas时的某种并发冲突(我使用的是基本的Android渲染方法,没有OpenGL或任何东西),因为我可以清楚地识别其他UI元素的重复单元,所以我同步所有绘制到Canvas或与Canvas交互的代码,我仍在观察它.

它会在大约30-90秒之后自行清除,这可能是由于它执行的常规预定内存清理操作 - 所以这可能是低可用内存的一种表现形式?

如果我有足够的代表,我会在这上面留下相当大的奖励.任何帮助赞赏.希望有人认识到这个特殊问题.

奇怪的图形文物

android canvas android-canvas samsung-galaxy

5
推荐指数
1
解决办法
179
查看次数

发布消息时 RabbitMQ 访问被拒绝 - 如何授予用户特定队列的权限?

我在全新安装的 RabbitMQ 上设置了一个非常基本的队列“test_queue”,并创建了一个基本的非管理员用户“user”(我已为其授予与管理员帐户相同的虚拟主机访问权限)。

当我通过以下方式在命令行上发送测试消息时:

rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u admin -p {admin password}
Run Code Online (Sandbox Code Playgroud)

它工作得很好。但是当我尝试使用基本用户时:

rabbitmqadmin publish exchange=amq.default routing_key=test_queue payload="hello, world" -u user -p {user password}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

*** 访问被拒绝:/api/exchanges/%2F/amq.default/publish

我搜索了如何为特定用户添加发布到消息队列的权限,但无法通过噪音找到解决方案。

message-queue rabbitmq

4
推荐指数
1
解决办法
7419
查看次数

如何从 base64 编码的字符串重建音频 blob?

我正在通过 JavaScript 捕获音频数据,并打算将其作为 base64 编码字符串发送。在我发送它之前,我只是在测试我是否可以重建它并播放它,而且我运气不佳。

在控制台中,blob 如下所示:

原始斑点

如何从 reader.readAsDataURL(audioBlob) 生成的 base64 编码数据中检索初始 audioBlob 对象,以便我可以以正确的形式播放它?

mediaRecorder.addEventListener("dataavailable", function(event) {
    audioChunks.push(event.data);
    var audioBlob = new Blob(audioChunks);

    // PLAYBACK WORKS HERE!
    var audioUrl = URL.createObjectURL(audioBlob);
    var audio = new Audio(audioUrl);
    audio.play();

    var reader = new FileReader();
    reader.onload = function(event){
        var audioData = event.target.result;

        // extracting and decoding just the bas64 data, attempting to reconstruct audioBlob
        var base64 = audioData.substr(audioData.lastIndexOf(',') + 1);
        var decoded = atob(base64);
        var reconstructedAudioBlob = new Blob([decoded], {type: "audio/webm;codecs=opus"});

        // PLAYBACK …
Run Code Online (Sandbox Code Playgroud)

javascript audio base64 blob

2
推荐指数
1
解决办法
1615
查看次数

为什么我不能在定义.js源的<script>标记内执行JavaScript函数?

我正在定义.js文件的源并尝试从同一标记中的该文件调用函数,如下所示:

<script type="text/javascript" src="jsFunctionTest.js">
    testMethodCall();
</script>
Run Code Online (Sandbox Code Playgroud)

.js文件只包含:

function testMethodCall(){
    window.alert("Hello there");
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我没有看到警报.

但是,如果我将标记更改为两个标记,如下所示,那么它可以工作:

<script type="text/javascript" src="jsFunctionTest.js"></script>
<script type="text/javascript">
    testMethodCall();
</script>
Run Code Online (Sandbox Code Playgroud)

这看起来很混乱.有没有理由第一个不起作用?

javascript

0
推荐指数
1
解决办法
122
查看次数