Layout

카테고리 없음 2015. 9. 30. 11:27

1. 개요

- 레이아웃은 레이아웃 자체를 보이기 보다는, 레이아웃 안에 존재하는 위젯을 배치하기 위한 용도가 주 목적이다.

- 레이아웃 중에서 가장 많이 사용되는 것은 LinearLayout(리니어 레이아웃)이다

-레이아웃 계층도


<사진1>


2. 대표 속성

(1) orientation 

-  레이아웃 안에 배치될 위젯의 수직 또는 수평방향을 설정하는 속성 (값: vertical / horizontal) 

- 예제  :  <LinearLayout

 android:orientation="vertical">    (위젯을 수직으로 정렬)


(2) gravity 

- 레이아웃 안에 배치될 위젯을 좌측, 우측, 중앙 등 정렬 할 방향을 설정하는 속성

   (값: left,right, center, top, bottom)      

        -  예제 :  <LinearLayout

                                   android:gravity="right|bottom">    (위젯의 배치를 오른쪽 아래 기준으로 정렬)

                - layout_gravity : 자신의 위치를 부모(주로 레이아웃)의 어디쯤 위치할 것인지를 결정하는 속성

     위젯의 속성값으로 사용된다.  (값 : left, right, center)

      <Button 

           android:layout_gravity="center">  (자신의 줄 중앙에 위치)    

- gravity 와 layout_gravity 의 차이점 

gravity전체 레이아웃에서 위젯들의 배치를 어느쪽에  둘것인가에 대해 설정하는 속성이고 

layout_gravity는 orentation이 만약 vertical 일때 자신이 배치된 줄에서 위치를 설정하는 속성 값이다.


(3) padding 

- 레이아웃 안에 배치될 위젯의 여백을 설정 

   (포스팅 - 뷰 참조)


(4) layout_weight 

- 레이아웃이 전체 화면에서 차지하는 공간의 가중 값을 설정하는 속성 

여러 개의 레이아웃이 중복될 때 주로 사용된다 

- 보통 전체 화면의 몇 %로 지정하는 것이 일반적이다다  

- <사진4>

(5) baselineAligned  

- 레이아웃 안에 배치할 위젯들을 보기 좋게 정렬하는 속성

- 값 : true / false (default : true)

- <사진3>


3. 레이아웃 기본 형태

<사진 2>

-AbsoluteLayout :  절대 좌표값으로 지정하는 레이아웃

해상도가 다른 안드로이드폰에서는 문제가 발생되어 사용안함




- 저작권은 부경대 김영봉 교수님에게 ....

* 여러분들의 조그만 댓글이 저에게는 큰 힘이 됩니다


안드로이드 시작 - 뷰(View)

Android 2015. 9. 28. 03:45

1. 뷰(View)의 개요

- 안드로이드 화면에서 실제로 사용되는 것은 모두  View 클래스에서 상속을 받으며, 이러한 클래스를 모두 '위젯'(또는 뷰)라    고 부른다

- 위젯 중에서 다른 위젯을 담을 수 있는 것들은 주로 ViewGroup클래스의 하위에 존재한다.

- 다음과 같이 다른 위젯을 담을 수 있는 클래스를 레이아웃이라고 한다.




- 계층도





2. 뷰(View)의 속성

1) id

- id속성은 모든 위젯의 고유한 아이디를 부여하는 속성으로 주로 Java코드에서 위젯에 접근할 때 사용된다

- id부여 : android:"@+id/btn1" (해당 위젯에 btn1이라는 아이디를 부여한다)                                                                                                              (자동완성에 @id 형식도 존재하지만 이녀석을 쓰면 되지 않는다/원인은 추후 공부해                                                     야될듯..)

-Java코드 : 위젯 변수 = (위젯 형)findViewById(R.id.위젯id);                                                                                                       (ex> Button btn1 = (Button)findViewById(R.id.btn1);)

-id는 반드시 필요하지 않다! , TextView 같이 단순히 문구를 출력하기 위한 위젯 경우 Java코드에서 따로 사용을 요구     하지 않으므로 궂이 아이디를 부여할 필요가 없다


2) layout_width, layout_height

- 위젯을 크기를 설정하는 속성으로 다양한 속성값을 가진다.

- 속성값 : match_parent(fill_parent) => 이름 그대로 자신의 부모에 폭이나 높이를 맞춘다는 의미 즉, 레이아웃의                                                                 폭이나 높이에 맞게 설정한다는 의미이다

wrap_content => 자신의 폭이나 높이를 자신 안의 글자가 꼭 들어갈 정도로 맞춘다는 의미

px : pixel(픽셀)을 나타내는 단위, 하드웨어적 요소를 고려하지 않고 정해져 있는 단위

