요즘 회사 사내 교육을 듣고 있는데 #파이썬 ( #python ) 강사분들이 강의 시 주로 #구글 의 #colab 환경에서 강의를 진행하기에 저도 investing.com에서 #크롤링(#crawling)해왔던 데이터를 기반으로 일단 기초 데이터 분석을 진행해보았습니다.
1) 파이썬 라이브러리 import

## 0.환경준비 ### 01.Import import pandas as pd import numpy as np from pandas import Series, DataFrame import matplotlib.pyplot as plt # 시계열 시각화

뭐 파이썬 하시는 분은 기본이니 여기는 빠르게 넘어가고요.
2) 예제 파일 하나(AGG) 파일 읽어오기

# 구글 드라이브 마운틴 from google.colab import drive drive.mount("/content/drive") # 데이터 읽어오기(예제) # 일단 예제로 하나를 해보고요. df_agg = pd.read_csv("./etf_data/etf_us_AGG_bond.csv") df_agg.head()

일단 잘 되는지 보기 위해 ETF 시세 데이터 중 AGG 데이터를 가져와서 뿌려봅니다.
저의 파일은 colab에 etf_data 폴더에 아래와 같이 있어서 제대로 불러지는지 테스트 코딩해봅니다.

Date Open High Low Close Volume Currency Exchange name symbol 0 2010-01-04 103.27 103.41 103.15 103.31 987879 USD NYSE iShares Core US Aggregate Bond AGG 1 2010-01-05 103.62 103.82 103.52 103.78 500418 USD NYSE iShares Core US Aggregate Bond AGG 2 2010-01-06 103.82 103.82 103.41 103.72 714211 USD NYSE iShares Core US Aggregate Bond AGG 3 2010-01-07 103.66 103.71 103.47 103.60 705695 USD NYSE iShares Core US Aggregate Bond AGG 4 2010-01-08 103.87 103.87 103.54 103.66 412240 USD NYSE iShares Core US Aggregate Bond AGG

3) 이제 9개 파일의 데이터를 일단 다 가져와서 merge합니다.

# ETF TICKER 이름들 list etf_tickers = ['AGG', 'EEM', 'EFA', 'GLD', 'IGOV', 'QQQ', 'SPEM', 'SPY', 'VTI'] # ETF 자산구분 etf_types =['bond', 'equity', 'equity', 'commodity', 'bond', 'equity', 'equity', 'equity', 'equity'] df = {} data = DataFrame() for i in range(0,8) : df[i] = pd.read_csv("./etf_data/etf_us_{}_{}.csv".format(etf_tickers[i],etf_types[i]),index_col='Date') if i == 0 : data = df[i] else : data= pd.merge(data, df[i], on= 'Date', how = 'left')

4) 없는 값은 이전 종가를 그대로 가져간다고 봄

# 없는 값은 휴일로 간주하고 이전 값으로 채우는 방식으로 # nan값을 처리함 data = data.fillna(method='ffill')#bfill data.to_csv("./etf_data/etf_data_total.csv")

그래서 전체 데이타를 파일에 저장했습니다.
5) 이제 전체 종가를 data2데이타프레임에 저장하기

# ETF TICKER 이름들 list etf_tickers = ['AGG', 'EEM', 'EFA', 'GLD', 'IGOV', 'QQQ', 'SPEM', 'SPY', 'VTI'] # ETF 자산구분 etf_types =['bond', 'equity', 'equity', 'commodity', 'bond', 'equity', 'equity', 'equity', 'equity'] df = {} data2 = DataFrame() for i in range(0,8) : df[i] = pd.read_csv("./etf_data/etf_us_{}_{}.csv".format(etf_tickers[i],etf_types[i]),index_col='Date') data2[etf_tickers[i]]= df[i]['Close'] print(data2.head()) data2.isnull().sum() # 없는 값은 휴일로 간주하고 이전 값으로 채우는 방식으로 # nan값을 처리함 data2 = data2.fillna(method='ffill')#bfill data2.to_csv("./etf_data/etf_close_total_01.csv")

