2017-01-04 11 views
0

私はMySQLを使用して(PHPサイト経由で)テーブルにデータを挿入する小さなアンドロイドアプリを1つ持っています。 Wi-Fiを使用しているときはすべて正常に動作しますが、Wi-Fiデータを無効にするとデータベースに保存されません。ここで私は私の地元のPHPファイルに接続するために使用私のコードは次のとおりです。wifi接続なしでAndroidアプリが動作しません

protected String doInBackground(Void... params) { 
     String url = "http://192.168.1.2:6969/android/index.php"; 

     try { 
      URL address = new URL(url); 
      HttpURLConnection httpURLConnection = (HttpURLConnection) address.openConnection(); 
      httpURLConnection.setRequestMethod("POST"); 
      httpURLConnection.setDoOutput(true); 
      httpURLConnection.setDoInput(true); 
      OutputStream outputStream = httpURLConnection.getOutputStream(); 
      BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); 
      String postData = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(name, "UTF-8") + "&" 
        + URLEncoder.encode("emailAddress", "UTF-8") + "=" + URLEncoder.encode(emailAddress, "UTF-8"); 
      bufferedWriter.write(postData); 
      bufferedWriter.flush(); 
      bufferedWriter.close(); 
      outputStream.close(); 
      InputStream inputStream = httpURLConnection.getInputStream(); 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1")); 
      String line; 
      while((line = bufferedReader.readLine())!=null) { 
       result += line; 
      } 
      bufferedReader.close(); 
      inputStream.close(); 
      httpURLConnection.disconnect(); 

      return result; 
     } catch (IOException e) { 
     } 

     return null; 
    } 

私は問題がラインであることを発見:

OutputStream outputStream = httpURLConnection.getOutputStream(); 

私のアプリが停止します。

wifi接続なしでこのアプリケーションを動作させる方法はありますか?

E/GED: Failed to get GED Log Buf, err(0) 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
D/libc-netbsd: [getaddrinfo]: mtk netid=0; mark=0 
D/libc-netbsd: getaddrinfo(app_uid:10226 
D/libc-netbsd: getaddrinfo() uid prop: 
D/libc-netbsd: getaddrinfo() getuid():10226 
D/libc-netbsd: [getaddrinfo]: mtk ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0 
D/libc-netbsd: [getaddrinfo]: mtk netid=0; mark=0 
D/libc-netbsd: getaddrinfo(app_uid:10226 
D/libc-netbsd: getaddrinfo() uid prop: 
D/libc-netbsd: getaddrinfo() getuid():10226 
D/libc-netbsd: [getaddrinfo]: mtk ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0 
+0

私は私のポストのためのlogcatを追加 – sasikumar

+0

あなたはlogcat –

+0

@shubhamgoyalを共有することができます参照してください。 IPアドレス。"もちろん...私は今自分自身を殺すべきです。 – porgo

答えて

1

は、私はあなたがあなたのためにすべてを扱うライブラリを使用することをお勧め:私は私のアンドロイド携帯電話上でデバッグUSBモードに私のアプリを起動したときにここで

はlogcatです。

RequestBody formBody = new FormBody.Builder() 
      .add("name", "name") 
      .add("emailAdress", "[email protected]") 
      .build(); 

    OkHttpClient client = new OkHttpClient(); 
    Request request = new Request.Builder() 
      .url(url) 
      .post(formBody) 
      .build(); 

    Response response = client.newCall(request).execute(); 
    return response.body().string(); 

そして、もっと重要なことがある: http://square.github.io/okhttp/

同様

は、ここでは、URLエンコードされた要求のためにどのように機能するかのコード例です。あなたは192.168.x.xのIPアドレスを持っています。これはプライベートネットワークで使用され、ではなく、公衆インターネット経由で利用可能なです。あなたのルーターのパブリックIPを知っているなら、あなたのPCに転送することができますが、私はそれをあなたに提案しません。

+0

「あなたは192.168.xxのを持っているhttp://androidcss.com/android/test-android-app-php-localhost-wamp/ – porgo

+0

この便利なライブラリをありがとう!私は私のローカルアドレスをテストのためだけに使っていましたが、今は公開されている正しいURLを入れました。 – porgo

関連する問題