일단 내가 각 프로젝트에 있던것을 Main Trunk에 Merge시켜놓았으니 참고하고, Data쪽은 전에 말했듯이 중요하기 때문에 내가 Refactoring을 일부 했는데 완전히는 안했으니 아래 정리한거 한번 참고해서 앞으로 작성하도록 하고..

ToDo
1. 일단 sdcard 각자 그림넣어서 사용하고 있을텐데. 그림들 한 100개정도 넣고 단말에서 확인한 sdcard 파일을 공유할수있게 작업해줘.  너무 큰 파일들 말고 (svn에 Files디렉토리에 업로드)  http://www.flickr.com/explore/interesting/7days/ 이런데서 사진 가져와서 넣도록하면 될것같음. 테스트환경부터 동일하게 갖추고 가는 것이 좋으니까.

더 자세한건 내일 이야기하자고.

------------------------------
공통

변수 Naming
 - Member 변수의 경우
 - ListView과 같이 mListView을 붙여준다.

DB사용시 ColumnName은 이제부터 각 Class에 정의된 상수 사용.
Tags.TAG;
Contents.URI


파르마콘.

1. ClassName에 _을 넣지 말것. Coding Convention에 어긋남.

Database 규철

1. API의 경우 Javadoc으로 Comment를 잘 다는 것도 중요. (아직은 그냥 넘어가더라도)
 - 소스에 DatabaseAdapter.java와 같은 커멘트는 별의미가 없고 Refactoring등에서 걸리적 거리니 안넣는 것이 좋음.
 - 마찬가지 이유로 Methods와 같은 것을 별도로 적어주는 것이 아니라. Methods별로 Javadoc에 따라서 Documentation을 해주는 것이 좋음.
 - Author는 Class별로 JavaDoc의 Author Tag로 넣는다. Author는 각 클래스에 의미있는 기여를 한사람만 추가한다.
 - 보통 아래정도만 알면 될것 같은데 어쨌든.

/**
 * Class DatabaseAdapter
 * This class works for low-level database query.
 *
 * @author: Kyu-Chul Cho
 * @see DbApis         <- 참고 클래스.
 */
Clas..

/**
* Description
*
* @param parameter description
* @exception
* @return String
*/
Methods..


2. Model쪽은 Class구성, Naming, Documentation이 다른 쪽에서 어떻게 하고 있는지 참고하는게 좋ㄱ.
 - 현재의 DatabaseAdapter, DbApis 에서 DatabaseAdapter, Contents, Tags, ContentsClumns, TagsColumns로 변경.
 - 현재 두개의 중요한 Table이 있는데각 Table별로 별도의 Class를 만들어서 분리.
 - Uris라는 Naming은 좀 속성을 제대로 표현하진 않으니 Contents라는 Naming으로 수정
 - 내가 대충 분리시켜놓긴했는데 Naming은 일일이 가다듬진 않으니 규철이 보고 처리하도록.


3. DB디자인
 - Tag와 Uri 테이블이 있는데
 - 현재 처럼 각 테이블에 String으로 Tag를 넣어버리면 Tag Table에서 특정 'Home' 이라는 Tag를 'House'라는 태그로 이름을 바꾸면 Uri라는 테이블로는 적용이 안되겠지?
 - TagTable { _id, tag } , UriTable {uri, tag_id} 이렇게 무슨 데이터 무결성이라고 하나 그런 측면에서 문제가 없어짐.
 - 실제 데이터를 넣어줄때는 SQL의 Join을 이용해서 합쳐서 리턴해주면되낟.

4. Database객체 생성
 - 일일이 사용하는 곳에서 생성하지 않고 어플리케이션 생성기간중에 하나의 객체만 생성해서 사용하도록 변경
 - org.contentbrowser.android.ContentBrowser클래스에서 초기화

5. Select에서 항상 _id도 같이 query한다.