
오류는 다음과 같고.. 앱을 실행하고나서 텍스트뷰를 불러오고 난 뒤 검정색화면으로 되면서 이런오류가 떳습니다.
어떤 오류인지는 잘 모르겠네요.. 이렇게만 쓰고 알려달라는건 염치 없는건 알고 있지만 이렇게 뿐 못쓰는점 양해부탁드립니다..고수님들의 조언 좀 주시면 감사하겠습니다.
-----activity부분-----
public class Layout extends Activity {
Vector<String> latdata = new Vector<String>();
Vector<String> londata = new Vector<String>();
public static TextView gps=null;
public static TextView gps1=null;
public static Button Map=null;
UDP UDPdata = new UDP();//UDP의 데이터들을 뽑아 오는 클래스 선언
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xmlcourseinfo);
gps = (TextView) findViewById(R.id.gpsdata);
gps1 = (TextView) findViewById(R.id.gpsdataa);
while(true){
try {
Thread.sleep(1000); //1.0초마다 실행
if(UDPdata.flag == true){
latdata = UDPdata.lat;
londata = UDPdata.lon;
/* if(course.flag1 ==true)
Contentsvec = course.Contentsvec;*/
gps.setText(latdata.firstElement());
System.out.println(latdata.firstElement());
gps1.setText(londata.firstElement());
System.out.println(londata.firstElement());
break; //반복문 종료
}
} catch (Exception e) {
}
}//while-------
}
}
-----------Multicast부분-----------------------------------------
@TargetApi(Build.VERSION_CODES.KITKAT)
public class UDP extends Activity {
Vector<String> lat = new Vector<String>();
Vector<String> lon = new Vector<String>();
public static TextView gps=null;
public static TextView gps1=null;
String stateInfo="", stateInfo1=""; //JSON에서 읽어드려서 저장할 변수
boolean flag=false; //제대로 데이터가 읽어졌는지를 판단해주는 변수
public void main(final String[] args) throws IOException {
MulticastSocket socket = new MulticastSocket(1235);
InetAddress address= InetAddress.getByName("230.0.0.1");
//서버아이피가 아니라 서버가 데이터를 내려주는 아이피로서 이 아이피에 접속하여 데이터를 가져감
socket.joinGroup(address);
DatagramPacket packet = null;
for(int i=0; i<3;i++){
byte[] buffer = new byte[200];
packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet); //packet 데이터를 받는 부분
System.out.println(packet);
DatagramPacket JsonData1 = packet; // JsonData1 에 packet 데이터 저장
try {
JSONArray jsonArray = new JSONArray(JsonData1);
for(int r = 0 ; r<jsonArray.length() ; r++){
JSONObject json = jsonArray.getJSONObject(r);
stateInfo+="latitude: "+json.getString("latitude")+"\n"; //위도 값 파싱
stateInfo1+="Longitude: "+json.getString("longitude")+"\n"; // 경도 값 파싱
lat.add(stateInfo);
lon.add(stateInfo1);
System.out.println(stateInfo);
System.out.println(stateInfo1);
}
// flag=true; //true : 모든 데이터가 저장되었다면.지정된 파일을 읽고 필요한 데이터를 추출해서 저장 완료된 상태
} catch (Exception e) {
}
}
socket.leaveGroup(address);
socket.close();
}
}