6) 데이터 시각화

data_p = data2.plot(title='ETF Close Charts') fig = data_p.get_figure() fig.set_size_inches(13.5,9)
ETF 종가차트

일단 오늘은 2010년 1월 4일부터 2021년 4월 22일(데이터 가져온 날짜)의 데이터를 시각화하는데까지만 하고 책을 보렵니다.
기본적으로 네이버 블로그를 버릴 수는 없어서 네이버 블로그에는 이제는 책리뷰,서평과 농장 생활을 올리고 보다 전문적인 투자분석 및 ETF를 통한 자산배분전략에 대한 이야기는 tistory에 올리도록 하렵니다.
이전 데이터가 보고싶으신 분은 제 네이버 블로그 참고하세요
https://blog.naver.com/dayhyub/222299816483

[해외주식 ETF 데이터 수집] investing.com에서 python 웹크롤링하기 #1

그동안 해보고 싶었던 일인데 책을 읽는 일이 더 좋아서 안 하고 있었습니다. 그래도 드디어 오늘부터 다시...

blog.naver.com

도저히 이곳에서 이론적인 부분을 적기에는 너무 깨지는 부분도 많고 편집이 힘들어서 이곳은 소스와 xml만 적고 이제 다음블러그(http://blog.daum.net/dayhyub)에 적는 방식으로 할 수 밖에 없음이 아쉬울 따름이다.

노티피케이션 이론 페이지 : http://blog.daum.net/dayhyub/78

=============================================================== 

1.1 토스트 노티피케이션(Toast Notification) 예제

XML(main.xml)

 




    
        
	

레이아웃 종류 설명
Linear Layout -가장 기본적인 레이아웃
-수직방향 또는 수평 방향으로,일렬로 위젯이나 뷰를 배치하는 레이아웃
Relative Layout -기준이 되는 레이아웃과의 상대적인 위치를 기반으로 뷰나 위젯의 위치를 지정하는 레이아웃
-간단하게 누구 밑에 누구,누구옆에 누구식으로 서로간의 위치 관계 지정
Frame Layout -형태상으로 모든 레이아웃 중 가장 단순
-차일드를 배치하는 규칙이 따로 없고 차일드는 프레임 좌상단에 표시
Table Layout -표형식으로 차일드를 배치하는 레이아웃
-가로,세로로 줄을 긋고 각 줄이 만나는 행과 열로 구성
-여러 개의 TableRow객체로 구성 하나의 행

 레이아웃 인플레이션(전개,Layout Inflation)

-XML문서에 정의된 레이아웃과 차일드 뷰의 속성을 읽어 실제 객체를 생성하는 동작
-인플레이션의 핵심 메서드 : setContentView
-setContentView : XML문서의 리소스 ID를 전달받아 이 정보대로 객체를 생성하여 액티비티 내부에 채움
-특별한 것이 아니라 레이아웃의 정보대로 객체를 생성하고 속성 변경 메소드를 순서대로 후출하는것
-XML정보대로 하나를 생성해내는 것이므로 임의의 객체를 XML로 부터 얻을 수 있는 좋은 방법

<여러 레이아웃 중첩으로 만들어보기>

기본적인 소스의 내용은

[나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것]참조




Singaporean 데스몬,웨이팅이 어린이집 김장을 하는데서 같이 하고 싶다고 해서 같이 시작한 어린이집 김장... 적지않은 150포기를 같이 하느라 고생했으나 그래도 열심히김장을 하다.

 이렇게 무우로 채써는거도 채칼로 같이하고

 

 

 

 

 

믹서기에서 속에 들어갈 야채들을 갈아주기도 하고

 

 배추속에 들어갈 여러 야채를 채썰기도 하고 (갓,대파,무우,양파등등)

 배추속은 내가 섞느라 아직도 허리가 아프고...

 

 백김치도 먹기위해서 만들어보고

 배추를 비비는 모습의 desmond 와 weiting들

 

 

 이렇게 멋지게 비볐어여

 

 다 하는데 정말 12시넘을 줄 알았는데 다행이 9시쯤 끝이나고 이렇게 진수성찬의 보쌈과 돼지등뼈찜까지해서 맛나게 저녁을 하다.

 

오늘은 데스몬,웨이팅이 만들어준 싱가폴식 돼지갈비찜...저녁식사 ...이거 홈스테이라기보단 국제적으로 도와주러 온 학생이 아닌가 싶을 정도로 잘 해줘서 우리부부가 참 고맙고 우리도 그래서 더더욱 잘 해주도록 노력하는 중...

 

그동안 필리핀에 하이엔 태풍으로 많은 사람들이 피해가 있어서 여행일지를 잠시동안은 못 쓰고 있었는데 이런 아이의 모습이 눈에 밟혀 필리핀 JTS에 기부를 할 생각을 하며 이렇게 다시 남은 2일간의 여행일지를 마무리 하려 한다.

======================================================================

일찍 자서인지 여행이어서 인지 6:30분이면 잠에서 깬다. 일어나서 시냇물과 함께 바닷가를 산책하러 나간다. 

 

 

'서른즈음에','그런사람또없습니다'등의 노래와 바닷가 파도소리를 들으며 백사장을 산책하다 돌아오는 길에는 바닷가 멋진 돌을 주우며(딸에게 선물하기 위해)오다 공기할 돌도 줍다.

7:10분에 오니 SW아빠가 바다구경중.. 해변 상인들이 몰려들어 손목벤드부터 진주목걸이세트등을 팔아달라고 호객 행위를 하다. 우리 마눌(시냇물)은 언니에게 부탁받은 진주목걸이세트를 3만원사고 총 35,000원에 흥정하고 1500페소를 준다.10명중 이 아저씨는 오는 횡재한 듯 하다. 라이터로 불까지 피우고 인증서도 보이며 진짜라고 항변했단다.

 

여하튼 한바탕의 흥행이 끝나고 아침식사를 하러 가다.

8시경 우리 부부는 딸이 좋아한다는 English Breakfast(210 Peso)를 시키고

SW아빠는 corned fork를 시켰는데 역시 느끼한 걸 싫어해서인지 많이 먹지를 못 했다. 하지만 우리 부부는 만족적이었고 방에 와서 맥심 믹서 커피까지 마시니 식사의 완성.... 난 전혀 느끼함이 안 느껴지는데 SW엄마는 느끼하다고 많이 못 먹었다.

9시경 우리는 이곳 Resort에서 11:30분에 나가기로 해서 바다에는 들어 가지 않고 해변의 파라솔 같은 곳에 앉아서 푸른 바다의 모습과 멋진 파도소리. 김광석님의 "그날들"의 노래를 들으며 이렇게 글을 쓴다.

 

 

 

 

 

 

 

 

 

 

여행의 즐거움 중 또 하나는 낯선 이들과의 교류가 아닐까? 필리핀에서 필리핀 주민과의 교감도 교감이지만 어제 스노우쿨링할때는 독일인들과 대화를 나누고 오늘 아침식사 중에는 지나가던 미국인이 인사하여 잠시 이런 저런 이야기를 했다. 그들은 필리핀에 살고 있다고 했고 우리나라도 다녀왔다고 한다. 그냥 이런저런 이야기를 하며 우리나라의 이야기도 하며 서로가 서로를 알아가는 게 또 하나의 큰 여행의 보람아닐까?

10:30분 우리는 비치에서 파라솔안에서의 휴식을 끝나고 방에 가서 샤워,방정리를 끝내고 11:30분 check out하고 11:30분에 여기서 출발하여 밀레 pier로 가서 12:30분에 배를 타고 1:30분에 바탕가스(batangas)에 도착할 예정이다.

 [우리가 잤던 방의 모습]

12:15분 우리는 Tomoraw Beach Resort에서 11:30분경 체크아웃( room비 : 1800페소 + 아침식사 : 210 * 2= 420 + 파인애플쥬스 70 Peso) 총 2290페소(아침식사에서 커피나 티는 공짜인데 안 시키고 파인애플쥬스를 시켜 추가됨) 지불하고 리조트에서 제공하는 차를 타고 Muelle Pier에서 각 240 peso * 4 = 960페소를 지불하고 바탕가스항구로 향하는 배에 탔다.

12:34분에 타고자 하는 모든 이들은 다 태어서 출발한다. 어제 배는 관광객들 위주 였다면 오늘 이곳에서 출발하는 배는 지역주민들이 거의 전부이고 20정도만 섬을 관광하러 온 관광객인 듯 하다.

 

오늘 배는 어제와 비교해보면 어제는 배가격 1500페소+지프니차가격 600페소이었는데, 오늘은 배가격 960페소 + 지프니 가격 없음, 2100 VS 960페소 2배가 넘는 가격의 차이이다. 여행은 얼마나 알고 하느냐가 참 중요하다는 것과 참 민도르 섬이라는 곳은 그래도 아직은 시골이라서 좀 정이 있는 곳이라는 생각이 든다.

그리고 어제의 배보단 오늘은 덜 출렁거려서인지 아님 사람이 더 많아서인지 배가 더 좋은건지 여하튼 어제의 배멀리 기운은 안 느끼고 내릴 수 있어서 너무 기분이 좋았다. 사실 어제는 약간 필리핀에 적응이 되었는지 막 혼자서 어떤 새로운 것도 해보고 싶었지만(쇼핑,맛사지....) 일정이 여의치 않아 이렇게 일찍 숙소로 와서 이 글을 적고 있다.

2시쯤에 민도르섬에서 바탕가스항구로 나오니 뚜야가 기다리고 있어서 바로 차를 타고 오는데 이렇게 차가 기다리고 바로바로 픽업해주는 여행방식이 얼마나 감사한지 이번 민도르 여행을 통해 느꼈다. 이런 방식이 아니면 필리핀은 항상 흥정해야 하고 또한 기다리는 시간, 또 방향등에 대한 여러가지를 고려해야 한다. 쉽지 않은 여행이었으리라. 새삼 집사님께 감사하는 맘이 든다.

그리고 민드로섬에서 리조트,항구에서 진주목걸이 나 산호팔지 이런 것들 파는데 항상 보면 400페소 부르면 나중 우리가 배 탈 땐 200페소엔 되는 경우가 많았다. 우리나라에서 시장에서처럼 흥정을 해서 깎는게 여기서는 쇼핑의 정석인 듯 하다.

돌아오는 길에 SW엄마가 느끼해서 한국음식을 먹고 싶다해서 아이들이 있는 곳 앞 식당 "조가네식당"(옛 로뎀식당)에서 식사를 했다.

 

 

 

 

 

 

 

 

나는 육계장, 시냇물,SW엄마는 제육볶음, SW아빠는 비빔밥 시켰다. 시키자마자 그냥 쌈채소들이 좌우로 배치가 된다. 헉 뭐지?... 우린 고기도 안 시켰는데 그리고 Default로 쌈장까지... 에라 SW아빠가 오삼불고기와 참이슬을 추가해서 정말 배부르게 맛있게 먹었다.우리가 몇일 한국음식을 안 먹어서일까? 아님 그런 분위기에 압도당해서일까? 나의 입맛에는 비빔밥, 육계장은 정말 맛있고 담백했는데 HI아빠는 그리 맛난 집은 아니라니... 각자의 입맛은 다르니깐... 그렇게 필리핀에서 긴 여행하다가 한국음식이 그리우면 한번쯤 가볼만한 음식점이다.

원래 먹을 때는 엄청나게 좋게 쓰려했는데 최대한 객관적으로 적어보겠다고 생각하여 시작한 일지이기에 좀 그 사장님에게는 미안함이 지금은 든다.

 

 

 

 

 

 

 이 식당의 재료는 이렇게 뒷밭에서 이렇게 채소를 가꾸기도 하고 한국에서 온 장들을 쓰고 있다.

이 앞에는 이렇게 마사지 샵도 있다.

5. ViewViewGroup

(가장 view와 viewgroup을 잘 정리한 이미지인데 인터넷 어디에서 찾았는지 몰라서 출처를 적지 못함)

View의 속성

1) 아이디

