小编Jay*_*man的帖子

什么是Android中已弃用的MODE_WORLD_READABLE SharedPreferences的替代品?

我正在开发Android应用程序A,使一个又一个B能读懂ASharedPreferences.

在javadoc中android.content.Context,以下是关于MODE_WORLD_READABLEMODE_WORLD_WRITEABLE:

在API级别17中不推荐使用此常量.创建世界可写文件非常危险,并且可能会在应用程序中造成安全漏洞.强烈劝阻; 相反,应用程序应该使用的相互作用,如更正式的机制ContentProvider, BroadcastReceiver以及Service.

据此,A应保存其SharedPreferencesMODE_PRIVATE国旗和提供ContentProvider,这样B可以查询AContentProvider.但我怎么知道SharedPreferencesUri?

我猜它就像,content://authority_name/preference_file_name但这对我不起作用.我要感谢任何正确的例子.

一般来说,是否可以访问其他应用程序MODE_PRIVATE SharedPreferences

android android-preferences sharedpreferences android-contentprovider

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

如何在Swift中检查元组数组是否包含特定元组?

请考虑以下Swift代码.

var a = [(1, 1)]

if contains(a, (1, 2)) {
    println("Yes")
}
Run Code Online (Sandbox Code Playgroud)

我只需要检查是否a包含元组,但代码会导致错误.

无法找到接受"([(Int,Int)],(Int,Int))类型的参数列表的'contains'的重载''

为什么这样以及如何contains正确使用?

arrays tuples swift

5
推荐指数
3
解决办法
7459
查看次数

如何从字符串中提取两个整数?

如何i32从Rust的单行输入中提取两个s?在Python中我可以读两个int像:

a, b = map(int, input().split()) #  "2 3"  =>  a=2 and b=3
Run Code Online (Sandbox Code Playgroud)

从Rust 1.3.0开始,我可以运行以下内容来读取一个i32:

let mut s = String::new();
std::io::stdin().read_line(&mut s).ok().expect("read_line panic");
let n: i32 = s.trim().parse().ok().expect("parse panic");
Run Code Online (Sandbox Code Playgroud)

input rust

5
推荐指数
2
解决办法
830
查看次数

为什么我的Java代码错误地执行bash命令?

我试图让我的Java程序与Linux bash交互,但出了点问题.我有一个简单的可执行文件prog,从中读取一个整数stdin并输出其正方形.执行

echo 5 | ./prog
Run Code Online (Sandbox Code Playgroud)

从bash本身打印正确的答案25,stdout但运行

import java.io.*;

public class Main {
    public static void main(String[] args) throws InterruptedException, IOException {
        Runtime run = Runtime.getRuntime();
        Process proc = run.exec("echo 5 | ./prog");
        proc.waitFor();
        BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        while(br.ready())
            System.out.println(br.readLine());
    }
}
Run Code Online (Sandbox Code Playgroud)

意外地给出了5 | ./prog.解决办法是什么?

java linux bash pipe

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

在c ++中以这种方式创建字符串数组是否正确?

在c ++中以这种方式创建n个字符串数组是否正确?

string *a = (string*)malloc(sizeof(string)*n);
...
free(a);
Run Code Online (Sandbox Code Playgroud)

c++ arrays string malloc

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

为什么Clojure的范围只迭代32次?

这个Clojure代码输出32而我期望100.为什么会这样?使用计数器进行循环的好方法是什么?

(def t 0)
(for [i (range 100)]
  (def t (+ 1 t))
  )
(println t)
Run Code Online (Sandbox Code Playgroud)

loops for-loop clojure range

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

为什么 NSLayoutConstraints 会被忽略?

我遇到了对 iOS 布局约束机制的误解。请参阅viewDidLoad下面列出的我放在里面的代码。

    var btn = UIButton()
    btn.setTitle("i am a button", forState: UIControlState.Normal)
    btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
    btn.backgroundColor = UIColor.lightGrayColor()
    btn.sizeToFit()

    view.addSubview(btn)

    view.addConstraint(
        NSLayoutConstraint(item: view,
            attribute: NSLayoutAttribute.CenterX,
            relatedBy: NSLayoutRelation.Equal,
            toItem: btn,
            attribute: NSLayoutAttribute.CenterX,
            multiplier: 1.0,
            constant: 0.0))

    view.addConstraint(
        NSLayoutConstraint(item: view,
            attribute: NSLayoutAttribute.CenterY,
            relatedBy: NSLayoutRelation.Equal,
            toItem: btn,
            attribute: NSLayoutAttribute.CenterY,
            multiplier: 1.0,
            constant: 0.0))
Run Code Online (Sandbox Code Playgroud)

在我看来,我的意图很明确。我想在设备屏幕中央看到一个按钮。但是我只能看到下面的图片。

iPhone 6 模拟器

而且我在项目的控制台中有一个输出,太可怕了,我无法从中理解任何东西。

无法同时满足约束。可能以下列表中的至少一项约束是您不想要的。试试这个: (1) 查看每个约束并尝试找出您不期望的;(2) 找到添加不需要的约束或约束的代码并修复它。(注意:如果看到 NSAutoresizingMaskLayoutConstraints 不明白,请参考 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档) ( "", "", "", " (Names: '|':UIWindow:0x7fd318551080 )>" )

将尝试通过打破约束来恢复

在 UIViewAlertForUnsatisfiableConstraints 处创建一个符号断点以在调试器中捕获它。中列出的 UIView 上的 …

ios nslayoutconstraint

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

简单C++继承中的错误

我明白了

错误:没有用于调用'Base :: Base()'的匹配函数

在代码中

class Base {
private:
     char *field;
public:
    Base(char *c){
        field = c;
    }
};

class Derived : public Base {
public:
    Derived(char *c){}
};
Run Code Online (Sandbox Code Playgroud)

添加后,错误消失

Base() {}
Run Code Online (Sandbox Code Playgroud)

构造函数.为什么C++编译器严格要求Base()没有参数的构造函数?如果创建一个Base没有参数的对象没有意义呢?

PS例如,我在类似的Java代码中没有相同的错误,因为我必须添加

super("")
Run Code Online (Sandbox Code Playgroud)

作为Derived构造函数体的第一个陈述.这是非常合理的.

c++ inheritance

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

关于c ++中的析构函数

现在的问题是如何正确地删除名称中的一个析构函数?

class A{
private:
    char *name;
public:
    A(char *n) : name(n) {}
    ~A(){
        //???
    }
}

int main(){
    A *a = new A("name");
    delete a;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ destructor

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

为什么Linux中的空间会丢失空间?

我在Linux中遇到管道问题.管道后看起来空格字符丢失了.运行以下C++代码

#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

int main(){
    char s[] = "ab cd", c;
    int n = strlen(s);
    for(int i = 0; i<n && (cin >> c); i++)
        if(s[i] != c){
            printf("wrong at %d : '%c' != '%c' \n", i, s[i], c);
            break;
        }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

echo "ab cd" | ./checker
Run Code Online (Sandbox Code Playgroud)

shell命令给出

wrong at 2 : ' ' != 'c'
Run Code Online (Sandbox Code Playgroud)

这是正常的行为吗?如何避免丢失管道中的字符?

c++ pipe

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