본문 바로가기

[안드로이드] 특정 Activity에서 다른 Activity의 ListView새로고침하기 1.새로고침하고자 하는 Activity의 Context를 전역변수로 만들어 준다. public static Context CONTEXT; 2.onCreate 부분에서 Context의 값을 지정해준다. CONTEXT = this; 3.다른 Activity에서 위의 Context의 onResume() 메서드를 호출한다 ((ListActivity)ListActivity.CONTEXT).onResume(); ※ 해당 내용은 onResume() 메서드를 통해 새로고침한다는 가정하에 작성한 내용. onResume() 메서드에 새로고침에 관한 내용이 있어야 한다. @Override public void onResume() { super.onResume(); ListView.notifyDataSetChanged(); } 더보기
[안드로이드] 스크롤뷰 스크롤 끝까지 내리기 이런식으로 써줘야 동적으로 뷰를 추가한 레이아웃에도 스크롤이 끝까지 내려간다. scrollViewName.fullScroll(ScrollView.FOCUS_DOWN); 이부분 한줄만 사용한다면 뷰가 추가되기 전의 영역까지만 스크롤이 내려간다. 그렇기 때문에 동적으로 스크롤의 끝이 변할때는 아래와 같이 사용해줘야 한다. public void scrollDown(){ scrollViewName.post(new Runnable() { @Override public void run() { scrollViewName.fullScroll(ScrollView.FOCUS_DOWN); } }); } 더보기
[안드로이드] EditText 자동 포커스, 키보드 자동실행 막는법, 키보드 실행시 화면 사이즈 재설정 레이아웃에 EditText가 있으면 자동 포커스, 키보드 자동실행이 된다. 또한 아래에서 키보드가 올라오면 레이아웃의 화면을 가리기때문에 키보드가 올라온 만큼 화면의 사이즈를 다시 설정해줄 필요가 있다. 1. EditText 자동 포커스 막기 view, Layout.xml쪽에 다음 속성을 추가한다. android:focusable="true" android:focusableInTouchMode="true" 2.EditText의 키보드 자동실행 막기 AndroidManifest.xml의 해당 레이아웃에 다음 속성을 추가한다. android:windowSoftInputMode="stateAlwaysHidden" 3.EditText의 키보드 실행시 화면 레이아웃 사이즈 재설정 AndroidManifest.xm.. 더보기
[안드로이드] Back(뒤로가기) 버튼 2번 터치시 앱 종료하기 Back 버튼은 컨트롤 하는 메소드는 바로 onBackPressed()이다. 전역변수로 시간에 관한 변수들을 설정해 놓는다. private final long FINISH_INTERVAL_TIME = 2000; private long backPressedTime = 0; 그런 후 onBackPressed 메소드를 다음과 같이 하면 된다. - super.onBackPressed() 메소드의 끝은 finish()가 있다 -> 레이아웃 종료메소드 @Override public void onBackPressed() { long tempTime = System.currentTimeMillis(); long intervalTime = tempTime - backPressedTime; if (0 = intervalT.. 더보기
[안드로이드] DrawLayout을 이용하여 멀티윈도우 생성 예제 위의 그림과 같이 네비 버튼을 눌렀을 때 왼쪽에서 오른쪽으로 튀어나오는 레이아웃을 생성하는 예제이다. ※ 소스코드 부분 DrawerLayout drawerLayout; View drawerView; ImageButton btn_actionBar @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout); drawerView = (View)findViewById(R.id.drawer); btn_actionBar.. 더보기
[안드로이드] dp -> px / px -> dp로 변환하기 ※ 소스코드 내에서 dp 에서 px로 바꾸거나 px 에서 dp 로 바꿀때 //px -> dp public int fn_pxToDp(Context context, int px){ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); return dp; } //dp->px public int fn_dpToPx(Context context, int dp) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetric.. 더보기
[안드로이드] dp, dip, sp, px의 차이 ※ 웹만 해보다가 안드로이드 퍼블을 맨처음 했을 때 위젯들의 크기를 px로 지정했다. 하지만 이런식으로 지정을하면 해상도가 다양한 핸드폰 화면에서는 내가 원하는 크기와 위치로 지정되지가 않는다. 그렇기 때문에 안드로이드 퍼블을 처음 하는 사람이라면 아래의 단위에 대해 알아야 한다. dp와 dip (Density Independent Pixel) 안드로이드 폰의 다양한 해상도를 지원하기 위해 만든 단위이다. 큰화면이든 작은 화면이든 같은 크기로 나타나게 되어있다. sp (Scale Independent Pixel) dp와 비슷하지만 추가적으로 사용자가 선택한 글꼴 크기에 의해 크기가 자동으로 조절된다. ※ 요약 레이아웃 등의 UI적 요소 : dp(dip) 사용 글자 크기 : sp 사용 되도록이면 px는 사.. 더보기
[안드로이드] 레이아웃 중첩, 겹치기 삭제 ※ 아래 글에서 레이아웃을 중첩시켰으면 언젠간 중첩시킨것도 없애야 한다. 중첩된 레이아웃을 지우는 방법은 아래와 같다. (전) (후) LinearLayout ll = (LinearLayout)findViewById(R.id.삭제할_레이아웃_아이디); ((ViewManager) ll.getParent()).removeView(ll); 더보기
[안드로이드] 레이아웃 중첩, 겹치기 ※ 안드로이드 개발을 하다보면 alert dialog는 아닌데 지금 있는 레이아웃 위에 alert dialog처럼 보여줘야 할때가 있다. (dialog는 커스터마이징 해도 테두리를 없앨수가 없다. 그렇기 때문에 레이아웃을 겹쳐 만들었다.) 아래에 빨간 원안의+ 버튼을 누르면 버튼 3개가 보이면서 투명도를 준 레이아웃이 겹치게 해주었다. (전) (후) activity_write_type.xml (위에 겹칠 레이아웃) ListActivity.java protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //밑에 깔 레이아웃을 설정해주고 setContentView(R.layout.activity_list).. 더보기
[안드로이드] dp, dip, sp, px의 차이 ※ 웹만 해보다가 안드로이드 퍼블을 맨처음 했을 때 위젯들의 크기를 px로 지정했다. 하지만 이런식으로 지정을하면 해상도가 다양한 핸드폰 화면에서는 내가 원하는 크기와 위치로 지정되지가 않는다. 그렇기 때문에 안드로이드 퍼블을 처음 하는 사람이라면 아래의 단위에 대해 알아야 한다. dp와 dip (Density Independent Pixel) 안드로이드 폰의 다양한 해상도를 지원하기 위해 만든 단위이다. 큰화면이든 작은 화면이든 같은 크기로 나타나게 되어있다. sp (Scale Independent Pixel) dp와 비슷하지만 추가적으로 사용자가 선택한 글꼴 크기에 의해 크기가 자동으로 조절된다. ※ 요약 레이아웃 등의 UI적 요소 : dp(dip) 사용 글자 크기 : sp 사용 되도록이면 px는 사.. 더보기
좋은코드 작성법 ※ 다른사람의 코드를 보다보면 물흐르듯 쉽게 읽히는 코드가 있고 그렇지 않은 코드가 있다. 이런걸 직접느껴보니 코딩을 어떻게 하느냐가 정말 중요하다고 생각하던 찰나에 서점을 돌다 우연히 발견한 이책 박진수 저자의 좋은 코딩 나쁜 코딩 2판이다. 책을 보면서 알았지만 평소 신경쓰지 못했던 부분들을 다시한번 생각나게 해주었고 새로운 정보도 얻을 수 있어 나름 유용했던것 같다. 개발자라면 누구나 한번쯤은 읽어봐도 손해는 안볼 책인것 같다. ** 아래 내용은 책을보며 내게 필요한 부분을 따로 요약한 내용이다. 1.코딩을 시작하기 전에... - RAF 전략을 피하라!! RAF 전략이란 Run And Fix의 약어로 일단 실행해보고 고치는 방식이다. 이러한 방식은 에러잡기도 쉽지않으며 소스를 수정하게 되면 또 다른.. 더보기
개발자가 갖추어야할 9가지 기술 해당 개발자가 게임 개발자 이므로 게임쪽으로 초점이 맞춰저 있을 수 있음. Hard Skils Basic Knowledge (언어, OS) Understanding for product (제품에 대한 이해) Development Cycle (개발 사이클) 1~5 years of development (초급개발자) - Associate Software Engineer - Software Engineer 혼자 스스로 공부하는 것 ※ Basic Knowledge - 수학, 물리 - 프로그래밍 언어 - 알고리즘, 자료구조, 디자인 패턴 - 데이터 베이스, 네트워크 - OS - Tools (Visual Studio 등등) - 최신기술 ※ Understanding for product 상품에 대한 이해 개발자들이 .. 더보기