2010. 9. 29. 17:50
여러개를 묶어봤습니다.
- CheckBox
- RadioButton
- ImageView

/layout/main.xml
2. 한 화면에 컨트롤을 전부 표시할수 없어서 스크롤 되도록 ScrollView로 전체를 감싸도록 처리

5. TableLayout을 사용
  (View로 구분선 줄려니까 기본이 LinearLayout 이었던가요? 여튼 여기서 컴파일은 되는데 실행은 안되더군요)

10, 16. 체크박스 위젯
  (각 체크박스 위젯을 구분하는 것도 해볼겸 해서 2개를 넣었습니다)

22. View 단순 구분선을 표시 하기 위함. 2px두께의 파랑색 선




25~47. 라디오그룹1 내부에 3개의 라디오 버튼을 배치

51~73. 라디오그룹2 내부에 3개의 라디오 버튼을 배치.
  (라디오버튼은 동일구룹에서 1개만 선택가능하며, 2개의 그룹이므로 각 그룹당 1개씩 선택이 가능)

77. ImageView 단순 이미지 출력 위젯

82. 이미지 경로는 android:src @drawable/mug 라고 되어있는데 이것은 res/drawable 폴더안의 mug.jpg 파일을 읽어들임
  - res폴더안에 drawable-hdpi, drawable-ldpi, drawable-mdpi 3개의 폴더가 있는데 디바이스의 화면 사이즈와 관련 있는것으로 추측. (hdpi에에 이미지 넣었더니 조금 작게 표시됨)





src/CBRGEx1.java
앞 포스팅의 CheckBox 와 내용은 소스 파일의 내용은 비슷하므로 생략...


결과는...
요렇게... 됩니다.
밑에 사진은 가려진...;;

소스파일첨부 합니다.
Posted by 해비
2010. 9. 27. 17:32
프로젝트 생성 후
layout/main.xml 파일 열어서 CheckBox 관련 레이아웃 지정



소스파일 열어서 코드 추가
작성된 소스는 분홍색으로 표시하였습니다.

그 이외에는 기본소스...



그리고 실행된 결과...

Posted by 해비
2010. 9. 6. 16:04

이번에는 TextView 와 Button 위젯을 이용한 초간단 프로그램 예제를 작성해 보고 돌아가는 원리를 간단히 알아보도록 하겠습니다.

먼저 프로젝트 하나 생성합니다.
(여기서는 프로젝트명을 NowExam 이라고 하였습니다)

/res/layout/main.xml 파일을 열어서 위젯을 추가합니다.
1. 위젯을 넣을 레이아웃을 선택합니다. (기본 LinearLayout)
2. 녹색의 + 버튼을 누릅니다
3. TextView 위젯을 추가한다고 가정할때 text 만 치면 text로 시작하는 위젯목록이 하단에 나타납니다
4. 더블클릭 또는 선택후 OK 버튼을 누릅니다.



이렇게 LinearLayout 속에 TextView 위젯이 추가된것을 확인할 수 있습니다.
(한줄로 길게 쓰여 있는것을 보기좋게 정렬한 것입니다)

위 방법이 싫으신분은 이거 수동으로 타이핑 또는 붙여넣기 하셔도 무방합니다

Button 위젯도 위와 같은 방법으로 추가한다음 소스를 아래와 같이 수정합니다



다음으로 소스파일을 오픈합니다.
1. view, widget, util을 임포트 합니다.
2. 버튼 클릭이벤트를 처리할 리스너 설정
3. Button 과 TextView 변수를 지정하고
4. findViewById() 메소드를 통해 이미 만들어진 인스턴스에 대한 레퍼런스를 가져옵니다.
5. 버튼이 클릭되었을때 실행될 내용과, 현재시각을 구하는 함수를 작성합니다.



실행된 모습
버튼을 클릭하면 현재시간이 갱신됩니다.

Posted by 해비
2010. 9. 3. 12:14

1. 프로젝트 생성
File -> New -> Android Project
프로젝트 이름 적절이 설정합니다.

그리고 아래로 스크롤 쭉 내려서 세부 설정 합니다.

Build Target : 어플리케이션의 빌드 버젼입니다. 여기서는 편의상 Froyo + Google API 사용하는 것을 선택했습니다
Application name : 어플리케이션 이름입니다.
Package name : 어플리케이션이 들어갈 패키지 이름입니다.
Create Activity : 액티비티 이름입니다.
Min SDK Version : 8 (Froyo) 어플리케이션이 실행되기 위해 필요한 최소 버젼입니다.





프로젝트가 생성되면 이렇게 폴더구조 및 기본 파일들이 자동으로 생성됩니다.

일단 빌드부터 한번 해봅시다

Ctrl + F11 또는 상단의 빌드 아이콘 눌러줍니다.
처음 빌드 시 요런 화면 뜹니다
Android Application 선택하고 OK버튼 눌러줍니다.

그럼 이제 안드로이드 에뮬레이터가 구동됩니다

처음에 잠금표시 떠있는 것은 클릭해서 쭈욱 드래그 하면 잠금 해제 됩니다.

Hello World, HelloExam!  이란 문자가 출력되었습니다.

근데 저 내용은 어디에...??
위쪽의 프로젝트 구조 및 파일 사진에서 main.xml 파일을 열어 봅시다.
/res/layout/main.xml
LinearLayout 이 있고, 그 안에 TextView 위젯에 대해 정의가 되어있습니다.
TextView의 속성중에 android:text="@string/hello" 라고 된 부분 입니다.

여기에 바로 텍스트 내용을 기입해도 됩니다.

다만 기본 소스에서는 @string 라는 것을 썻군요

