마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 생초보 if문좀 질문하겠습니다.

0 추천
 
 
public void getWIFIScanResult(){
 
 
        mScanResult = wifimanager.getScanResults();
 
 
        textStatus.setText("Scan count is \t" + ++scanCount + " times \n");
 
 
        textStatus.appent("============================\n");
 
 
        for(int i = 0; i < mScanResult.size(); i++) {
 
 
          ScanResult result = mScanResult.get(i);
 
 
     
 
 
        textStatus.append((i + 1) + ", SSID : " + result.SSID.toString()
 
 
             + "\t\t RSSI : " + result.level + " dBm\n");
 
 
      }
    textStatus.appent("===============================\n");
 
 
  }
 
 
위에 보시는것 처럼 wifi 신호를 받아와서 세기를 출력해주는 코드입니다
만들려고 하는게
ssid는 하나의 공유기로 정해서 다른 값들은 무시하고  제가 지정한 공유기 값만 나왔으면 합니다
그리고 세기의 범위를 정해서 예를 들면
-40~-60dBm은 1미터
-61~-80dBm은 2미터 
이런식으로 신호의 세기에 따라서 ap와의 거리를 나타내는 어플을 만들려고 합니다
level 이  rssi 신호 값입니다. level 값을 어떻게 if문이거나 다른 방법이던 
범위를 정해서 내가원하는 문구를 출력하는 코드를 만들려고 하는데 초보라 잘 모르겠습니다
조언 부탁드립니다.
카릴리 (470 포인트) 님이 2015년 5월 5일 질문

1개의 답변

+1 추천
 
채택된 답변

String ssid = "작성자가 보여주고 싶은 공유기의 SSID";

for(int i = 0; i < mScanResult.size(); i++) {
 
    ScanResult result = mScanResult.get(i);
    if (ssid.equals(result.SSID.toString()) {
       String level = "";
       if (result.level <= -40 && result.level >= -60) {
          level = "1미터";
       } else if (result.level < -60 && result.level >= -80) {
          level = "1미터";
       } else .....
          //조건은 작성자가 추가하고 싶은대로 계속 추가
       }

       textStatus.append((i + 1) + ", SSID : " + result.SSID.toString() + "\t\t RSSI : " + level + " dBm\n");
    }
}

 

Gradler (109,780 포인트) 님이 2015년 5월 6일 답변
카릴리님이 2015년 5월 18일 채택됨
감사합니다. 혼자 공부하기 힘들었는데 이런 사이트가 있다는걸
이제라도 알아서 다행이네요 ㅎ
...