in : inch(인치)를 나타내는 단위

mm : mm(미리미터)를 나타내는 단위

pt : point(포인트) 나타는 단위 = 1/72 inch

dp : 장치에 독립적인 픽셀의 수를 나타는 단위 = 160dpi 일때 1dp = 1px , dp = dpi/px                                        픽셀과 달리 비율로 계산되는 값으로 하드웨어가 달라지더라도 비율은 바뀌지 않는다는 점으로 주로 사         용된다

sp : 글자 크기에 맞춰서 크기를 조정하는 값

- 예제 : android:layout_width = "match_parent"    /    android:layout_width="50dp"                                                           android:layout_height="wrap_content"    /    android:layout_height="10px"

=> 각 속성값을 직접 넣어서 테스트 해보기!


3) background

- 위젯의 색상을 변경하는 속성

- #RRGGBB 값으로 변경하며 각 색의 값은 16진수 값으로 표현한다

- 예제 : android:background="#ff0000"    /    android:background="#00f109"

- Java코드에서도 변경 가능 : 위젯변수.setBackgroundColor(색깔번호);                                                                                                                 btn1.setBackgroundColor(Color.RED);


4) orientation

- 안드로이드 화면 방향을 설정하는 속성

- 이 속성은 위젯에 부여하지 않고 레이아웃에 부여하는 속성

- 속성값으로는 vertical, horizontal 이 주로 사용된다.

-예제 : android:orientation="vertical"


5) padding

- 위젯의 경계선으로부터 위젯 안의 내용물이 떨어지는 정도를 설정하는 속성, 즉 내용물과 경계선과의 거리를 설정한다

- 예졔 : android:paddingTop="30dp"    /    android:paddingLeft="10dp"


6) layout_margin

- 위젯과 위젯 사이의 거리를 설정하는 속성

- 위젯의 배치를 설정할 때 사용한다

- 예제 : android:layout_marginTop="25dp"       / android:layout_marginBottom="50dp"

7) visibility

- 위젯을 보일 것인지 여부를 결정하는 속성

- visible은 보이는 상태, invisible/gone은 보이지 않은 상태

- 예제 : android:visibility="visible"

- Java 코드 사용 : 위젯변수.setVisibility(android.view.View.속성);                                                                                                       ( ex > btn1.setVisibility(android.view.View.VISIBLE);)


]8) enabled

- 위젯의 작동 여부를 설정하는 속성

- 디폴트 값은 true이다.

- 예제 : android:enabled="false"(해당위젯은 동작하지 않는다)


9) clickable

- 위젯의 클릭이나 터치가 가능여부를 설정 하는 속성

- 디폴트 값은 true이다

- 예제 : android:clicable="false"


10) textColor

- 글자의 색상을 지정하는 속성

- 예제 :  android:textColor="#00ff00"


11) textSize

- 글자의 크기를 지정하는 속성

- 단위 : dp, px, in, mm, sp 단위

- 예제 : android:textSize="10dp"


12) typeface

- 글자의 글꼴을 지정하는 속성

- 디폴트 값은 normal

- 예제 : android:typeface="serif" 


12) typeStyle

- 글자의 스타일을 지정하는 속성

- 디폴트 값은 normal

- 예제 : android:typeStyle="bold|italic"


13) singleLine

- 글이 길어 줄이 넘어갈 경우 강제로 한줄까지만 출력하고 문자열의 맨뒤에 "...." 를 표시

- 디폴트 값은 false

-예제 : android:singleLine="true"


*더 많은 속성들이 존재하지만 나머지는 이클립스의 자동완성으로 그때그떄 필요한 속성값을 사용한다.

*사용법은 위의 내용만으로도 충분히 활용가능할 것이다.


*댓글과 좋아요는 저에게 큰 힘이 됩니다

'Android' 카테고리의 다른 글

Layout  (0) 2015.10.16
안드로이드 공부  (0) 2015.09.27

안드로이드 공부

Android 2015. 9. 27. 21:07

우리 탐사RC카 스트리밍을 위해 진전이 없는 안드로이드 팀을 돕기 위해 야매로 시작한 안드로이드 공부

이제는 이번학기 수강과목에도 들어있고 처음부터 차근차근 기초부터 탄탄히 공부를 시작하겠다!!

전문가는 아니더라고 기본은 할 수 있을 정도로 아자아자!!

'Android' 카테고리의 다른 글

Layout  (0) 2015.10.16
안드로이드 시작 - 뷰(View)  (0) 2015.09.28

[오늘의음악]디셈버-언제나사랑해

DJ를 꿈꾸며 2015. 9. 25. 22:27

