2011-09-16 2 views
0

Java 안드로이드에서 int 유형을 찾을 수 없다는 것을 알아야합니다. Iphone 용으로 처음 작성된 안드로이드 응용 프로그램을 작성 중이며 조금 문제가 있습니다. 어떤 점에서 나는 메서드를 반환하는 int 타입이 발견되지 않았는지, 그리고 그것이 사실인지 어떤 계산을하는지 확인해야합니다.NSNotFound Java에서

private static int localUserIdByServerUserId(int serverUserId, String serverName){ 

    dbHelper = new DataBaseHelper(context, "stampii_sys_tpl.sqlite", null, 1); 
    dbHelper.getDatabase(); 

    String query = "SELECT id FROM users WHERE objectId = "+serverUserId+" AND serverName = '"+serverName+"' LIMIT 1"; 
    ArrayList<String> result = new ArrayList<String>(); 
    cursor = dbHelper.executeSQLQuery(query); 
    cursor.moveToFirst(); 
    while(!cursor.isAfterLast()) { 
     result.add(cursor.getString(cursor.getColumnIndex("id"))); 
     cursor.moveToNext(); 
    } 

    Log.i("result ","Result : "+result.toString()); 
    Log.i("CURSOR ","Cursor Position : "+cursor.getPosition()); 
    int uuid = Integer.parseInt(result.get(cursor.getColumnIndex("objectId")+1)); 
    Log.w("localUSerByIdServerUserId","LocalUserByIdServerUserId result : "+uuid); 
    cursor.close(); 
    return uuid; 

하고 여기에 어떻게 그것을 사용하고 있습니다 문제는 내가 자바 if(Id==0)대로 나에게 이드이 내 방법입니다 0

경우에도 예외를 던지고 있다고했을 때이다 :

int uuId = rpc.lUserIdByServerUserId(userId,newServerName); 
     Log.w("uuId","uuId : "+uuId); 
     if(uuId==0){ 
      // do some calculations 
     } 

의견이 있으십니까?

+1

예외의 스택 추적을 게시 할 수 있습니까? – theisenp

답변

2

lUserIdByServerUserId() 사용자를 찾을 수 없을 때 예외가 발생할 수 있습니다.

try { 
    int uuId = rpc.lUserIdByServerUserId(userId,newServerName); 
    Log.w("uuId","uuId : "+uuId); 
} 
catch (NotFoundException nfe) { 
    // do some calculations 
} 

당신은 예외를 던져 lUserIdByServerUserId()을 수정해야합니다. 적절한 예외가 Java 라이브러리에 아직없는 경우 사용자 고유의 NotFoundException 클래스를 정의해야 할 수도 있습니다.

편집 : 는 다른 방법으로, @ mthpvg의 대답에서에 다음, 당신이 발견하고 테스트하지 않을 경우 null로 설정할 수있는 Integer 유형을 반환하는 lUserIdByServerUserId()을 변경할 수 있습니다.

Integer uuId = rpc.lUserIdByServerUserId(userId,newServerName); 
if (uuId == null) { 
    // Do some calculations 
}