- 객체는 한 개의 정수형의 아이디(android:id)만 가짐

- 아이디는 xml레이아웃파일에 정의 

 

-@기호의 의미는 ID를 리소스에 정의하거나 참조한다는 뜻
-@ 기회를 빠뜨리지 않도록 주의하자!
-+기호는 신규로 ID를 정의한다는 의미

2) Position

① 크기(size) : 뷰의(width) 과 높이(Height)

padding : 뷰와 뷰안의 콘텐트 사이 간격을 지정하는 값

margin : 뷰그룹의 속성, 부모뷰와 자식뷰간의 거리

 

 3) 뷰크기 설정 방법

-구체적인 숫자로 전단하는 방법
-MATCH_PARENT : 부모뷰의 크기만큼 다 채움
-WRAP_CONTENT : 뷰가 가진 콘텐트의 크기에 맞게  뷰의 크기 조정

기본위젯

1) TextView
 -View 클래스에서 파생된 클래스
 -텍스트를 표시하는 것
 -Button클래스와 에디트텍스트 클랙스의 부모 클래스

   [속성]

 -textSize
 -textStyle : bold,italic,normal
 -Text : 출력될 텍스트 문자열 지칭속성
 -textColor
 -Layout_width,layout_height
 -singleLine : 문자열이 위젯 크기보다 클 경우 강제로

     한줄로 맞추는 속성

