Java Can';无法在AsyncTask中运行onPostExecute,可能会';我也不知道该怎么做

Java Can';无法在AsyncTask中运行onPostExecute,可能会';我也不知道该怎么做,java,android,android-asynctask,Java,Android,Android Asynctask,我正在为我的一个班级设计一个应用程序。该应用程序的目标是连接到具有给定HTML的网站,并提取特定文件。根据输入选择此文件,并创建一个新的“活动”,以便在用户单击“显示”按钮时显示数据 我的老师希望我们使用AsyncTask从html中提取数据,然后创建新的活动。我以前从未遇到过AsyncTask的问题,但现在我无法运行onPostExecute。我把测试人员放在onPostExecute中,但他们从未运行过,所以我认为我的doInBackground就是问题所在。我还没有找到解决我问题的答案 这

我正在为我的一个班级设计一个应用程序。该应用程序的目标是连接到具有给定HTML的网站,并提取特定文件。根据输入选择此文件,并创建一个新的“活动”,以便在用户单击“显示”按钮时显示数据

我的老师希望我们使用AsyncTask从html中提取数据,然后创建新的活动。我以前从未遇到过AsyncTask的问题,但现在我无法运行onPostExecute。我把测试人员放在onPostExecute中,但他们从未运行过,所以我认为我的doInBackground就是问题所在。我还没有找到解决我问题的答案

这是我的代码,问题发生在底部(是的,我有一个新的xml和java用于新活动,它在我的清单中)

私有类下载文件任务扩展异步任务{
@凌驾
受保护的void onPreExecute(){
Context=getApplicationContext();
CharSequence text=“拉取数据”;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
}
受保护的整数doInBackground(URL…URL){
URL=URL[0];
int complete=0;
HttpURLConnection-urlConnection=null;
试一试{
urlConnection=(HttpURLConnection)url.openConnection();
InputStream in=urlConnection.getInputStream();
InputStreamReader isw=新的InputStreamReader(in);
int data=isw.read();
while(数据!=1){
当前字符=(字符)数据;
data=isw.read();
dataToPass+=当前数据;
}
}
捕获(例外e)
{
e、 printStackTrace();
}
最后{
if(urlConnection!=null)
urlConnection.disconnect();
如果(!dataToPass.equals(“”)
完整=1;
返回完成;
}
}
@凌驾
受保护的void onPostExecute(整数结果){
super.onPostExecute(结果);
如果(结果==1){
Context=getApplicationContext();
CharSequence text=“结果=1”;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
意向意向=新意向(HomeScreen.this,Stock_Data.class);
intent.setFlags(intent.FLAG\u活动\u新任务);
意向.额外支出(库存数据、dataToPass);
星触觉(意向);
}
其他的
{
Context=getApplicationContext();
CharSequence text=“结果!=1”;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
TextView homeMessage=(TextView)findViewById(R.id.homeMessage);
homeMessage.setText(“包含数据的网站不可用或不存在。”+
“\n请输入:”+
“\n!-英特尔”+
“\n~-Microsoft”);
}
}
}

具有给定HTML的网站,
。对不起,那是胡说八道。请重读老师所说的。
一个带有给定HTML的网站,
。对不起,那是胡说八道。请重读你老师说的话。
 private class DownloadFilesTask extends AsyncTask<URL, Void, Integer> {
    @Override
    protected void onPreExecute() {
        Context context = getApplicationContext();
        CharSequence text = "Pulling Data";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }

    protected Integer doInBackground(URL... urls) {
        URL url = urls[0];
        int complete = 0;
        HttpURLConnection urlConnection = null;
        try {
            urlConnection = (HttpURLConnection) url.openConnection();
            InputStream in = urlConnection.getInputStream();
            InputStreamReader isw = new InputStreamReader(in);

            int data = isw.read();
            while (data != 1) {
                char current = (char) data;
                data = isw.read();
                dataToPass += current;
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally {
            if (urlConnection != null)
                urlConnection.disconnect();

            if (!dataToPass.equals(""))
                complete = 1;

            return complete;
        }
    }


    @Override
    protected void onPostExecute(Integer result) {
        super.onPostExecute(result);
        if(result == 1) {
            Context context = getApplicationContext();
            CharSequence text = "Result = 1";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
            Intent intent = new Intent(HomeScreen.this, Stock_Data.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.putExtra(STOCK_DATA, dataToPass);
            startActivity(intent);
        }
        else
        {
            Context context = getApplicationContext();
            CharSequence text = "Result != 1";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
            TextView homeMessage = (TextView) findViewById(R.id.homeMessage);
            homeMessage.setText("The website containing the data is unavailable or does not exist." +
                    "\nPlease enter:" +
                    "\n! - Intel" +
                    "\n~ - Microsoft");
        }
    }
}