@string/hello
즉, 스트링중에 hello로 정의된 것의 내용을 표시해라는 뜻이 되겠습니다

스트링은 string.xml 에 들어있습니다.
/res/values/string.xml

<string name="hello">Hello World, HelloExam!</string>
여기 있었군요

저기 중간의 문자열 수정하면 바뀐 내용이 출력됩니다.





사용된 소스코드 첨부합니다.








Posted by 해비
2010. 9. 3. 09:28

1. 액티비티(Activity)
- 사용자 인터페이스를 작성할 때 Activity라는 구성요소를 활용
- 데스크탑의 윈도우에서 대화상자라고 생각하면 됨



2. 컨텐트 프로바이더(Content provider)
- 기기에 들어있는 각종 데이터에 대한 추상적 인터페이스 제공
- 다른 어플리케이션의 데이터 접근에 공유 권한 설정 필요



3. 인텐트(Intent)
- 기기 내부에 특정 이벤트 발생 시, 이것을 각 어플리케이션에 알려주는 시스템 메시지



4. 서비스(Service)
- 액티비티나 컨텐트프로바이더, 인텐트 등은 모두 필요한 시간 동안만 동작하는 구성요소이나 서비스는 필요한 경우 종료되지 않고 특정 액티비티와 관계없이 항상 동작



Posted by 해비
2010. 9. 2. 18:25

우선, 에뮬레이터의 동작을 위해서 가상장치가 필요합니다.

이클립스 상단에 Android SDK and AVD Manager 버튼을 눌러서 아래 창을 띄웁니다
New 버튼을 눌러서 가상창치를 만듭니다
(현재 그림에는 Froyo 라는 이름으로 가상장치가 생성된 모습입니다)




Name 아무거나 주셔도 되겠고,
Target 은 그 안드로이드 폰 버젼입니다
API 8이 2.2 Froyo 버젼이고, Google API 까지 사용하겠다는 설정입니다.

화면 사이즈는 Default 로 그냥 두었습니다
건드실분들은 취향대로~~

그리고 마지막으로 Create AVD 버튼 누르면 가상장치 생성이 완료됩니다.





Posted by 해비
2010. 8. 16. 14:13
Posted by 해비
2010. 8. 16. 14:06

[사전 준비]
- JDK 1.6.0_20 또는 상위버젼 설치
- 이클립스 GALILEO 버젼 설치 (HELIOUS는 알려진 문제점이 있다함)



1. 이클립스 안드로이드 개발환경 설치
이클립스 실행
Help -> Install New Software






2. 안드로이드 SDK 설치
안드로이드 SDK 다운로드
http://developer.android.com/sdk/index.html

Windows 용을 다운받은뒤 적절한 폴더에 설치를 해줍니다.
D:\develop\android-sdk
(저는 여기다가 풀었습니다)

윈도우 환경설정 부분에 PATH 설정에 아래와 같이 추가합니다
D:\develop\android-sdk\tools
(안드로이드 SDK 설치경로 안에 tools 폴더를 지정해줍니다)

다음으로 이클립스 실행한 다음
Windows -> Preferences 를 들어갑니다
번호 순서대로 진행하시면 되겠습니다




상단에 표시된 부분에 보면 Android SDK and AVD Manager 가 있습니다




여기까지 하셨으면 기본적인 설정은 대략 끝난겁니다.
이제 안드로이드 개발 진행 들어가면 됩니다



교육센터에서 배운 내용을 토대로 기억나는대로 작성한것인데 혹시 중간에서 안되는 부분이나 잘못된 부분이 있을지도 모르겠네요..


Posted by 해비
2010. 8. 9. 22:06

gedit /etc/httpd/conf/httpd.conf
-> UserDir disable 를 앞에 # 붙여서 주석처리하고 다음 라인에
-> UserDir public_html 을 작성 후 저장

/etc/init.d/httpd restart
재시작 후 확인


사용자 haebi 를 예로 들면
/home/haebi/public_html 의 폴더 안에 index.html 이 존재 해야 함


권한 관련 하여 되지 않을 경우는
/home 폴더의 권한을 705 이상으로 설정 필요


브라우저 접근 예시...
사용자 계정이 haebi 인 경우
http://192.168.0.200/~haebi 와 같은 경로로 접근 가능하다



자료 참고 주소
http://minarae7.tistory.com/105
Posted by 해비
2010. 8. 9. 21:59
사용된 리눅스 버젼 : CentOS 5.5

[권한 설정]
목적 : ROOT를 제외한 모든 계정이 자신의 홈폴더를 벗어나서 조회 불가능하게 하기 위함
효과 : ls 등의 커맨드가 막힘
권한 : *rwx--x--x (711)

chmod 711 폴더명

대상폴더
/ 에 존재하는 root와 tmp 폴더 제외 하고 전부
(별도로 확인이 필요)
관련정보...
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=105790969&qb=Q2VudG9zIHZzRlRQZCDsg4HsnIQg65SU66CJ7Yag66asIOq2jO2VnA==&enc=utf8&section=kin&rank=2&sort=0&spq=0&pid=ga/sAz331xossaGjjchssv--096415&sid=TF@2eXuZX0wAAEKGQRE




[Telnet Server]
yum install telnet-server

gedit /etc/xinetd.d/telnet
-> disable = no 로 수정

etc/init.d/xinetd restart
재시작 하고 확인




[vsftpd]
gedit /etc/vsftpd/vsftpd.conf
-> chroot_local_user=YES 를 제일 밑에 한줄 작성하고 저장

/etc/init.d/vsftpd restart
재시작 하고 확인
Posted by 해비