Android/기본스킬 | Posted by 덩치 2013. 12. 31. 10:33

자바/안드로이드 HashMap 사용법

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

HashMap은 Map인터페이스의 한 종류로, key와 value 한 쌍을 데이터로 가진다.

쉽게 이해하려면 리스트 형태에 값을 키와 벨류로 가지고 있다고 생각하면 된다.

리스트와의 큰 차이점은 위에처럼 키값을 가진다는것이고, 또 순서를 보장하지 않는다는점이다.

순서대로 입,출력이 되고 순서에 의해 자료를 처리하는 작업에는 알맞지 않다.

입력된 key값을 이용해 value를 구하며(리스트에서 인덱스를 이용해 벨류를 구하는 이치)

key값은 중복되지 않으며 value는 중복 가능하다.


즉, key값으로 1을 5번 입력한다면 맨 처음의 key,value만 입력되고 나머지는 입력되지 않아

이 특성을 잘 이용하면 중복검사를 매우 편하게 할 수 있다.


HashMap의 기본적인 사용법을 알아보겠다.


HashMap<Integer, String> map = new HashMap<Integer, String>();


입력 -

map.put(1, "치킨");

map.put(2, "피자");

map.put(3, "탕수육");


출력 -

Iterator<Integer> iter = map.keySet().iterator();

while(iter.hasNext()) {

int key = iter.next();

String value = map.get(key);

Log.d("fureun", "key : " + key + ", value : " + value);

}

이렇게 하면 모든 키와 벨류 쌍이 다 출력된다.


다른 사용법으로는 map.get(1);을 하면 키 1에 대응하는 value "치킨"이 반환된다.


if(map.containsKey(1)) {


}

이렇게 하면 키값 1이 존재할 경우 true가 반환된다.


이외에도 활용법은 엄청 많으니, 공부를 통해 자신이 원하는 형태로 사용 할 수 있도록 노력하자.


펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

프로젝트 우클릭 > Properties > Android를 눌렀을때 해당 에러가 발생했다.


해결법 - 

1. 프로젝트 내에 project.properties 파일이 누락되지 않았는지 확인한다.

   누락되었다면 다른 프로젝트의 파일을 복사하여 붙여넣는다.

   누락되지 않았다면 오,탈자 또는 잘못된 구문이 있지 않는지 확인한다.

2. 프로젝트의 Build Path에 들어가서 Libraries에 Unable to get system library for the project 라는 항목을 제거한다.

3. Properties > Android로 들어가서 적당한 빌드타겟을 설정한다.



'Programing Tools > Eclipse' 카테고리의 다른 글

이클립스 소스코드 정렬 단축키  (0) 2014.05.30
자주 사용하는 이클립스 단축키  (0) 2014.04.15
Android/기본스킬 | Posted by 덩치 2013. 12. 30. 10:54

토스트(Toast) 메시지 띄우는법

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

토스트메시지



이미지에 보이는 "토스트메시지입니다." 라는 문구가 적힌 저 네모난 박스가 토스트메시지이다.


주로 사용자에게 정보를 알려주는 용도로 사용되며, 잠시 나타났다 사라지기 때문에


직접적인 입력을 받지 않았을때 띄워주면 사용자가 보지 못할 가능성이 있어 


상황에 맞게 잘 사용하여야한다.


소스코드는 단 한줄로 매우 간단하다.


구성은 Toast.makeText (Context context, CharSequence text, int duration).show();


예제는 Toast.makeText(getApplicationContext(), "토스트메시지입니다.", int duration).show();

int duration에는 Toast.LENGTH_SHORT와 Toast.LENGTH_LONG가 있으며

SHORT는 2초, LONG는 4초간 출력한다.

직접 int값을 넣을 경우 밀리세컨드로 적용된다. (1000= 1초)