Мое приложение вылетает при попытке использовать залп - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь захватить данные залпом, но мое приложение вылетает. приложение открывается, но мое приложение вылетает при нажатии кнопки поиска.

public class MainActivity extends AppCompatActivity {

TextView tvYear,tvDirector,tvActor,tvLanguage,tvPlots,tvCountry;
ImageView ivPoster;
EditText edName;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edName     = findViewById(R.id.edName);
    tvYear     = findViewById(R.id.tvYear);
}

public void search(View view) {
    String mName = edName.getText().toString();
    if(mName.isEmpty())
    {
        edName.setError("please provide movie name");
        return;
    }
    String url = "HTTP://www.omdbapi.com/?t="+mName+"&plot=full&apikey=myApiKey";

    RequestQueue queue = Volley.newRequestQueue(this);
    StringRequest request = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject movie = new JSONObject(response);

                        String result = movie.getString("Response");
right there  crash app---->     tvYear.setText(result);
                        if(result.equals("True"))
                        {

                            Toast.makeText(MainActivity.this, "Found", Toast.LENGTH_SHORT).show();


                            if(posterUrl.equals("N/A"))
                            {

                            }
                            else
                            {

                            }
                        }
                        else
                        {

                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            }
    );
    queue.add(request);

}

мое приложение падает здесь

      tvYear.setText(result);

мое приложение не падает, когда я удаляю эту строку. Я хочу увидеть значение запроса, но он вылетает

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Попробуйте вместо этого использовать JsonObjectRequest.

Вам не придется делать потенциально возможную ошибку, приводящую к конвертации. Если в процессе преобразования что-то идет не так и объекты отображаются неправильно, вы получаете проблему, которую пытаетесь исправить.

https://developer.android.com/training/volley/request

0 голосов
/ 26 октября 2019

Вы можете печатать логи в каждой строке, чтобы увидеть значение переменной. Укажите, пожалуйста, какую именно ошибку показывает журнал регистрации кошек?

...