2) ImageView

 -Png, jpeg,gif,bitmap 같은 다양한 이미지 소스로부터

   이미지를 화면에 출력하는 객체

   [속성]

 -Src : 화면에 출력할 이미지의 아이디를 지정하는 속성

   ) res/drawable-ldpi/ic_launch.png

        android:src = “@ic_launch

 -scaleType : ImageView의 크기에 맞게 이미지 크기를 조정하거나 움직이게 하는 속성
 -maxWidth,maxHeight : 이미지가 이미지뷰에 붙여질 때의

   최대 크기

 -adjustViewBounds : 이미지 크기의 가로세로비율에 맞게

   이미지 뷰의 크기 조정여부

 -cropToPadding: 패딩을 맞추기위해 이미지 일부를 잘라낼

   지 여부

 -Tint : 이미지에 틴트 컬러입히는속성

3) 스크롤 (scroll view)

-주로 화면에 내용이 많은 경우에 이를 화면에 벗어나서

   표시할 수 없을 때 스크롤을 이용해 화면에 내용 출력

4) 버튼

-클릭이벤트에 반응해 사용자 요청을 처리하는 위젯
-이미지버튼 : 이미지를 버튼에 삽입하면
-체크박스 : 체크됐는지,안 됐는지의 두가지 상태를 가진

   특별한 타입의 버튼

