2017-03-20 3 views
0

私のAndroidアプリケーションデータをPHPファイルに送信し、それらのデータをデータベースに挿入したいと考えています。私は、ボタンのクリックで達成する非同期タスクを作ったが、それは動作しません、何もエラーは何も、そして私のデータベースに何も解析されません。Android Async PHP

public class Async extends AsyncTask { 
    Integer name=1150; 
    @Override 
    protected Object doInBackground(Object [] params) { 
     URL url = null; 
     try { 
      url = new URL("http://mywebsite.com/kundenexecute.php"); 
      HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
      InputStream a = new BufferedInputStream(urlConnection.getInputStream()); 
      name = Integer.valueOf(convertStreamToString(a)); 
      urlConnection.disconnect(); 
     } catch (Exception e) { 
      Log.d("abcd",e.toString()); 
     } 

     return null; 
    } 

    @Override 
    protected void onPostExecute(Object o) { 
    } 

    @Override 
    protected void onPreExecute() { 

    } 

    private String convertStreamToString(InputStream is) { 

     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

     StringBuilder sb = new StringBuilder(); 

     String line = null; 
     try { 
      while ((line = reader.readLine()) != null) { 
       sb.append(line).append('\n'); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       is.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
     return sb.toString(); 
    } 
} 

データに

public void senddata(View view) { 
    new Async(); 
    Intent intent = new Intent(PDF.this, LoadingScreenActivity.class); 
    startActivity(intent); 
} 

PHPファイル

<?php  
include "db.inc.php"; 
include "redirect.php"; 
session_start(); 

$vorname = $_GET['regid']; 

$conn = mysqli_connect($db_server, $db_user, $db_password, $db_name) or die("you did not connect bozo"); 

$statement = $conn->prepare("INSERT INTO kunden(kunden_plz) VALUES (?)"); 

$statement->bind_param("s", $vorname); 
$statement->execute(); 

?> 
+1

asynctaskは、 'execute'メソッドを使用して実行できます。したがって、新しいAsync()。execute()でなく、新しいAsync()ではありません。 –

+0

AsyncTaskを実行しません。あなたはそれを作成するだけです。 –

答えて

0

を送信するためのボタンは、一般的なasynctaskを使用してみてください。これは、PHPにPOSTしたり、GETリクエストを作成したりする簡単な方法です。 asynctaskのgithubページでは、いくつかのdiscriptionを見ることができます。 Generic AsyncTask

+0

非常に多く、これは私の多くを助けた! – Showmann12

関連する問題