본문

160330A(수)

코드리뷰


1. ButterKnife bind 해제

public class FancyFragment extends Fragment { @Bind(R.id.button1) Button button1; @Bind(R.id.button2) Button button2; @Unbinder ButterKnife.Unbinder unbinder; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fancy_fragment, container, false); ButterKnife.bind(this, view); // TODO Use fields... return view; } @Override public void onDestroyView() { super.onDestroyView(); unbinder.unbind(); } }


http://jakewharton.github.io/butterknife/

2. Fresco

init를 Application에서 해보자


Application 클래스

컴포넌트들 사이에서 공동으로 멤버들을 사용할 수 있게 해주는 공유 클래스


1) Application class를 상속받는 class를 생성

2) AndroidManifest.xml에 App class name 추가

3) 어플 내의 컴포넌트들 사이에서 context를 이용한 접근 가능(Data 공유)


package arabiannight.tistory.com.applicationclass;
 
import android.app.Application;
import android.content.res.Configuration;
 
public class ApplicationClass extends Application {
     
    public int jumsu = 100;
 
    /** onCreate()
     * 액티비티, 리시버, 서비스가 생성되기전 어플리케이션이 시작 중일때
     * Application onCreate() 메서드가 만들어 진다고 나와 있습니다.
     * by. Developer 사이트
     */
    @Override
    public void onCreate() {
        super.onCreate();
    }
 
    /**
     * onConfigurationChanged()
     * 컴포넌트가 실행되는 동안 단말의 화면이 바뀌면 시스템이 실행 한다.
     */
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }
 
}





3. findFirstVisibleItemPosition() VS findFirstCompletlyVisibleItemPosition

별다른 차이 없고 그냥 레이아웃이 완성되었을때 가져오냐 아니냐 차이


4. new PostItems ~ 같이, 가급적이면 계속 새로운 객체를 만드는것은 지양하자


5. 불필요한 종속관계는 만들지말고, 같은 성격의 메소드를 만들자


6. 스캔을 굳이 할 필요는 없으며, 나오지않는 미디어는 우리잘못이 아니다.

또한 onCreate()에서 오래걸리는 작업은 지양한다.

onResume으로 돌리던가 하라


7. 패키지명에는 언더바 같은거 가급적이면 쓰지 않는다.


8. Warnning은 반드시 전부 제거하라


9. if 문에는 가급적이면 else문으로 마무리하자. 헷갈릴수도 있음이다.


10. 커서로 모든 정보를 가져오기 보다는 그때그때 불러서 사용하는 것이 효과적일 것이다.

ex) Ratio


11. 목록 불러오기에서 쿼리를 목록 수만큼 limit해서 가져오는것이 낫겠다.


12. 생성자는 mAndroid, this.android 같이 선언하며, 그 프로젝트에서 쓰는 방법으로 통일 시킨다.


13. primitive에서는 @Nonnull이 먹히지 않는다. 


14. DetailItems에서 데이터바인딩까지 하다보니까 Model스럽지 않았다.


15. 파편화를 항상 조심하자

ex) Relative로 양쪽을 고정하고 가운데 네임과 날짜는 flexable하게 가져가는것이 좋겠다.

'Mobile > Android' 카테고리의 다른 글

160404A(월)  (0) 2016.04.04
160331A(목)  (0) 2016.03.31
160329A(화)  (0) 2016.03.29
160326P(토)  (0) 2016.03.26
160321A(월)  (0) 2016.03.21

공유

댓글