안드로이드 개발 질문/답변
(글 수 45,052)
전역변수 부분에
private static final String SIGNAL_GETWATTAGE = "0";
public static String getWattage()
{
try
{
return RequestSender.sendRequest(SIGNAL_GETWATTAGE);
}
catch(Exception e)
{
return null;
}
}
이런식으로 선언해놓구요....
getWattage()가 5이상이면 노티 알람 하려그러는데...
if(Float.parseFloat(TcpClient.getWattage())>5){
notiManager=(NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
}
이런식으로요....
형변환이 안되더라구요... integer나 float ,double 도요..
아예 오류나버리던데 왜 그런건지 알 수가 없어서요......
고수님들의 답변 부탁드립니다....
2012.05.16 14:17:09
리턴된값이 정수형이면
if(Integer.parseInt(TcpClient.getWattage())>5) { .. 이런식으로 바꾸면 되지 않나요?
그리고 TcpClient.getWattage()에서 정수형이 아닌 다른값을 리턴할 가능성이 있으면 예외처리도 해주는게 좋겟네요.
2012.05.16 15:22:32
unable to parse 'null' as integer 라고 나오네요.. null을 integer로 형변환 할 수 없단얘긴데 TcpClient.getWattage()의 리턴값이 null인가보네요 다시한번 확인해보세요
2012.05.16 15:53:01
네.. 정수형만 Integer.parseInt로 형변환해서 사용할수 있구요,. 소스보면 getWattage()에서 catch문에 걸려 null이 리턴되는건지 RequestSender.sendRequest에서 null리턴되는건지는 모르겠는데 sendRequest에서 문제되는게 없나 확인해 보세요.
그리고
String response = TcpClient.getWattage();
if (response == null) {
response = "0";
}
if (Integer.parseInt(response) > 5) {
...
}
이런식으로 예외처리도 해주시구요.




TcpClient.getWattage() 로그로 찍어보세요 어떤값이 리턴되는지.