小编b10*_*101的帖子

Android-Volley:为JsonArrayRequest设置HTTP标头

所以我已经看到了几个JsonObjectRequests的例子,其中添加了这个代码

        @Override
        public String getBodyContentType() {
            return "application/json";
        }
Run Code Online (Sandbox Code Playgroud)

有时候这个代码已被使用

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json");
            return headers;
        }
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,它总是与JsonObjectRequest结合使用.我真的不知道在@OverrideJsonArrayRequest中添加方法的位置.这就是我的JsonArrayRequest的样子

JsonArrayRequest localJReq = new JsonArrayRequest(localURL,
      new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response){
            try{
                for (int i=0; i < response.length(); i++)
                {
                    JSONObject jsonObject = response.getJSONObject(i);
                    String title = jsonObject.getString("Title");
                    data += "Beschreibung: "+title+"\n\n\n";
                }
                output.setText(data);
            }catch (JSONException e){
                e.printStackTrace();
            }

        }
    },
            new Response.ErrorListener(){
                @Override
                public …
Run Code Online (Sandbox Code Playgroud)

android json http-headers android-volley

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

Android Volley:POST 请求 - NodeJS REST API 内的 req.body 为空

我知道它已经被讨论了十亿次,我已经阅读了几个问题/答案,特别是这个问题/答案似乎是一个很好的例子 - > example。所以现在我尝试重新创建代码并添加我的getParams()和我的getHeaders(). 奇怪的是,我得到了一个 HTTP 状态代码 400:

E/Volley: [303] BasicNetwork.performRequest: Unexpected response code 400 for http://10.0.2.2:3000/classes

因为我已经创建了 REST API,所以我可以看到这个状态代码 400 来自哪里,如果req.body不包含mAtt, mDatum, mRID, mVon. 所以现在我知道我的POST请求没有正常工作,即使我设置了getParams()我的getHeaders()......

现在,我的猜测是我正在设置 Params 但我正在 fetching req.body.mAtt, req.body.mDatum , req.body.mRID, req.body.mVon,这可以解释为什么我的 NodeJS 返回状态代码 400。如果我已获取,req.query.mAtt我可能会得到一些回报?

是否有某种方法需要我重写,以实际设置正文而不是查询参数?

这是我的 POST 请求的样子:

    JsonObjectRequest JOPR = new JsonObjectRequest(Request.Method.POST,
                       myAcitveLessonPOSTUrl, null, new Response.Listener<JSONObject>(){
        @Override
        public void onResponse(JSONObject response) {
            try {
                VolleyLog.v("Response:%n %s", response.toString(4)); …
Run Code Online (Sandbox Code Playgroud)

rest android node.js express android-volley

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

检查某个行是否存在,否则选择不同的行

假设我有一个包含的表

|vendor  | price| productID|  
|--------------------------------|  
|abc   | 6    | 0001     |     
|1     | 7    | 0001     |         
|def   | 8    | 0001     |      
|xyz   | 30   | 0002     |    
|zxy   | 32   | 0002     |       
Run Code Online (Sandbox Code Playgroud)

现在我想得到一个产品的min()价格的供应商,
产品0001 的产品是供应商abc
,供应商xyz

但!如果有一个名为1的供应商,我希望看到他的名字而不是实际供应商的min()价格,如果产品没有名为1的供应商,我希望看到具有min()价格的供应商再次

如果这对你有意义..它有点像if-else结构,但我不知道如何在SQL中做到这一点

(抱歉格式化的表格很糟糕,我只是不按正确方式格式化)

谢谢

sql oracle

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

Android DialogFragment newInstance 可选参数

我一直在关注官方的android 开发人员文档这个文档,以便在我的项目中使用 DialogFragment。到目前为止一切顺利,因为我必须将数据传递给 DialogFragment 以创建多选列表,所以我通过newInstance方法(传递项目)从我的 MainActivity 内部调用 DialogFragment并且我得到了正确的结果。现在,我想传递另一个参数,也是 DialogFragment 的数据,但它必须是可选的,因为我不需要一直传递它。有没有办法让我实现这一目标?

编辑:
所以我从下面的评论中获取了建议并创建了一个二传手并将我希望传递给DiagramFragment的项目。它工作得很好,遗憾的是它没有帮助我解决我的问题。我想传递第二个数据的原因是我认为,如果用户打开 DialogFragment 并进行选择,然后重新打开 DialogFragment,他的最后选择就消失了。我想检查他已经以编程方式检查过的复选框,方法是将检查过的一次传递回 DialogFragment 然后将正确的索引设置回mSelectedItems- 但即使索引设置正确,复选框保持未选中状态..有解决方法吗?

static MyDialogFragment newInstance(int num) {
        MyDialogFragment f = new MyDialogFragment();

        // Supply num input as an argument.
        Bundle args = new Bundle();
        args.putInt("num", num);
        f.setArguments(args);

        return f;
}

...

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    mSelectedItems = new ArrayList();  // Where we track the selected items
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    // Set …
Run Code Online (Sandbox Code Playgroud)

java android dialogfragment

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