Ошибка при создании сокета
Добавлено: 05 май 2013, 13:54
Привет! Вот код MainActivity:
[syntax=java]package com.example.lab1;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
Button Start;
EditText Text;
Socket socket;
public static String Serv_Addr="localhost";
public static int PORT=31007;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Start= (Button) findViewById(R.id.StartButton);
Text= (EditText) findViewById(R.id.EText1);
OnClickListener ocl= new OnClickListener(){
@Override
public void onClick(View v) {
Thread ct=new Thread(doInThread);
//Thread ct1=new Thread
ct.start();
}
};
Start.setOnClickListener(ocl);
}
private Runnable doInThread = new Runnable() {
public void run() {
try{
InetAddress inetAddress = InetAddress.getByName(Serv_Addr);
Log.d("CLIENT",inetAddress.toString());
socket=new Socket(inetAddress,PORT);
Log.d("CLIENT",socket.toString());
}
catch(IOException e){
System.err.println("Socket creating failed");
}
}
};
@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;
}
}[/syntax]
Проблема в том, что при создании сокета (по нажатию на Start) вылетает экспешн. Я дописал в AndroidManifest.xml [syntax=java]<uses-permission android:name="android.permission.INTERNET" />[/syntax], но не помогло. Подскажите в чем тут дело? Спасибо!
[syntax=java]package com.example.lab1;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
Button Start;
EditText Text;
Socket socket;
public static String Serv_Addr="localhost";
public static int PORT=31007;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Start= (Button) findViewById(R.id.StartButton);
Text= (EditText) findViewById(R.id.EText1);
OnClickListener ocl= new OnClickListener(){
@Override
public void onClick(View v) {
Thread ct=new Thread(doInThread);
//Thread ct1=new Thread
ct.start();
}
};
Start.setOnClickListener(ocl);
}
private Runnable doInThread = new Runnable() {
public void run() {
try{
InetAddress inetAddress = InetAddress.getByName(Serv_Addr);
Log.d("CLIENT",inetAddress.toString());
socket=new Socket(inetAddress,PORT);
Log.d("CLIENT",socket.toString());
}
catch(IOException e){
System.err.println("Socket creating failed");
}
}
};
@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;
}
}[/syntax]
Проблема в том, что при создании сокета (по нажатию на Start) вылетает экспешн. Я дописал в AndroidManifest.xml [syntax=java]<uses-permission android:name="android.permission.INTERNET" />[/syntax], но не помогло. Подскажите в чем тут дело? Спасибо!