안드로이드 개발 질문/답변
(글 수 45,052)
for (String provider : providers) {
dumpProvider(provider);
}
이게 뭐하란건가요......안에 String provider : providers 이게 뭔지모르겟어요 ㅜㅜ
또 질문할건요
예제인데요
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mgr = (LocationManager) getSystemService(LOCATION_SERVICE);
output = (TextView) findViewById(R.id.output);
log("Location providers:");
dumpProviders();
Criteria criteria = new Criteria();
best = mgr.getBestProvider(criteria, true);
log("\nBest provider is: " + best);
mgr.requestLocationUpdates(this.mgr.GPS_PROVIDER, 0, 0, this);
log("\nLocations (starting with last known):");
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Location location = mgr.getLastKnownLocation(best); => 요부분
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dumpLocation(location);
}
저기 location에 맨날 null 값이 들어갑니다 ㅠㅠ 도와주세요!!
2009.12.23 11:37:58
for (String provider : providers) {
dumpProvider(provider);
}
이거는 등록된 provider을 처음부터 for 문을 돌면서 차래차래 사용하는 것으로 알고있습니다.
2009.12.23 11:39:54
그리고 두번째꺼는 GPS 테스트 하시는거 같은데.. ㅎㅎㅎ 애뮬에서 테스트 하시면 셋팅하기 전까지는 무조건 null이 들어 갈껍니다.
단말에서 테스트 해도 셋팅을 해줘야 하는 부분이 있는것으로 알고있어서.. ㅎㅎㅎㅎㅎㅎ
방법에 대해서는 찾아 보시면 금방 나올껍니다. 그럼 수고하시고.. 힘내세요~~~
2009.12.23 22:22:17
저건 자바만의 독특한 for-each loop라는 문법입니다. 링크 참고해보세요~ http://leepoint.net/notes-java/flow/loops/foreach.html
2009.12.24 09:10:30
참고로, 자바의 Iteratable, Iterator Interface를 구현한 클래스는 저 for-each loop가 가능합니다.
대표적인 클래스로는 Collection객체들이 있겠죠..
밑의 두 코드는 같은 결과를 나타냅니다.
인터페이스에 맞춰서 프로그래밍하면 확장이 쉬워집니다.
하지만 모바일에선 기존의 for(int i=0; i<size; i++) 문보다는 퍼포먼스가 좋지 않습니다.
대표적인 클래스로는 Collection객체들이 있겠죠..
밑의 두 코드는 같은 결과를 나타냅니다.
List<String> lst = new ArrayList<String>(); lst.add("한"); lst.add("글"); lst.add("을"); lst.add("사"); lst.add("랑"); lst.add("합"); lst.add("시"); lst.add("다"); Iterator<String> iter = lst.iterator(); while(iter.hasNext()) { String str = iter.next(); System.out.println(str); }
List<String> lst = new ArrayList<String>(); lst.add("한"); lst.add("글"); lst.add("을"); lst.add("사"); lst.add("랑"); lst.add("합"); lst.add("시"); lst.add("다"); for(String str: lst) { System.out.println(str); }
인터페이스에 맞춰서 프로그래밍하면 확장이 쉬워집니다.
하지만 모바일에선 기존의 for(int i=0; i<size; i++) 문보다는 퍼포먼스가 좋지 않습니다.