2016-12-27 9 views
0

В нем говорится, что Async не переопределяет любые методы из суперкласса. Это пример, взятый с веб-сайта tutorialspoint. Это просто не работает. Пожалуйста, помогите. Спасибо заранее. * Редактирование: я загрузил полный java-файл.Я получаю ошибку AsyncTask не переопределяет методы из суперкласса?

public class SigninActivity extends AsyncTask{ 

     private Context context; 
     private TextView statusField,userField; 

     public SigninActivity(Context context,TextView statusField,TextView userField) { 
      this.context = context; 
      this.statusField = statusField; 
      this.userField = userField; 
    } 

     protected void onPreExecute(){ 
     } 


     @Override 
     protected String doInBackground(String... arg0) { 
      try{ 
       String username = (String)arg0[0]; 
       String password = (String)arg0[1]; 

       String link="http://127.0.0.1/login.php"; 
       String data = URLEncoder.encode("username", "UTF-8") + "=" + 
         URLEncoder.encode(username, "UTF-8"); 
       data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + 
         URLEncoder.encode(password, "UTF-8"); 

       URL url = new URL(link); 
       URLConnection conn = url.openConnection(); 

       conn.setDoOutput(true); 
       OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 

       wr.write(data); 
       wr.flush(); 

       BufferedReader reader = new BufferedReader(new 
         InputStreamReader(conn.getInputStream())); 

       StringBuilder sb = new StringBuilder(); 
       String line = null; 

       // Read Server Response 
       while((line = reader.readLine()) != null) { 
        sb.append(line); 
        break; 
       } 

       return (sb.toString()); 
      } 
      catch(Exception e){ 
       return (new String("Exception: " + e.getMessage())); 
      } 
     } 
    @Override 
     protected void onPostExecute(String result){ 
      this.statusField.setText("Login Successful"); 
      this.userField.setText(result); 
     } 
    } 
+0

, какой класс вы расширяете –

+0

Я предполагаю, что вы не используете аргументы правильного типа для 'AsyncTask' - но мы можем» это видно, потому что вы предоставили только метод, а не [mcve]. –

+0

Я расширяю [email protected] –

ответ

0
public class SigninActivity extends AsyncTask<String, String, String> 

Используйте приведенный выше код, он будет делать работу

+0

если вам нужно preExecute и postExcute вы должны простираться выше код или, если вам нужно нужно переопределить только doinBackground вы можете использовать Sample общественный класс расширяет AsyncTask { @Override защищенный объект doInBackground (Object [] объекты) { return null; } } –

 Смежные вопросы

  • Нет связанных вопросов^_^