안드로이드 개발 질문/답변
(글 수 45,052)
간단한 UDP 소스 입니다....
제 폰은 갤럭시S3 입니다. 에뮬레이터(2.2)로 돌리면 정상적으로 돌아가는데...
폰에 넣어서 하면 작동중지가 뜨는데 어디가 문제인지알 수가 없네요ㅠ; 도와주세요...
---------------------------------------------------------------------------------------------
MainActivity
package com.example.udpclient;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Button button1;
Button button1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button)findViewById(R.id.button1);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button)findViewById(R.id.button1);
}
public void onClick(View v) throws IOException {
switch (v.getId()){
case R.id.button1:
DatagramSocket ds = new DatagramSocket();
String msg = "hellow";
InetAddress ia = InetAddress.getByName("220.116.141.246");
DatagramPacket dp = new DatagramPacket(
msg.getBytes(), msg.getBytes().length, ia, 4444);
ds.send(dp);
break;
}
}
}
--------------------------------------------------------------------------------------
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button" />
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button" />
</LinearLayout>
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
스레드를만들어서 해도....... 화면에 손 닿으면 정지 되네요 ㅠ_ㅠ
에러로그를 보아하니 네트워크관련 작업을 메인스레드에서 돌리셨네여
허니콤 이후부터는 별도의 스레드에서 작업하지않으면 에러납니다