-라디오버튼 : 라디오 그룹에 묶여있는 라디오는 한 개만

   선택

  -토글버튼 : 채크박스와 유사하며 텍스트 변경

2강_프로젝트구성 및 View_1112.pptx

 

4.버전

버전 코드명 API 점유율
2.2 프로요 8 2.20%
Froyo
2.3.3 - 2.3.7 진저브래드 10 28.50%
Gingerbread
3.2 허니콤 13 0.10%
Honeycomb
4.0.3 - 4.0.4 아이스크림샌드위치 15 20.60%
Ice Cream Sandwich
4.1.x 젤리빈
Jelly Bean
16 36.50%
4.2.x 17 10.60%
4.3 18 1.50%

 참고사이트 : http://ko.wikipedia.org/wiki/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC

5.Screen Size

) 안드로이드에서 사용하는 화면 관련 용어

① 화면크기(Screen Size) : 화면의 물리적인 크기 의미

- 대각선의 길이로 표기

- 4인치, 3.5인치 처럼 주로 인치 단위를 사용

-(large), (normal), (small), 초대형(xlarge)로 분류

- 초대형(xlarge) : 2.3이후부터 7인치 초과의 크기를 분류, 갤럭시노트2도 여기 해당

종횡비(Aspect ratio) : 가로와 세로 길이의 비율

