오랜만에 하는 안드로이드 개발이라 스와이프 가능한 탭 메뉴를 만들기 위해 안드로이드 개발자 페이지를 찾아볼 수 밖에 없었다. 그런데 프로젝트를 만드는 도중 이를 안드로이드 스튜디오에서 샘플 코드로 제공한다는 것을 뒤늦게 알아버렸다...

 

 

  예제 코드를 이용해 스와이프 가능한 액션바 탭 만들기 (ViewPager와 Fragment 이용)

 

먼저 새 프로젝트 생성 창을 띄우고 앱 이름과, 도메인 등을 결정하고 액티비티 생성 페이지로 넘어간다.

 


Tabbed Activity를 선택하고 Navigation StyleAction Bar Tabs (with ViewPager)로 설정한다.




위와 같이 설정하면 액션바 아래에 3개의 탭을 갖는 초기 화면이 만들어진다. 이제 여기서 만들고자하는 앱에 맞게 불필요한 부분들을 제거하거나 수정해주면 된다. 나의 경우 타이틀 바와 탭 하나 등을 제거하였다.






  타이틀 바 제거하기


activity_main.xml 에서 Toolbar 코드를 제거한다. 마찬가지로, MainActivity.java 에서도 Toolbar 관련 코드를 제거해준다. 그리고 불필요해진 onCreateOptionsMenu 함수와 onOptionsItemSelected 함수도 제거해준다.





  실제 이용할 Fragment로 기존 Fragment 대체하기


예제 코드에서는 탭이 변경될 때마다 구성이 같은 프래그먼트를 보여준다. 나는 두 개의 화면이 필요해서 PlaceholderFragment 클래스를 삭제하고 새로운 프래그먼트 2개와 그 레이아웃을 만들었다. 그리고 SectionPagerAdapter getItem 함수를 새로 만든 프래그먼트의 인스턴스를 반환하도록 수정한다.




  결과 화면


타이틀 바를 제거하고 탭을 2개로 줄인 결과 화면. 이제 각각의 탭에 들어가는 프래그먼트에 기능만 구현해주면 된다.






  설명


리눅스에서는 'grep' 명령어를 통해 원하는 문자열 패턴을 포함하는 행들을 출력할 수 있다.

입력 파일이 있을 경우 입력 파일 내에서, 없는 경우 표준 입력 내에서 지정한 패턴을 검색하여 일치하는 행을 출력한다.



  사용법


기본적인 사용법은 아래와 같다.


grep [OPTIONS] PATTERN [FILE]


'grep' 명령어는 단독으로 사용되기도 하지만 'find' 같은 출력 명령어와 함께 사용하여 원하는 결과를 필터링하는 데에도 자주 사용된다.


출력명령어 | grep PATTERN


'grep' 명령어에서 사용할 수 있는 옵션은 다음과 같다.


 옵션

설명 

 -c

 패턴을 포함하는 행을 출력하는 대신, 일치하는 행의 수를 출력

 -L

 패턴을 포함하지 않는 파일의 이름을 출력

 -l

 패턴을 포함하는 파일의 이름을 출력

 -m [NUM]

 파일당 일치하는 행을 최대 NUM 개까지만 출력

 -o

 일치하는 부분만 출력

 -q

 결과를 출력하지 않음

 -s

 잘못된 입력 파일에 대한 오류 표시하지 않음

 -i

 대소문자 구분하지 않음 

 -v

 패턴과 일치하지 않는 행만 출력

 -n

 행 번호를 함께 출력

 -w

 패턴과 같은 단어를 정확하게 포함하는 행만 출력

 -x

 패턴이 전체 행과 일치하는 행만 출력

-r

 서브 디렉토리의 파일까지 모두 검사

 -a

 바이너리 파일을 텍스트 파일처럼 인식하여 검사





  사용 예제


1. 현재 디렉토리에서 'server' 를 포함하는 파일을 찾아서 출력



2. 현재 디렉토리의 파일 중 'lecture' 라는 문자열을 포함하는 파일만 출력



3. 현재 디렉토리의 모든 파일을 대상으로 'char' 라는 문자열을 포함하고 있는 행 출력



4. 3의 결과에 -w 옵션을 추가하여 정확하게 'char' 라는 단어를 포함하는 행만 출력







리눅스에서는 'df' 'du' 명령어를 이용해 디스크 용량을 확인할 수 있다.


df [OPTIONS] [FILE] : 시스템에 마운트 된 디스크의 남은 용량을 확인하는 명령어. 아래와 같은 옵션과 함께 사용 가능하다.


 옵션

 설명

 -a

 모든 파일 시스템을 출력

 -B [SIZE]

 지정 크기를 블록 단위로 하여 용량 표시

 -h

 용량을 가장 보기 편한 단위로 변환하여 보여줌 (ex. 1K, 256M, 4G)

 -H

 용량을 1024가 아닌 1000단위로 표시

 -i

 inode의 남은 공간, 사용 공간, 사용 퍼센트를 출력

 -k

 '-B 1K'와 같은 의미

 -l

 출력 목록을 로컬 파일 시스템으로 제한

 -P

 POSIX에서 사용되는 형태로 출력

 -t [TYPE]

 출력 목록을 파일 시스템의 타입(TYPE)으로 제한

 -T

 파일 시스템의 타입을 같이 출력 (ex. ext4)

 -x [TYPE]

 출력 목록에서 파일 시스템의 타입(TYPE)만 제외




du [OPTIONS] [FILE] : 파일의 디스크 사용량을 확인하는 명령어. 아래와 같은 옵션과 함께 사용 가능하다.


 옵션

 설명

 -a

 현재 디렉토리 아래의 모든 파일과 디렉토리의 사용 정보를 출력

 -B [SIZE]

 지정 크기를 블록 단위로 하여 용량 표시

 -b

 바이트 단위 출력

 -c

 출력된 의 사용량 합계 표시

 -D [FILE]

 입력한 심볼릭 링크 파일만 역참조(원본 파일의 용량을 출력)

 -h

 용량을 가장 보기 편한 단위로 변환하여 보여줌

 -H

 '-D' 옵션과 동일한 기능 수행

 -k

 '-B 1K' 옵션과 동일한 기능 수행

 -l

 하드 링크 파일일 경우, 여러번 용량을 카운트(원본과 하드 링크 파일 모두 카운트)

 -L

 모든 심볼릭 링크 파일들을 역참조

 -S

 서브디렉토리들은 결과에서 제외

 -s

 전체 사용량만을 출력

 -x

 다른 파일 시스템의 디렉토리는 결과에 포함하지 않음




+ Recent posts