▶Programming 썸네일형 리스트형 임베디드 임베디드는 안에 집어 넣고 보여준다(실행한다) 라고 생각하면 된다. 즉 누가 임베디드가 뭐냐라고 물어보면 '어느 장치(기계)에 무언가를 집어넣고 실행하는 것' 이라고 말하면 된다. 더보기 안드로이드 자바 vs 표준 자바 안드로이드 자바와 표준 자바의 차이점: 표준 자바는 VM이라는 버츄얼 머신을 사용하기 때문에 성능이 떨어짐. 저사양 단말(핸드폰, 각종 인베디드 할 장치 등)에서 취약함. 특히 그래픽 쪽의 성능이 매우 낮다. 그래서 안드로이드 자바는 표준 자바와 비슷하지만 화면을 구성해주는 API를 표준 자바 보다 더욱 크게 개선함. 더보기 어댑터(Adapter)에 대해서 가장 먼저 알아야 하는 내용은 아래 그림이다.위의 그림은 뷰의 계층 구조를 나타낸다. 여기서 우리들이 주로 쓰는 ListView나 GridView를 주목하자. ListView가 AdapterView를 상속하고 있다. 다시 말하자면 ListView는 껍데기고 실제는 AdapterView 라는 의미다. 위의 내용을 이해 못했으면 그냥 외우자. ListView는 껍데기고 실제는 AdapterView다. 이제 본론을 얘기해보자. 우리가 안드로이드 프로그래밍에서 사용하고 싶은 기능이 GridView라고 하자. 근데 위에서 GridView는 껍데기라 아무 기능이 없다. 그럼 실제 기능은 AdapterView를 사용해야 한다. 그런데 AdapterView를 사용하려면 Adapter라는 녀석이 필요하다. 쉬운 이해를 .. 더보기 필수 설치 Android SDK Manager 처음 안드로이드를 깔거나 새롭게 Packages Tools를 추가해야 할 때 다 깔기엔 왠지 손해보는 느낌이 들고... 안 깔자니 찝찝 할 때! 필수적으로 깔아야 하는 것만 적어보겠습니다. 나머지 녀석들은 자신이 만드는 환경에 따라 TV 쪽이라면 TV에 관련된 것 설치, 웨어러블이라면 괸련된 것 설치...아무튼 밑줄 그은 것들은 필히 설치! 하시길.. 그리고 웬만하면 Extras는 다 설치 하시길... 더보기 프래그먼트(Fragment) 쉽게 만들기 Fragment 가 조각이라는 뜻을 꼭 기억해야 합니다. 위의 그림같이 일일이 인텐트로 액티비티 마다 옮겨간다면 관리가 쉽지 않습니다. 액티비티 생명주기 다 거치고 UI 개별 요소 관리, 각 부분의 상태변화까지 모조리 확인 하며 프로그래밍 한다는 것은 상당히 피곤한 일입니다. 물론 초보일 때는 Intent로 넘겨주는 것만 해도 끝나지만.. 아무튼 이러한 것을 Fragment를 사용하면 Fragment Manager가 알아서 해줍니다. 그래서 Fragment를 사용합니다. 읽으시는 분중에 '나는 생명주기도 모르겠고, Fragment Manager도 모르겠고.. 그냥 계속 인텐트로 액티비티를 많이 쓰면 앱이 느려지고 리소스 많이 잡아먹을까봐 Fragment 쓰려고 한다' 라고 생각하시는 분들도 있을 겁니다... 더보기 리니어 레이아웃(LinearLayout) 리니어 레이아웃은 쉽게 얘기해서 순서대로 위젯(버튼)을 정렬 한다. xml에 보이는 android:orientation="vertical or horizontal "의 속성에 따라, 세로로 정렬 할지 또는 가로로 정렬 할지가 결정 된다. 아래 그림은 세로로 세개의 버튼을 정렬 한 모습이다. 빨간색 박스는 온전히 첫번째 버튼의 영역이고,초록색 박스는 온전히 두번째 버튼의 영역이다. 따라서 아무리 두번째 버튼을 첫번째 버튼 옆에붙이려 해도 절대 붙지 않는다. 이것이 리니어 레이아웃의 특징이다. orientation에 따라서 공간이 나뉘는 것이 가장 큰 특징 중 하나이다. 아래 그림은 android:orientation="horizontal" 로 설정 한 그림이다. 분홍색 박스는 온전히 첫번째 영역이다.따라서.. 더보기 용어 정리 그리고 테그 안에 들어 있는 xmlns: , android:layout_width 등 여러가지 문자가 있는데 이를 속성 이라 한다. 더보기 안드로이드 스튜디오에서 import 자동으로 하기 아래와 같이 안드로이드 스튜디오에서 함수를 사용하다보면 빨간 물결 줄이 보일 때가 있다. 이런 경우는 import되어 있지 않는 함수를 사용한 경우인데 이때는 아래와 같이 import를 내가 직접 추가해 줘야 한다. 일일이 자동으로 import를 하면 귀찮다. 안드로이드 스튜디오에서 자동으로 import해주는 방법을 알아보자. 1. 메뉴 탭에서 File -> Settings를 클릭한다. Settings -> Editor -> Auto Import에서 Optimize imports on the fly를 체크한다. 그리고 Apply 를 눌러 적용시킨 후에 ok 버튼을 누르면 된다. 사실 편의를 위해서는 Show import popup과 Add unambiuous imports on the fly 도 체크 하.. 더보기 레이아웃 관련 아래 그림은 위 그림과 똑같은 내용인데, 실제 안드로이드 스튜디오의 화면을 가져다 만든 것. padding은 텍스트(아래 그림에선 ok)와의 여유공간. layout_margin은 버튼(위젯이라고도고 함)과 전체 화면과의 여유공간 layout:weight 와 layout:height 의 선택 속성중에 wrap_content 라는게 있다. wrap_content 는 안에 있는 내용물(content)에 따라 크기가 변하게 설정 하는 기능이다. 예를들어 아래 그림을 보자. 같은 버튼을 만들고, 버튼 안의 내용물의 길이만 다르게 했다. 둘다 설정은 wrap_content 다. 그런데 길이가 달라진 것이 육안으로도 확인 가능하다. 이렇듯 wrap_content는 내용물에 따라 크기나 길이가 변하는 설정 임을 알 수.. 더보기 풀스크린 1234protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //풀스크린 사용법. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 더보기 이전 1 2 3 4 5 ··· 9 다음