- 4:3 16:9등의 비율로 표기하는 것이 일반적

- Long, notlong 분류

- 호환성 확보와는 크게 상관없음

화소수/해상도(Resolution) : 화면을 구성하는 점의 개수

- 240 * 320 , 480 * 800, 720 * 1280 식으로 가로 * 세로로 표기

- 안드로이드는 항상 가로를 먼저 칭함

- 화소수에 상관없이 배치해야 하므로 레이아웃에서는 이 값을 직접 참조하지 않음

④ 밀도(Density) : 일정 길이 안에 점이 몇 개나 있는지를 나타냄.

- 보통 인치당 점의 개수인 dpi로 표기

- 이 값이 높을수록 좁은 면적에 많은 정보를 보여줄 수 있음

- 밀도에 따라 UI의 실제 길이가 결정되므로 실질적으로 가장 중요한 정보

-초고밀도(xhdpi: 320), (high: 240), (medium : 160), (low : 120)분류
-(http://blog.daum.net/dayhyub/65)
  ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total
Small 9.20%           9.20%
Normal 0.10% 15.10%   33.40% 22.20% 8.80% 79.60%
Large 0.60% 3.60% 1.20% 0.50% 0.50%   6.40%
Xlarge   4.40%   0.30% 0.10%   4.80%
Total 9.90% 23.10% 1.20% 34.20% 22.80% 8.80%  

 

 

 

( http://developer.android.com/about/dashboards/index.html)

1) Window - Android Virtual Device Manager를 클릭

 

2) New버튼을 눌러서 새로운 안드로이드 기계를

 3) 새로운 안드로이드 기계를 만드는 과정

이름 용도
AVD Name  안드로이드 버츄얼 디바이스 이름
원하는 이름 (myavd)
Device 해상도 설정
무난한 4인치 디스플레이 해상도로 선택
Memory Options  휴대폰 메모리의 양 설정
Interneal Storage 휴대폰 내장메모리 사이즈 설정
Target  어떤 버전으로 올릴지를 선택

 4) AVD선택하신후 Start

5) Scale display to real size : 말그대로 실제사이즈로 실행시키는지 정하는 체크박스  작게 떠서 좀더 빨리 뜬다고 보면 됨

6) 안드로이드 에뮬레이터 동중

 

7) 안드로이드 부팅중(핸드폰 전원켜는 중)

8) Avd실행

 

2강_프로젝트구성 및 View_1112.pptx

 

 

[ 폴더 ]

폴더 이름 설명 폴더의 파일들
src 안드로이드 코드를 작성하는 부분. ProjectActivity.java
gen res에서 내부적으로 생성한 컴포넌트(버튼, 뷰, 체크박스 등...)에 대한 리소스 주소를 상수화하여 자동 빌드해주며 코드상에서 컴포넌트들에 대한 접근을 쉽게 하기 위한 목적으로 존재하는 파일 R.java
assets res에 의해 참조하는 곳이 아닌 절대경로를 통하여 또다른 리소스를 참조 폴더 외부 db파일 등…
보통 오디오, 동영상, 웹 컨텐츠들을 저장
res 이미지 , 레이아웃, 스트링 등의 정적 개체들이 저장 icon.png
Drawable : 이미지 저장 main.xml
Layout : view,화면구성부분  strings.xml
Values :  string등 ,color ,anim , raw , menu 등의 폴더를 추가로 등록 지정 가능  

[ 파일 ]