개강 후 지금까지 너무 정신없이 달려왔다
방학동안 미친듯이 했던 준비가 허무한 물거품이 될뻔했으나 하늘이 우리의 노력에 보답해주는듯 믿지 못할 결과를 얻었다
만감이 교차하였다

이렇게 정신없이 하루하루를 보내면서
어느샌가 노래를 느낀다기보다는 귀의 심심함을 달래주는 달달한 소음으로 전락해버렸다

그러나 오늘은 간만의 여유와 함께 마음을 울리는 노래를 들었다
디셈버-언제나사랑해​

[오늘의 음악] 넬 - Good Night

DJ를 꿈꾸며 2015. 8. 26. 01:26

오늘 태풍으로 밖이 난리가 났을 때
이런날은 역시 집에 있어야지! 라는 생각에
하루종일 뒹굴었다
그러면서 미루고미루던 오나귀(오 나의 귀신님)일화부터 보기 시작!!
5화에서 쉪과 봉선이 방음이 되지않는 벽을 두고 음악을 공유해서 듣는 장면에서 나온 이노래!
오늘은 이 곡에 꼿혔네요~~~
드라마는 한번보면 다음께 궁금해서 멈출 수가 없네요 ㅠㅠ
드라마랑 만화는 마성의 끝판왕인듯..

같이들어요~
넬 - Good Night


오늘의 음악(2015/08/25 02:23) 10cm - 그게 아니고

DJ를 꿈꾸며 2015. 8. 25. 02:26

태풍이 스멀스멀올라와 비가 내리기 시작하는
지금 잘 어울리는 곡인 것 같네요

10cm - 그게 아니고

웹 개발자에게 필요한 크롬 확장 프로그램 10가지

꿀팁 2015. 8. 25. 02:09

#글을 보신 후 1초의 좋아요와 10초의 댓글은 저에게 큰 힘이 됩니다!

1.  윈도우 리사이저(Window Resizer) 

- 브라우저 창 크기를 즉석해서 조절할 수 있는 툴


2.  컬러픽 아이드롭퍼(ColorPick Eyedropper) 

- 픽셀 각각의 색을 추출할 수 있는 스포이트 도구가 포함된 간편한 색상 선택 툴

(웹페이지 특정 구역 확대 기능도 있음)


3.  페이지 룰러(Page Ruler) 

- 웹페이지의 정보들을 측정하기 위한 툴


4.  CSS 뷰어(CSS Viewer) 

- CSS 속성 뷰어 툴


5.  폼 퍼저(Form Fuzzer) 

- 퍼징 툴로서 테스트를 위해 양식에 잘못된 데잍, 예상과 다른 데이터 또는 무작위 데이터를 삽입하는 기능을 한다


6.  사이트 스파이더(Site Spider) 

- 클라이언트 측 크롤러로서 사용자 인증을 사용해 깨진 링크나 특정 디렉터리나 도메인 또는 기타 정규식으로 기술가능한 페이지에 접근이 가능해진다


7.  스크래퍼(Scraper) 

- 웹 페이지 스크래핑용 툴


8.  JSON뷰(JSON VIEW) 

- JSON 콘텐츠 구문을 분석해서 읽기 편한 형식으로 출력하고 유효성을 검출하는 툴


9.  유저-에이전트 스위치 

- 웹 어플리케이션 테스트를 위한 툴


10. 에딧디스쿠키(EditThisCookie) 

- 쿠키 작업을 위한 툴


추가정보 및 출처 : www.itworld.co.kr/slideshow/91136


** 추후 하나씩 직접 사용해보고 후기 업데이트 예정 **



'꿀팁' 카테고리의 다른 글

[홍보] 2015 공학교육 페스티벌  (0) 2015.11.16

single 부팅 후 패스워드 초기화

i2sec/Linux 2014. 8. 21. 17:19

1. os 부팅 시 숫자 나오는 화면에서 Enter


2. os 선택에서 'e' 입력


3. kernel 선택 후 'e' 입력


4. 나오는 문장 뒤에 'single'이라고 입력 후 Enter


5. kernel 선택 후 'b' 입력


6. 원하는 패스워드로 초기화하고 빠져나오면 된다.!!



이제 패스워드를 까먹어도 당황하지 않고 천천히 따라하면 쉽게 끝!!!!!!!!!!!!!!!!!!!!!!

'i2sec > Linux' 카테고리의 다른 글

리눅스에서 ftp 사용하기  (0) 2014.08.21
방화벽  (0) 2014.08.21
Daemon  (0) 2014.08.20
vi 편집기  (0) 2014.08.16
링크  (0) 2014.08.15

리눅스에서 ftp 사용하기

