android - E/Volley:[40176] NetworkDispatcher.processRequest:未处理的异常 java.lang.NullPointerException
问题描述
我正在通过 php 将信息从我的 android 应用程序发送到我的数据库,但是当我执行它并使用微调器时,我选择了一些可用选项并给出以下结果,我试图修复它但总是说,我不知道该怎么做,请帮忙!
2020-06-30 08:50:48.688 19172-19330/com.example.tallerof E/Volley: [40176] NetworkDispatcher.processRequest: Unhandled exception java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
这里是我把所有东西都发送到 php 的类
package com.example.tallerof;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
public class Aceptado extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
String valor;
String rol;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aceptado);
Spinner snipper= findViewById(R.id.spi);
Button ir= findViewById(R.id.button10);
ArrayAdapter<CharSequence> adapter= ArrayAdapter.createFromResource(this, R.array.Estatus, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
snipper.setAdapter(adapter);
snipper.setOnItemSelectedListener(this);
valor = getIntent().getStringExtra("matricula");
ir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
servicio("https://tallerof.000webhostapp.com/Actualiza.php");
}
});
}
private void servicio(String URL){
StringRequest stringRequest= new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(), "Listo", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Aceptado.this, MainActivity2.class);
startActivity(intent);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),error.toString(),Toast.LENGTH_SHORT).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parametros= new HashMap<String,String>();
parametros.put("Id_nuevo",rol);
parametros.put("Aceptado","1");
parametros.put("Matricula_Nuevo",valor);
return parametros;
}
};
RequestQueue requestQueue= Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String text= parent.getItemAtPosition(position).toString();
if(text.equals("Alumno")){
rol="1";
}
if(text.equals("Maestro")){
rol="2";
}
if(text.equals("Administracion")){
rol="3";
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
解决方案
问题是我的意图是错误地传递变量
推荐阅读
- python - Python。收集数据直到json文件结束
- javascript - laterJS 中的多个 setTimeouts 不按计划进行
- c# - 如何从 MVC c# 中的一个 viewModel 保存来自两个模型(关系一对多)的数据?
- elixir - GenServer 可以在 Elixir 中拥有自己的结构吗?
- r - setwd 中的错误 - 无法更改工作目录
- mysql - 从选择查询中查找数据库名称
- excel - 如何为文件名添加变量?
- sql - Entity Framework Core - 手动将 id 分配给链接的实体
- javascript - 同位素 - 无法读取未定义的属性“filteredItems”
- matlab - for循环数字组