小编Art*_*che的帖子

列出Android手机下载目录中的文件

我使用以下代码尝试列出下载目录中的文件.

我构建了apk,将其安装在我的手机上,然后运行它.当我在手机的文件浏览器中查看时,我在内存/下载文件夹和外部存储器/下载文件夹中都有文件,但应用程序不显示文件列表.当我调试时,我发现该listFiles()函数返回null.

请让我知道我做错了什么.变量的state值已安装,因此该问题与未安装的内存无关.

String state = Environment.getExternalStorageState();

private boolean isMediaAvailable() {

    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    } else {
        return false;
    }
}


if (!isMediaAvailable()) {
        Utility.finishWithError(this,"Media Not Available");
    } else {

        String path =Environment.getExternalStorageDirectory().toString()+ File.separator + Environment.DIRECTORY_DOWNLOADS;



        File file = new File(path);
        mRootPath = file.getAbsoluteFile().getPath();



        mFileNames = new ArrayList<String>();

        File filesInDirectory[] = file.listFiles();


        if (filesInDirectory != null) {
            for (int i = 0; i<filesInDirectory.length;i++) {
                    mFileNames.add(filesInDirectory[i].getName());
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

android file list download

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

Jupyter Notebook扩展无法加载

我正在使用最近的anaconda安装在虚拟盒中运行Ubuntu 14.04.我用conda安装了jupyter笔记本.我已经按照我在网上找到的所有文档来安装笔记本扩展,但是无法加载下面列出的错误消息.第一个错误来自在终端中运行的jupyter笔记本应用程序,第二个错误是在chrome java控制台中.请注意,我无法使用这么多超链接发布此问题,因此我在错误消息中从"http"中删除了"p".

[W 07:02:06.451 NotebookApp] 404 GET /nbextensions/python-markdown.js?v=20150904070147(127.0.0.1)8.47ms referer = htt:// localhost:8888/notebooks/Untitled.ipynb

htt:// localhost:8888/nbextensions/python-markdown.js?v = 20150904070147无法加载资源:服务器响应状态为404(未找到)

详细说明我的安装方法:我克隆了git存储库[IPython-notebook-extensions][1]并使用了jupyter-nbextension install python-markdownIPython-notebook-extensions/usability/文件夹中的命令.然后我启用了扩展程序jupyter-nbextension enable python-markdown.我也以超级用户身份运行这些命令.

在此失败之后,我在python中安装了此扩展(来自存储库的usability /目录),使用:

import notebook
notebook.install_nbextension('python-markdown',user=True)
E=notebook.nbextensions.EnableNBExtensionApp()
E.enable_nbextension('python-markdown')
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个没有参数的超级用户user=True.

我已经确认将文件复制到了/usr/local/share/jupyter/nbextensions/python-markdown~/.local/share/jupyter/nbextensions/python-markdown.扩展名在〜/ .jupyter/nbconfig/notebook.json文件中启用.最后,我还~/.cache尝试了多次删除了chrome和mozilla缓存(通过删除目录中的文件夹).

ipython-notebook jupyter

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

Angular最佳实践:在工厂或控制器中承诺?

我的应用程序中有一个处理API调用的基本工厂.目前我正在使用表格:

.factory('apiFactory', function($http){

  var url = 'http://192.168.22.8:8001/api/v1/';

  return {
    getReports: function() {
      return $http.get(url+'reports').then(function(result) {
        return result;
      });
    },
    getReport: function(id) {
      return $http.get(url+'report/'+id).then(function(result) {
        return result;
      });
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我正在处理这样的承诺:

.controller('exampleController', function($scope, apiFactory) {

      apiFactory.getReports().then(
        function(answer) {
          if (answer.status==200){
            if (answer.data.status == "error"){
              // DISPLAY ERROR MESSAGE
              console.log(answer.data.msg);
            }
          } else{
            // THROW error
            console.log('error: ', answer);
          }
        },
        function(error){
          console.log('error: ', answer);
        }
      );
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

似乎我可以将承诺处理转移到我的工厂而不是在我的控制器中进行,但我不确定除了较小的控制器之外是否还有其他好处.

有人可以解释有关这种模式的最佳做法吗?

javascript promise angularjs

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

BouncyCastle 时间戳协议 | 如何从 TimeStampToken 获取原始哈希?

我从散列数据创建了一个TimeStampRequest并将其发送到 tsa。

TSA 以 Granted 响应作为响应,我得到了带有时间戳的字节数组。

如何获取原始散列数据,以便验证 TSA 发送的时间戳是我声称拥有的时间戳?

提前致谢。

要求

TimeStampRequestGenerator reqGen = new TimeStampRequestGenerator();
SHA1 sha1 = SHA1CryptoServiceProvider.Create();

ValidateInput(data);
reqGen.SetCertReq(true);

Hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(data));

TimeStampRequest request = reqGen.Generate(
                 TspAlgorithms.Sha1, Hash, BigInteger.ValueOf(100));

byte[] reqData = request.GetEncoded();

record.DtRequest = DateTime.Now;

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(stampURI);
httpReq.Method = "POST";
httpReq.ContentType = "application/timestamp-query";
httpReq.ContentLength = reqData.Length;

// Write the request content
Stream reqStream = httpReq.GetRequestStream();
reqStream.Write(reqData, 0, reqData.Length);
reqStream.Close();

HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();

// Read the response
Stream respStream = new BufferedStream(httpResp.GetResponseStream()); …
Run Code Online (Sandbox Code Playgroud)

c# timestamp bouncycastle

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

什么是底座码头图像的容器?

我正在学习使用docker.我知道每个docker镜像都是在没有父级的基础图像上构建的.

然后从基本图像中,我们可以通过容器(可能是一个非常短的生命容器)自定义一些东西来提交新图像.

所以我理解过程是这样的:基本图像 - >容器 - >新图像1 - >容器 - >新图像2

但是,我检查基本图像的json数据.我仍然可以看到它有一个容器的信息:

[{
"Architecture": "amd64",
"Author": "",
"Comment": "",
"Config": {
    "AttachStderr": false,
    "AttachStdin": false,
    "AttachStdout": false,
    "Cmd": null,
    "CpuShares": 0,
    "Cpuset": "",
    "Domainname": "",
    "Entrypoint": null,
    "Env": null,
    "ExposedPorts": null,
    "Hostname": "3f37dbc61890",
    "Image": "",
    "Labels": null,
    "MacAddress": "",
    "Memory": 0,
    "MemorySwap": 0,
    "NetworkDisabled": false,
    "OnBuild": null,
    "OpenStdin": false,
    "PortSpecs": null,
    "StdinOnce": false,
    "Tty": false,
    "User": "",
    "Volumes": null,
    "WorkingDir": ""
},
"Container": "3f37dbc61890b0bb37cc8479db94602bcc2d6e177d76c0f3d7d53346c0dc580c",
"ContainerConfig": {
    "AttachStderr": false,
    "AttachStdin": false, …
Run Code Online (Sandbox Code Playgroud)

containers image docker

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

根据列条目在pandas数据帧中删除行

在pandas数据帧df中

name       value

aaaaa        1

aaaa_cntrl   2

bbbb_cntrl   3

ccccc        10
Run Code Online (Sandbox Code Playgroud)

我想删除名称列中包含"_cntrl"的行.你能建议怎么做吗?我查看了df.drop,但无法弄清楚如何根据基于字符串的匹配放弃.谢谢

pandas

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