2016-07-12 2 views
1

Я очень новой для Android, было бы здорово, если бы вы могли бы мне помочь с ошибкой «Не удается разрешить символ ...» в переменных:

- значение 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); 
    } 

большое спасибо за ваше время

+0

clean-rebuild first –

+0

Опубликовать logcat, а также указать строку, в которой вы получаете сообщение об ошибке. –

+2

Вы объявили их? –

ответ

3

Сначала объявить banner_id & full_id;

public class Main3Activity extends AppCompatActivity { 

public int banner_id,full_id; 

Затем Гладко Rebuild Ваш проект.

+0

Спасибо. Теперь banner_id и full_id являются несовместимыми типами (требуется int, found null). Я также изменил это: value1 = jsonResponse.getString ("precio_rounded"); к этому: value1 = jsonResponse.getInt ("precio_rounded"); Является ли это «getInt», если я пытаюсь получить двойной? – alberzyzz

+0

сейчас проблема для 'type casting' –

3

Плохая идея начать прямо с Android ... когда у вас нет любой подсказка о самой Java. В вашей программе вы находитесь , используя эти три переменные, не имеющие , объявляя им раньше. Об этом говорит компилятор. То есть супер базовый материал.

Поэтому я серьезно рекомендую вам отступить; и изучите эти основы java еще некоторое время. В противном случае ваш опыт программирования будет не чем иным, как (вероятно, короткой) серией очень неприятных моментов.

Это не должно быть грубым; но похоже, что вы собираетесь построить небоскреб; но вы на самом деле понятия не имеете, как выкопать яму для подвала. Это просто не очень полезный или эффективный подход, чтобы все было сделано.

И вы видите, ваши последующие комментарии к ответам ... просто подтвердите свою точку зрения. Ваш текущий подход - не что иное, как пробная ошибка. И только для того, чтобы быть точным: модель программирования Java Java сама по себе является чем-то, что может управлять опытными Java-программистами.

1

Вы должны объявить все переменные до их использования. Основная форма объявления переменной приведена здесь:

тип данных переменная [= значение] [, variable [= значение] ...];

+1

Плохая идея. Он новичок; в худшем случае он будет копировать ваши заявления напрямую, и это действительно не поможет; кроме того, назначение с нулем не требуется; и не очень полезно. – GhostCat

+0

Все в порядке, тип данных - это строка, int и т. Д. – alberzyzz