变量在asynctask android外部返回null。null指针异常

变量在asynctask android外部返回null。null指针异常,android,listview,android-asynctask,android-arrayadapter,Android,Listview,Android Asynctask,Android Arrayadapter,我正试图连接我的应用程序从数据库中获取信息,查询是执行写操作的,变量是位置。但当它从fn doinbackground终止时,我发现变量为null,这关闭了整个程序。我注意到,当从doinbackgroundfn中的try块返回结果时,它会跳到fn的末尾返回,然后应用程序停止。 这是main的代码 Bur打印和制作适配器后如何执行查询? 主代码 导入android.app.AlertDialog; 导入android.app.ProgressDialog; 导入android.content.I

我正试图连接我的应用程序从数据库中获取信息,查询是执行写操作的,变量是位置。但当它从fn doinbackground终止时,我发现变量为null,这关闭了整个程序。我注意到,当从doinbackgroundfn中的try块返回结果时,它会跳到fn的末尾返回,然后应用程序停止。 这是main的代码 Bur打印和制作适配器后如何执行查询? 主代码
导入android.app.AlertDialog;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.media.MediaPlayer;
导入android.os.AsyncTask;
导入android.os.Handler;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.io.BufferedReader;
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.io.UnsupportedEncodingException;
导入java.net.HttpURLConnection;
导入java.net.MalformedURLException;
导入java.net.ProtocolException;
导入java.net.URL;
导入java.net.urlcoder;
导入java.util.ArrayList;
公共课选择自助餐项目活动{
串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串;
ArrayList buff_list=新建ArrayList();
自助餐适配器项目适配器;
阵列适配器;
私有静态int SPLASH_TIME_OUT=2000;
警报对话框警报对话框;
私有布尔loggedIn=false;
字符串类型;
字符串结果;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u choose\u buffet\u items);
新建JSONParse().execute();
itemsAdapter=新的自助餐适配器(此,buff_列表);
itemsAdapter.notifyDataSetChanged();
ListView ListView=(ListView)findViewById(R.id.ListView\u buffet);
setAdapter(itemsAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
字符串s=(字符串)适配器.getItem(i);
如果(s.equals(“饮料”))
{
意向编号意向=新意向(选择自助餐项目。此为自助餐饮料。类别);
起始触觉(数字内容);
}
否则,如果(s.等于(“蛋糕”))
{
意向书编号意向书=新意向书(选择自助餐项目。这个,自助餐蛋糕。类);
起始触觉(数字内容);
}
否则,如果(s.equals(“开胃菜”))
{
意向编号内容=新意向(选择自助餐项目。这是自助餐开胃菜。类);
起始触觉(数字内容);
}
else{Intent numbersitent=newintent(选择自助餐项目。这个,自助餐午餐。class);
startActivity(数字内容);}
}
});
setAdapter(适配器);
}
私有类JSONParse扩展了异步任务{
私人对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
alertDialog=新建alertDialog.Builder(选择自助餐项目.this).create();
alertDialog.setTitle(“上传数据”);
pDialog=新建进度对话框(选择自助餐项目。此选项);
setMessage(“获取数据…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…args){
字符串登录\u URL=”http://2f179dfb.ngrok.io/getcat.php";
试一试{
//从SharedReferences获取布尔值
URL=新URL(登录\ URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
结果=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null){
结果+=行;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
Log.e(“结果”,结果);
JSONObject JSONObject=新JSONObject(结果);
JSONArray result1=jsonObject.getJSONArray(“结果”);
//categouries=新字符串[result1.length()];
对于(int i=0;i