전체 글 (69) 썸네일형 리스트형 [ Android ] RecyclerView 와 ListView 차이 | ViewHolder 패턴 의무화 ListView는 뷰홀더 패턴을 권장했지만, 강제성은 없다. 반면, RecyclerView는 무조건 뷰홀더 패턴을 사용해야한다. 그래서 ListView와 달리 RecyclerView는 다음과 같은 메서드를 Adapter에서 사용한다. onCreateViewHolder(ViewGroup parent,int viewType) onBindViewHolder(ListItemViewHolder holder,int position) | onCreateViewHolder 뷰 홀더를 생성하고 뷰를 붙여주는 부분. 처음에 화면에 보이는 뷰에 대해 뷰 홀더가 생성되며, 이후 스크롤 시 보여지는 뷰들은 재활용되는 뷰이므로 다시 호출되지 않는다. | onBindViewHolder 화면에 뷰.. [ Android ] 안드로이드 생명주기 (Life Cycle) 앱을 만들 때 생명주기를 적절하게 사용하는 것은 매우 중요하다. 앱이 멈추거나, 불가피하게 종료가 되거나, 다시 시작되거나 하는 등의 상황에 대해서 적절하게 처리할 수 있기 때문이다. 액티비티의 대표적인 상태 정보는 다음과 같다. 상태 설명 실행(Running) 화면상에 액티비티가 보이면서 실행되어 있는 상태. 액티비티 스택의 최상위에 있으며 포커스를 가지고 있음 일시 정지(Paused) 사용자에게 보이지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. 대화상자가 위에 있어 일부가 가려진 경우 해당함 중지(Stopped) 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태. 이렇게 액티비티의 상태 정보가 변화하는 것을 액티비티의 생명주기(Life Cycle) 또는 수명주기라고 하며, 액티비티의.. [ Android ] Manifest 매니패스트 안드로이드 프로젝트를 만들 때 기본적으로 생성되는 파일 중 하나가 매니패스트 파일이다. 매니패스트는 앱이 실행되기 위한 일종의 룰, 규칙 같은 것을 설정하는 파일이라고 생각하면 된다. | 개요 매니패스트 파일에는 다음과 같은 정보를 선언해야 한다. 1. 앱의 패키지 이름 2. 앱의 구성 요소(모든 액티비티, 서비스, Broadcast Receiver, 콘텐츠 제공자 포함) 3. 앱이 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위해 필요한 권한 4. 앱에 필요한 하드웨어 및 소프트웨어 기능 | 선언 안드로이드 프로젝트를 처음 생성했을 때 매니패스트 파일에는 다음과 같이 선언되어 있다. 첫 번째 줄은 해당 파일은 xml 파일이고, 인코딩 방식은 utf-8임을 나타낸다. 다음으로 는 애플리케이션의 전반적.. [ flyway ] flyway 개념 및 실습 | 개념 데이터베이스 마이그레이션 툴이다. 이는 소스코드를 형상관리하는 Git, SVN 등과 같은 맥락이다. 간단하게 말하자면 데이터베이스 스키마의 버전을 관리하기 위한 방법이라고 할 수 있다. sql 파일을 생성하여, 특정 명령어를 통해 관리한다. | 설치 리눅스 환경에서 다룰 것이기 때문에 아래의 링크에서 tar 파일을 다운로드 해서 압축을 풀어준다. Flyway by Redgate • Database Migrations Made Easy. Migrate directly from within your application Flyway flyway = Flyway.configure().dataSource(url, user, password).load(); flyway.migrate(); Get Star.. [ Android ] 다이얼로그 띄우기 다이얼로그는 알림 대화상자를 말한다. 사용자에게 확인을 받거나 선택하게 할 때 사용한다. 주로, 메세지를 전달하는 역할을 하며 예/아니오와 같은 응답을 처리한다. | 다이얼로그 띄우기 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("알림"); builder.setMessage("종료하시겠습니까?"); builder.setIcon(android.R.drawable.ic_dialog_alert); build.setPositiveButton("예", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) .. [ Android ] 사용자가 원하는 디자인으로 토스트 만들기 토스트는 간단한 메세지를 잠깐 보여주었다가 없어지는 뷰로 앱 위에 뜨는 뷰다. 이는 사용자에게 필요한 정보를 알려주는 역할을 하는 위젯이다. 특히, 앱이 사라지게 되더라고 필요한 메세지가 그대로 표시되므로 앱의 상태와 관계없이 보여줄 수 있다는 장점이 있지만 반대로 토스트가 여러 개가 연속으로 뜨면 사용자에게 불편함을 줄 수도 있다. | 기본 토스트 메세지 Toast.makeText(Context context, String message, int duration).show(); 기본적으로는 간단하게 위와 같이 사용하면 된다. 만약, 사용자가 원하는 디자인으로 토스트를 띄우고 싶으면 다음과 같이 하면된다. | 사용자 토스트 메세지 LayoutInflater inflater = getLayoutInflat.. [ Android ] 가로/세로 화면 전환 앱을 만들면서 겪는 문제 중 하나가 단말의 방향 전환 문제이다. 단말의 방향이 바뀌었을 때는 가로와 세로 화면의 비율에 따라 화면이 다시 보이게 된다. 이는 액티비티가 없어졌다가 다시 생기는 현상이다. 따라서 onCreate() 함수도 다시 호출되며, 이에 따라 가지고 있던 데이터도 초기화된다. 이러한 문제를 처리하는 방식에는 3가지가 있다. | 액티비티 바뀜 + 가로/세로 레이아웃 가로와 세로 각각의 XML 레이아웃 파일을 생성해두고 화면 방향이 전환될 때, 액티비티는 바뀌면서 방향에 맞는 XML 파일을 화면에 보여주는 방식이다. res폴더 하위에 layout-land (지정된 이름) 리소스 폴더를 추가하고 여기에 가로 XML 레이아웃 파일을 저장해둔다. 이 때, 세로 XML 파일과 가로 XML 파일명.. [ Android ] 안드로이드 무선 디버깅 (adb) adb는 android debug bridge 의 약자로서 기기와 통신할 수 있는 명령어입니다. adb 명령어는 앱의 설치 및 디버깅 등의 작업에 도움이 됩니다. ( 자세한 사항은 맨 아래의 링크를 참조해주세요 ) 이를 통해 기기에 선을 연결하지 않고 디버깅 할 수 있습니다. ( 단, Wi-Fi 연결을 했을 경우에 가능합니다. ) 처음 실행할 때는 USB 케이블을 꽂고 실행해야 합니다. 안드로이드 스튜디오에서 아래의 Terminal 을 클릭합니다. 먼저, 다음과 같이 입력합니다. | TCP/IP 연결 수신 대기 설정 adb tcpip 5555 다음으로는 연결된 기기의 Wi-Fi IP 주소를 알아야 합니다. 설정에서 Wi-Fi 쪽으로 가서 연결되어 있는 와이파이를 클릭합니다. 바로 나와있을 수도 있고, 그.. 이전 1 2 3 4 5 6 7 8 9 다음