파일 이름 설명
ProjectActivity.java 프로젝트의 최초 액티비티를 나타내는 파일입니다. 액티비티는 간단히 말씀드리자면 앱이 사용자에게 보여주는 화면이라고 보시면 됩니다. 보다 자세한 내용은 별도로 작성 예정입니다.
R.java R.java 파일은 프로젝트를 빌드할 때 생성되며, 클래스 R을 정의합니다. 이 클래스는 attr, drawable, layout, string이라는 내부 클래스를 추가로 정의합니다. 이들 안에 프로젝트와 관계된 리소스들의 ID들이 정의됩니다.
icon.png 프로젝트로 빌드한 앱의 아이콘 파일입니다. 기기에 다운로드 된 앱의 그것은 안드로이드의 메뉴에서 보실 수 있습니다. 이 파일은 drawable-hdpi, drawable-ldpi, drawable-mdpi 폴더에 다른 크기로 저장되어 있습니다. 어떤 파일이 사용되는지는 안드로이드 기기의 해상도와 화면의 크기에 따라 다릅니다.
main.xml 프로젝트의 최초 액티비티가 어떤 객체들을 갖는지를 정의하는 파일입니다. 초기 프로젝트에서 이 파일은 LinearLayout 객체, TextView 객체가 정의되어 있습니다.
strings.xml 프로젝트와 관계된 문구들이 정의되어 있습니다. 초기 프로젝트에는 앱의 이름, 인사말이 이 파일 안에 있습니다.
AndroidManifest.xml AndroidManifest.xml은 만들고자 하는 앱에 대한 정보와 설정들을 담는 파일입니다. 초기에 이 파일에 담겨있는 정보들은 패키지, 버전, 아이콘, 앱의 이름, 액티비티 관련 값들 등입니다.

[ 메니페스트 구성 ]

설명
Manifest 프로젝트의 패키지,버전등의 전반적인 정보 
Application 애플리케이션에서 사용하는 이름, 아이콘등과 액티비티의 추가를 할 수 있음
Permissions 애플리케이션이 사용하는 권한 신청 
너무 많은 권한을 요구하면 사용자가 외면할 수 있음
반드시 필요한 권한만 설정
Instrumentation 테스트를 위해 제공하는 Instrumentation 프레임 워크에 관한 설정
AndroidManifest.xml 다른 탭에서 GUI환경으로 제공하는 것을 일반 Xml 로 수정

2강_프로젝트구성 및 View_1112.pptx

 

 

2강_프로젝트구성 및 View_1112.pptx

 (1) File > New > Android Project

(2) 프로젝트 생성

Application

Name

응용프로그램 자체의 이름
HelloWorld로 입력

Project Name

프로젝트 이름 입력
이클립스의 Project Explorer에서 프로젝트 식별 명칭으로 사용
여기서는 HelloWorld사용

Package Name

프로젝트 생성 클래스가 저장될 패키지 이름,클래스파일 저장될 폴더 경로
패키지명은 고유해야함
유일한 패키지를 사용해야만 구글 플레이에 업로드 가능

 

 

Create custom launcher icon

사용자 정의 아이콘을 사용할지 여부 설정 체크박스

Create activity

프로젝트의 액티비티 생성 여부 선택

Mark this project as a library

프로젝트를 라이브러리로 만들어 사용할 때 체크

Create Project in Workspace

프로젝트 소스를 이클립스 workspace에 생성하는지 여부 옵션
체크 해제시에는 원하는 위치 프로젝트 생성 가능

 

Foreground

홈 화면에서 보이는 launcher 아이콘을 선택하는 화면
Image : 별도의 이미지 선택
Text : 문자를 아이콘으로 사용
clipart : 안드로이드 제공 클립아트 중 선택

shape

아이콘 배경이 되는 부분 설정
none 배경이 투명
Square 사각형
Circle 원형
(3) Create Activity

 (4) New Blank Activity

 

Create custom launcher icon

사용자 정의 아이콘을 사용할지 여부 설정 체크박스

Create activity

프로젝트의 액티비티 생성 여부 선택

Mark this project as a library

프로젝트를 라이브러리로 만들어 사용할 때 체크

Create Project in Workspace

프로젝트 소스를 이클립스 workspace에 생성하는지 여부 옵션
체크 해제시에는 원하는 위치 프로젝트 생성 가능

+ Recent posts