0

コード スニペットを検討してください。

        @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);
        emailto= (EditText)findViewById(R.id.editText3);
        verification = (EditText) findViewById( R.id.editText4);
        username = (EditText)findViewById( R.id.editText1);
        password= ( EditText) findViewById(R.id.editText2);
        facebook = (EditText)findViewById( R.id.editText5);
        twitter = ( EditText) findViewById(R.id.editText6);


        verification.setOnFocusChangeListener(new OnFocusChangeListener()
        {
            @Override
            public void onFocusChange(View v, boolean hasFocus) 
            {                   
                new CheckLoginStatusBackgroundThread().execute("");
            }
            });

    }


        class CheckLoginStatusBackgroundThread extends
            AsyncTask<String, Void, String> {




        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String... params) {

         HttpURLConnection linkConnection = null;
          try {
            URL linkurl = new URL("http://iipacademy.inaskpoll?email="+emailto);
                linkConnection = HttpURLConnection)linkurl.openConnection();
                int responseCode = linkConnection.getResponseCode();
                if (responseCode == HttpURLConnection.HTTP_OK) {
                  InputStream linkinStream =linkConnection.getInputStream();
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    int j = 0;
                    while ((j = linkinStream.read()) != -1) {
                        baos.write(j);
                    }
                    byte[] data = baos.toByteArray();
                    jsonString = new String(data);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (linkConnection != null) {
                    linkConnection.disconnect();
                }
            }
            Toast.makeText(getApplicationContext(), jsonString.toString(),
                    Toast.LENGTH_SHORT).show();
            return jsonString;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
        code = result.toString();
                 }
    }

このコードで、 EditText-'emailto' で指定されたメール ID に自動生成されたコードを送信する必要があります。このスクリプト - " http://iipacademy.in/askpoll/?email= "+emailto
は正常に動作しており (ブラウザで完全に動作していることがわかります)、私の電子メール ID に電子メールを送信しています。

上記のAndroidコードスニペットの問題があるのに対し、私のスクリプトには問題がないことを意味します。

いろいろ試しましたが、間違いが見つかりませんでした

ありがとう...

アップデート:

12-03 12:37:45.040: E/AndroidRuntime(2496): FATAL EXCEPTION: AsyncTask #2
12-03 12:37:45.040: E/AndroidRuntime(2496): java.lang.RuntimeException: An error occured while executing doInBackground()
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.FutureTask.run(FutureTask.java:239)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.lang.Thread.run(Thread.java:841)
12-03 12:37:45.040: E/AndroidRuntime(2496): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.os.Handler.<init>(Handler.java:197)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.os.Handler.<init>(Handler.java:111)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.widget.Toast$TN.<init>(Toast.java:324)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.widget.Toast.<init>(Toast.java:91)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.widget.Toast.makeText(Toast.java:238)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at com.example.askpollie.Register$CheckLoginStatusBackgroundThread.doInBackground(Register.java:112)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at com.example.askpollie.Register$CheckLoginStatusBackgroundThread.doInBackground(Register.java:1)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-03 12:37:45.040: E/AndroidRuntime(2496):     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-03 12:37:45.040: E/AndroidRuntime(2496):     ... 4 more
12-03 12:37:45.270: W/EGL_emulation(2496): eglSurfaceAttrib not implemented
4

1 に答える 1