이 블로그 검색

2011년 9월 30일 금요일

좋은 코딩 습관

1. 변수, 메서드의 첫째 문자는 소문자로 쓰고, 클래쓰 명은 대문자로 시작한다.

2. Naming 에 신경 쓴다. 너무 길게도 적게도 쓰지 않는다.

3. warning 을 다 잡는다.

이클립스 꼭 사용해야 할 단축키

1. CTRL+SHIFT+G  --> 레퍼런스 :  지정한 변수나 메서드가 사용되는 부분을 전 영역에서 찾는다.

2. ALT+SHIFT+R ---> 리펙터 : 변수나 메서드, 클래쓰 등의 이름을 변경할 때 사용된 모든 영역에서 바꿔준다.

3. ALT+SHIFT+O  --> 임포트 정리

4. CTRL + D --> 한줄 지우기 (매우 간편함) , 영역 지정후 하면 영역 지우기.

5. 영역 지정후 CTRL+SHIFT+F -->  지정한 포맷으로 코드 정리.

6. CTRL + I  -->  자동 들여쓰기.

7. SHIFT + ALT + S, --> R : Getter, Setter 자동 생성

8. CTRL+SHIFT + SPACE : 메소드 파라메터 힌트

9. CTRL + Q : 마지막 편집 위치로 이동

10. CTRL + J: 입력하면서 Search

11. try, for 입력후 Ctrl+ Space : 자동완성

12. CTRL + 1 : Quick Fix (구현하지 않은 메소드 추가, 행 둘러싸기(if, while, for, switch), 로컬 변수 이름 바꾸기)

13. F2 --> 에러 원인에 대한 힌트. 에러난 줄에 F2입력

14 CTRL + T : 하이어라키 팝업(인터페이스 간, 상속 간 클래스 이동)

15. CTRL + O : 현재 편집 화면의 메소드나 필드로 이동

16. CTRL +ALT + 상하 키 : 한 줄을 통째로 복사

17. CTRL + 좌우 키 : 대문자, 공백, 기호 등이 나오는 곳으로 커서 이동

18. CTRL + 상하 키: 마우스 스크롤 효과

19. CTRL + 마우스 스크롤 : 상하로 페이지 단위로 크게크게 움직임

20. CTRL+SHIFT+E : 열려있는 탭을 리스트로 보여 줌, 선택 후 이동 및 창 닫기 가능

21. CTRL + F6 : 열려있는 파일(탭) 들을 이동.  F6누르면 위에서 아래로, CTRL+SHIFT+F6 누르면 아래에서 위로

22. CTRL+ F7 : 뷰간 전환

23. CTRL + F8: 퍼스펙티브간 전환

24. CTRL + SHIFT + R : 리소스 찾기(키워드로 리소스 파일(이미지, 스트링, xml 등)들을 찾을 수 있다.)

25. CTRL + SHIFT + 상,하 키 : 메서드 단위로 이동

26. F12 : 에디터로 포커스 이동

2011년 9월 10일 토요일

DB.rawQuery 와 DB.execSQL - select 문과 insert, update 문의 실행

1. db.rawQuery(SQL쿼리)  - select 문과 같이 결과값을 얻는 경우

Ex)
Cursor cur = db.rawQuery("select * from Table1",null)

2. db.execSQL(SQL쿼리) -insert, upadate 와 같이 결과 값이 없는 경우

Ex)
db.execSQL(updatae table1 set selFlag = "true"

단순한 것 같지만..
이것도 모르면 엄청 헤멘다...

2011년 9월 9일 금요일

OnItemClick 에 체크 박스(CheckBox) 연동

우선 체크박스에, focusable, clickable을 모두 false 로 설정한다.
setXXX() 메서드를 사용해도 되고, 직접 xml에서 설정해도 된다.

예)
   vCheckBox.setFocusable(false);
   vCheckBox.setClickable(false);

그 후, 리스트 뷰의 onItemClick 메서드 안에

vCheckBox = (CheckBox)(this.getChildAt(position).findViewById(R.id.del_check));
넣는다. (현재의 리스트 뷰 위 이므로 this를 썼다. 만약 곳이라면 list.getChildAT ~~ 쓰면 된다.)

 
 public void onItemClick(AdapterView<?> adaptView, View view, int position,long id)
 {
  boolean checkTemp;
  WishListDBHelper helper = new WishListDBHelper(this.getContext(), "WishListDB" , 1);
  db = helper.getWritableDatabase();
  
  vCheckBox = (CheckBox)(this.getChildAt(position).findViewById(R.id.del_check));

  ................
  ...............
}

2011년 9월 5일 월요일

안드로이드 Resource entry XXXX is already defined.

특히 xxx에 이미지 파일이름이 들어갈 경우, 그 이미지 파일이 중복해서 들어 있는 지를 파악한다.
res/drawable 폴더나 res/drawable-hdpi 등에 중복해서 있는 경우, 혹은 나인패치 이미지 파일(XXXX.png 파일과 XXXX.9.png 파일 은 같은 파일로 인식한다.)이 중복되어 있는지 파악한다.

중복되어 있으면 삭제한다.