i2sec/Linux 2014. 8. 21. 17:06

1. 설치

- "yum install -y ftp" 설치


2. 접속

- "ftp 'IP'" 접속

- id / pw 입력 후 접속 완료


3. 이용

- 기존 리눅스 명령어로 ftp 사용

- 파일 다운로드시 get, 업로드 시 put 명령어를 사용한다


4. 외부 접속

-filezilla와 같은 ftp 프로그램에서 주소를 sftp:://IP 형태로 치면 LInux로 접속 가능하다


'i2sec > Linux' 카테고리의 다른 글

single 부팅 후 패스워드 초기화  (0) 2014.08.21
방화벽  (0) 2014.08.21
Daemon  (0) 2014.08.20
vi 편집기  (0) 2014.08.16
링크  (0) 2014.08.15

방화벽

i2sec/Linux 2014. 8. 21. 16:57

1. 방화벽이란?

-컴퓨터의 정보 보안을 위해 외부에서 내부, 내부에서 외부의 정보통신망에 불법으로 접근하는 것을 차단하는 시스템이다.


2.TCP Wrappers

-네트워크 서비스에 관한 트레픽을 제어하고 모니터링 할 수 있는 Unix 기반 방화벽 툴이다. 임의의 호스트가 서비스를 요청  해 오면 실제 데몬을 구동하기 전에 접속을 허용할 것인지 여부를 확인하여 호스트 명 및 서비스 명을 로그에 남긴 다음, 허  가된 시스템은 서비스를 제공하고 그렇지 않을 경우 접속을 차단하는 기능을 한다,


1)/etc/hosts.allow

-화이트리스트 기반으로 접속을 제어한다.

-특정 IP나 서비스에 대해서만 접속을 허용할 때 사용한다.


2)/etc/hosts.deny

-블랙리스트 기반으로 접속을 제어한다.

-특정 IP나 서비스에 대한 접속을 차단할 때 사용된다.


*주로 deny를 통해 모든 접속을 차단한 뒤 접속을 허용할 몇몇 IP에 대해서만 서비스를 제공하는 형태로 많이 사용한다.



3.Iptables

-리눅스의 방화벽으로서 접속하는 포트를 관리하므로서 특정 서비스에 대한 외부 접속을 제어한다.


1)chain


-컴퓨터로 들어가는 모든 패킷은 INPUT chain 통과

-컴퓨터에서 나가는 모든 패킷은 OUTPUT chain을 통과

-컴퓨터를 지나가는 모든 패킷은 FORWARD chain 통과

-방화벽에서 차단하려는 패킷 조건을 Rule 형태로 지정하는데 각 chain 별로 rule들을 등록한다


2)Iptables 명령어 

인자값 

의미 

-A 

append a rule (--append) 

-D 

delete a rule(--delete) 

-C 

test packets(--check) 

-R 

replace a new rule(--replace) 

 -I

insert a rule(--insert) 

-L 

show the rules in the chain(--list) 

-F 

delete all rule (-flush) 

-Z 

make zero in all packet and byte counter(--zero) 

-N 

make a new chain(--new) 

-X 

delete a new chain(--delete-chain) 

-P 

change a basic rules (--policy) 

-s 

source address 

-d 

destination adress 

-p 

protocol name 

-i 

input interface(INPUT, FORWARD chain에서 사용가능) 

-o

output interface(OUTPUT chain에서 사용가능) 

-f 

분절 

-j 

이후 옵션

ACCEPT - 패킷 허용

DROP - 패킷을 허용하지 않으며, 허용하지 않는 메세지 전송x

 DENY - 패킷을 허용하지 안흐며, 허용하지 않는 메세지 전송o


3)Iptables 사용예 - ping 차단

1. 정상적인 상태



2. Iptables rule 추가


3. Iptables 재시작


4. 외부 확인


* Iptables는 절차 지향적으로 실행하기 떄문에 차단 룰 추가시 허용하는 룰이 있을 경우 허용룰 윗에 차단 룰을 추가 해주어야한다.


4.방화벽 초기화

1) 기존 방화벽 확인


2)setup 모드 접속


3)firewall 선택


4)enable 해제 후 확인


5) 한번 더 확인


6) 다시 filewall 선택


7)방화벽 활성화


8)확인 후 setup 모드 종료


9)방화벽 초기화 확인


참간단합니다!!!!!!!!!!!!!!!

'i2sec > Linux' 카테고리의 다른 글

single 부팅 후 패스워드 초기화  (0) 2014.08.21
리눅스에서 ftp 사용하기  (0) 2014.08.21
Daemon  (0) 2014.08.20
vi 편집기  (0) 2014.08.16
링크  (0) 2014.08.15