无法解析符号(变量)

时间:2016-07-12 11:36:53

标签: java android json

我是Android的新手,如果你可以帮助我解决错误并且#34;无法解决符号,那就太棒了。"在变量中:

- 价值1

- banner_id

- full_id

我的代码如下:

package com.example.sienstranslation.siensapp;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.android.gms.appdatasearch.GetRecentContextCall;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class Main3Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

        Intent intent=getIntent();
        double precio = intent.getExtras().getDouble("precio");
        String precio_rounded = String.format("%.2f", precio);
        TextView txtCambio = (TextView) findViewById(R.id.textView4);
        txtCambio.setText("Precio Total: "+ precio_rounded + " €");
    }

    void MakePostRequest() {
        String posting_url ="http://ipaddress/app.php";
        // its your url path ok
        StringRequest postRequest = new StringRequest(Request.Method.POST, posting_url ,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject jsonResponse = new JSONObject(response);
                            value1= jsonResponse.getString("precio_rounded");

                        } catch (JSONException e) {
                            e.printStackTrace();
                            banner_id = null;
                            full_id = null;
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        error.printStackTrace();
                        value1= null;
                    }
                }
        ) {
            // here is params will add to your url using post method
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<>();
                params.put("app", getString(R.string.app_name));
                //params.put("2ndParamName","valueoF2ndParam");
                return params;
            }
        };
        Volley.newRequestQueue(this).add(postRequest);
    }

非常感谢你的时间

3 个答案:

答案 0 :(得分:3)

首先,声明banner_id&amp; full_id;

public class Main3Activity extends AppCompatActivity {

public int banner_id,full_id;

然后清理 - 重建您的项目。

答案 1 :(得分:3)

直接从Android开始...当你没有关于java本身的任何线索时,这是一个坏主意。在你的程序中,你使用这三个变量,而不是之前声明。这就是编译器告诉你的。这是超级基本的东西。

所以我认真地建议你退后一步;并研究这些java基础知识一段时间。否则你的编程经验将只是一系列非常令人沮丧的时刻(可能是短暂的)。

这并不意味着粗鲁;但看起来你打算建造一座摩天大楼;但实际上你根本不知道如何为地下室挖洞。这根本不是一种非常有益或有效的方法来完成任务。

你看,你对答案的后续评论......只是证明了我的观点。您当前的方法只不过是反复试验。而且确切地说:Android java编程模型本身就是可以让经验丰富的java程序员疯狂的东西。

答案 2 :(得分:1)

必须先声明所有变量才能使用它们。变量声明的基本形式如下所示:

数据类型变量[=值] [,变量[=值] ...];