본문 바로가기

태그를 입력해 주세요.

[Apache] Http 관련 라이브러리 사용시 주의사항!! Httpmime 라이브러리나 Apache 라이브러리를 사용할 때, Dependency 하는 라이브러리 들이 있습니다. 해당 라이브러리를 추가하지 않으면 실행 중 갑자기 클래스가 존재 하지 않다거나 어떻게 할 수 없는 오류가 발생 한다. 특히 아래와 같은... NoClassDefFoundError: Failed resolution of: Lorg/apache/http/xxx 아래 화면에서 빨간 네모 부분만 보아라. ## httpmime-4.3.5http://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime/4.3.5 ## httpclient-4.3.5http://mvnrepository.com/artifact/org.apache.httpcompo.. 더보기
[Android] LayoutInflater 사용시 주의점 혹시 아래와 같이 소스를 사용하시는 분! LayoutInflater layoutInflator = LayoutInflater.from(getContext()); 특히, getview 안이나 자주 호출되는 함수, 반복문에 사용할때 아래 글을 읽어주세요. 위와 같이 사용하면 아래와 같은 warning과 함께 버벅 대기 시작합니다. Skipped xx frames! The application may be doing too much work on its main thread. 이럴 경우 LayoutInflater를 호출 할때 아래와 같이 이용하세요.LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER.. 더보기
[Android] OnGlobalLayoutListener: deprecation and compatibility @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public static void removeOnGlobalLayoutListener(View v, ViewTreeObserver.OnGlobalLayoutListener listener){ if (Build.VERSION.SDK_INT 더보기
[Android] 특정 Layout 위치에 Fragment를 변환 대부분 아는 내용이라 생각되지만, Fragment를 활용하는 개념을 이해하는데 좋을 듯 하여 이렇게 글을 남깁니다. 테스트는 위 그림과 같이 버튼을 누른 이벤트 따라 Layout 영역이 변경되는 것을 확인 하는 아주 간단한 예제 입니다. ## MainActivity public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn_fr.. 더보기
[Android] Intent Flag 정리 Activity 생성시 Intent Flag 사용방법은 다들 알고 있겠지만 다음과 같음intent.addFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 1. FLAG_ACTIVITY_BROUGHT_TO_FRONT 시스템에서 설정하는 값이며, 같은 task에 Activity가 존재할 경우에 Activity의 실행모드가 singleTask이면 자동으로 설정됨 2. FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 테스크가 리셋될 때 플래그가 사용된 액티비티부터 위의 액티비티가 모두 삭제됩니다. 예) ABCD -> B call - > AB FLAG_ACTIVITY_RESET_TASK_IF_NEEDED플래그의 설정에 의해 리셋이 이루어지게 됩니다. 시스템에 의해 홈.. 더보기
[Android] ScrollView 안에 GridView나 ListView가 있을 경우. ScrollView 안에 GridView나 ListView를 넣게 되면, GridView나 ListView가 풀 사이즈로 보이지 않습니다. ListView는 위 방법을 HeaderView나 FooterView로 넣는 방법으로 해결이 가능하지만,GrdiView는 HeaderView나 FooterView가 없기 때문에 고민을 해야 햇죠. 이때.. 역시 구글 검신님이 알려주셨습니다.GridView를 확장하게 하는 방법을!! Layout 소스 ExpandableHeightGridView 소스 package xx.xxx.xx.view; import android.content.Context;import android.util.AttributeSet;import android.view.ViewGroup;import.. 더보기
[Android] Fragment 사용시 주의점. Framgment를 사용할 때, Refresh 시점이나 생성 시점에 고심해야 한다. Activity의 OnResume이나 OnPause 시점에 생성 및 갱신을 할 시 LifeCycle에서 꼬일 가능성 이 있다!!! 참고: http://regularmotion.kr/fragment-transactions-and-activity-state-loss/ 따라서, Fragment를 사용하는 Activity나 FragmentActivity를 사용할 시 OnResume을 사용 하지 않는 편이 좋다. 이건 꼭 해야 하는건 아니지만, 추후 소스 수정을 막기 위해선 알아두는 편이 좋을 듯 합니다. 더보기
꼭!!! 다이얼로그를 onDestroy에서 dismiss 시키는 버릇을 만들자~ 제목 대로 안드로이드에서 다이얼로그를 만든 후, dismiss를 시키지 않고 Activity를 종료한 후,WindowManager를 이용하여 addView를 추가 시키고자 할때 아래와 같은 에러 메세지를 보이게 된다. 참고:http://www.jjoe64.com/2011/06/how-to-fix-windowmanager.html E/WindowManager( 1374): Activity com.jjoe64.example.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@405446f8 that was originally added hereE/WindowManager( 1374): android.view.. 더보기