0
01-30 23:59:02.322: E/AndroidRuntime(1105): FATAL EXCEPTION: main
01-30 23:59:02.322: E/AndroidRuntime(1105): Process: com.example.radio, PID: 1105
01-30 23:59:02.322: E/AndroidRuntime(1105): android.os.NetworkOnMainThreadException
01-30 23:59:02.322: E/AndroidRuntime(1105):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at com.example.radio.JSONParser.makeHttpRequest(JSONParser.java:38)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at com.example.radio.Answers$GetAnswers$1.run(Answers.java:98)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at android.os.Handler.handleCallback(Handler.java:733)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at android.os.Handler.dispatchMessage(Handler.java:95)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at android.os.Looper.loop(Looper.java:136)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at android.app.ActivityThread.main(ActivityThread.java:5017)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at java.lang.reflect.Method.invokeNative(Native Method)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at java.lang.reflect.Method.invoke(Method.java:515)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
01-30 23:59:02.322: E/AndroidRuntime(1105):     at dalvik.system.NativeStart.main(Native Method)

These are the various types of errors showing in LogCat when i run my android application project.Please help me to find what type of errors are those.

Here is my MainActivity codings.....

package com.example.radio;

import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.app.ActionBar;
public class MainActivity extends Activity 
{
private ProgressDialog pDialog;
JSONParser jParser=new JSONParser();
RadioGroup R1,R2;
RadioButton B1,B2;
Button submit;
    CheckBox C1,C2,C3;
EditText email;
 String s1="";
 private static final String TAG_SUCCESS = "success";
 private static String url_http="http://saravananoct14.web44.net/add.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
R1=(RadioGroup)findViewById(R.id.group1);
R2=(RadioGroup)findViewById(R.id.group2);
C1=(CheckBox)findViewById(R.id.checkBox1);
C2=(CheckBox)findViewById(R.id.checkBox2);
C3=(CheckBox)findViewById(R.id.checkBox3);
email=(EditText)findViewById(R.id.email);

submit=(Button)findViewById(R.id.back);
submit.setOnClickListener(new OnClickListener()
{

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    String simple="";
B1=(RadioButton)findViewById(R1.getCheckedRadioButtonId());
    B2=(RadioButton)findViewById(R2.getCheckedRadioButtonId());     

if(C1.isChecked())
{
    s1=s1.concat(C1.getText().toString());

}   
    if(C2.isChecked())
{
    s1=s1.concat(",");
    s1=s1.concat(C2.getText().toString());

}
if(C3.isChecked())
{
    s1=s1.concat(",");
    s1=s1.concat(C3.getText().toString());

}   
                                                                                         simple=B1.getText().toString()+","+B2.getText().toString()+","+s1+","+email.getText().toString();
Toast.makeText(MainActivity.this, simple, Toast.LENGTH_LONG).show();
new addanswers().execute();
}


});
}
class addanswers extends AsyncTask<String,String,String>
{
    protected void onPreExecute()
{
         super.onPreExecute();
            pDialog = new ProgressDialog(MainActivity.this);
            pDialog.setMessage("Adding answers to the database");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();

 }

    protected String doInBackground(String... args) 
 {
        // TODO Auto-generated method stub
        String EMAIL_ID=email.getText().toString();
        String Q1=B1.getText().toString();
        String Q2=B2.getText().toString();
        String Q3=s1;
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("EMAIL_ID",EMAIL_ID));
params.add(new BasicNameValuePair("Q1",Q1));
params.add(new BasicNameValuePair("Q2",Q2));
params.add(new BasicNameValuePair("Q3",Q3));

JSONObject json=jParser.makeHttpRequest(url_http,"POST",params);        
Log.d("Create Response",json.toString());
try {
    int success = json.getInt(TAG_SUCCESS);

    if (success == 1) {
Intent intent=new Intent(getApplicationContext(),Res.class);
startActivity(intent);

        finish();

    } else {
        }
} catch (JSONException e) {
    e.printStackTrace();
}


return null;
    }
     protected void onPostExecute(String file_url) {
    try{        pDialog.cancel();
    }catch (Exception e){
        e.printStackTrace();

    }
     }

    }

public void onDestroy(){
    super.onDestroy();
    if(pDialog!=null && pDialog.isShowing())
    {
        pDialog.cancel();
    }       

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
public boolean onOptionsItemSelected(MenuItem item) {

    Intent intent=new Intent(getApplicationContext(),Admin.class);
     startActivity(intent);

    return true;
}


  }

So what should i change in this?? Any corections?? Please suggest me....

1 Answers1

0

Network based operations should not be run on Main Thread.

Try using threading

new Thread(new Runnable(){
    @Override
    public void run() {
        try {
            //your code
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}).start();

or use AsyncTask

Kamlesh Arya
  • 4,864
  • 3
  • 21
  • 28