달력

8

« 2020/8 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  

디바이스 보안 설정

폰(디바이스) > 환경 설정 > 더보기 > 보안

   

알 수 없는 출처 체크

   

확인

   

설정 완료!

   

Posted by codedragon codedragon

댓글을 달아 주세요

디바이스 USB 디버깅 설정 하기

환경설정

   

더보기

   

시스템 관리자 그룹에 보면 개발자 옵션이 보입니다.

날짜 및 시간과 디바이스 정보 항목 사이에 있습니다.

개발자 옵션 터치

   

USB 디버깅 체크

   

확인

   

개발자 모드 설정 완료!

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

폰(디바이스) 테스트 설정 단계

   

1) 폰(디바이스)의 환경 설정 USB 디버깅 체크

2) 폰(디바이스)의 환결설정에서 알 수 없는 출처 체크 설정 (보안설정)

3) 폰(디바이스)의 드라이버 설치

   

* 애뮬리에터 테스트는 기본적인 테스트만 함, 좀 더 다양한 기능은 디바이스 테스트(폰 케스트)를 수해야 합니다.


http://codedragon.tistory.com/224

http://codedragon.tistory.com/225

http://codedragon.tistory.com/226

Posted by codedragon codedragon

댓글을 달아 주세요

2014. 6. 12. 00:48

크기단위 Development/Android

크기

안드로이드에서 위젯의 패딩값과 같이 각종 크기를 표현할 때 사용

   

단위

설명

in, mm

각각 인치와 밀리미터를 뜻,

화면 해상도에 따라 실제 크기를 나타냅니다.

px

화면의 기본단위 pixel, 

해상도에 따라 크기가 달라집니다

pt

포인트, 출판 업계 용어로 75분의 1인치를 말합니다.

화면 해상도에 따른 실제 크기를 나타냅니다.

dp(dip)

기기 기준 픽셀(device-dependent pixels), 인치당 160개의 점이 있는 디스플레이에서 1dp = 1px, dp단위로 지정하면 해상도만큼 길이가 늘어나 해상도에 상관없이 비슷한 크기로 보입니다.

글자 외 요소 제어 시 권장.

sp

배율 기준 픽셀(scale-dependent pixels),

sp는 사용자가 지정한 글꼴의 기본 크기에 비례해 크기가 변경

글자 제어 시 권장

em

글꼴과 상관없이 동일한 텍스트 크기 표시

*코드에서 크기 값은 부동소수점(float)


   

Posted by codedragon codedragon

댓글을 달아 주세요

 

View

안드로이드 UI의 기본적인 구축 요소.

안드로이드 SDK의 거의 모든 위젯과 레이아웃 클래스의 기반 클래스

   

   

View 클래스의 기본 메소드와 용도 

메서드

용도

setBackgroundColor(int color)

백그라운드 색상 설정

setBackgroundDrawable(Drawable d)

백그라운드 이미지 설정

setMinimumHeight(int minHeight)

최소 높이 설정

setMinimumWidth(int minWidth)

최소 너비 설정

setPadding(int left, int right, int top, int bottom)

여백 사이즈 설정

setClickable(boolean c)

엘리먼트의 클릭 가능 여부 체크

setFocusable(boolean f)

엘리먼트의 포커스 가능 여부 체크

setOnClickListener(OnClickListener l)

클릭 이벤트 발생 여부 체크 설정

setOnFocusChangeListener(OnFocusChangeListener l)

포커스 이벤트 발생 여부 체크 설정

setLayoutParams(ViewGroup.LayoutParams l)

레이아웃 파라미터 설정

   

   

   

TextView

텍스트뷰는 Activity에 테스트(문자열)을 표시하기 위한 뷰이다.

   

TextView 주요 메서드 

메서드

용도

setGravity(int gravity)

중력(위, 아래, 왼쪽, 오른쪽 등) 셋팅

setHeight(int height)

높이 셋팅

setWidth(int width)

넓이 셋팅

setTypeFace(TypeFace face)

서체 셋팅

setText(CharSequence text)

텍스트 셋팅

   

   

XML 레이아웃 파일에 기재되는 주요 속성 

속성

문자열,리소드 ID

의미

android:layout_width

수치와 단위

sp

dp

px

안드로이드에서기본적으로 제공하는 레이아웃들을 사용할 때 항상 지정해야 하는 속성

누락시 오류발생

android:layout_height

수치와 단위

sp

dp

px

안드로이드에서기본적으로 제공하는 레이아웃들을 사용할 때 항상 지정해야 하는 속성

누락시 오류발생

android:typeface

normal

sans

serif

monospace

  

문자열 스타일 지정(문자열 폰트 설정)

안드로이드에서 제공하는 몇개의 내장 폰트를 설정할 수 있습니다.

  

android:textStyle

italic

bold

  

굵은 글꼴(bold), 기울인 글꼴(italic), 굵은 글꼴과 기울인 글꼴(bold_italic)로 할지 지정

| 기호를 통해 여러 개의 속성값 지정( bold|italic )

  

android:textColor

#FF0000 – 빨간색

색깔을 16진수 RGB 포맷으로 지정

android:text

문자열, 리소드ID

텍스트 뷰로 표시하는 텍스트

android:gravity

left, center 등

뷰보다 텍스트가 짧을 때 정렬 위치

android:maxLines

정수값

표시할 최대 행수

android:minLines

정수값

표시할 최소 행수

android:textSize

수치와 단위

sp

dp

px

텍스트의 사이즈를 지정함.

단위에는 sp(스케일된 픽셀수)나 mm(밀리미터)등을 사용할 수 있음

android:cursorVisible

true, false

true의 경우에는 cursor를 표시함

android:password

true, false

true의 경우에는 입력된 문자를 표시하지 않고 패스워드 Dot를 표시함

android:singleLine

true, false

false: 기본값, 여러줄로 표시

android:lineSpacingMultiplier

정수값

줄 간격을 배수로 설정

android:lineSpacingExtra

정수값

줄 간격을 여유값으로 설정

android:capitalize

characters(글자)

words(단어)

sentences(문장)

각 단위로 맨 앞 글자를 대문자로 표시

android:ellipsize

none(기본값, 뒷부분)

start(앞부분)

middle(중간부분)

end(끝부분)

문자열에서 잘라서 표시할 부분을 설정

줄임 표시

android:margin

수치와 단위

위젯과 내용물 사이의 여백

android:layout_margin

수치와 단위

위젯과 부모 컨테이너 사이의 여백

   

   

id속성

선언

@+id/[ID]

참조

R.id.[ID]

   

   

backgroud 속성

색상지정 Format

#RGB

#ARGB

#RRGGBB

#AARRGGBB

이미지 리소스 지정

android:backgroud="@drawable/mainimage"

   

   

여백 속성 도식도

   

   

autoLink 속성 값

텍스트에 문맥 링크 추가

문자열에 들어 있는 링크 정보를 자동으로 찾아 링크 색상으로 표시하고 누르면 필요한 기능을 수행하게 됩니다.

autoLink 속성에 사용할 수 있는 값 (ex : android:autoLink="web|email")

내용

web

텍스트 안의 URL을 링크로 만듭니다.

클릭하면 웹 브라우저가 실행되면서 해당 페이지가 표시됩니다.

email

텍스트 안의 이메일 주소를 링크로 만듭니다.

클릭하면 메일 클라이언트가 실행됩니다.(해당 수신자가 자동으로 입력된 상태로)

phone

텍스트 안의 전화번호를 링크로 만듭니다.

클릭하면 전화 걸기 응용프로그램이 실행됩니다.(해당 번호가 입력된 상태로)

map

텍스트 안의 지리적 주소를 링크로 만듭니다.

클릭하면 Google 지도 응용프로그램이 실행되고 해당 위치정보를 표시해줍니다.

none

자동 링크를 사용하지 않음(기본값)

all

web, email, phone, map을 모두 사용

linksClickable="false" 여러 링크 대상 형식들을 강조해서 표시하되 사용자가 클릭하지는 못 함

   

   

View의 계층도

TAG @+id, aarrggbb, Android, android:capitalize, android:cursorVisible, android:ellipsize, android:gravity, android:layout_height, android:layout_margin, android:layout_width, android:lineSpacingExtra, android:lineSpacingMultiplier, android:margin, android:maxLines, android:minLines, android:password, android:singleLine, android:text, android:textColor, android:textSize, android:textStyle, android:typeface, App, argb, autoLink, backgroud 속성, bold, button, cursor, eclipse, email, google, id속성, italic, java, java programming, JDK, LinearLayout, linksClickable, map, margin, mobile, monospace, object, padding, phone, R.id, rgb, rrggbb, sans, sdk, serif, setBackgroundColor, setBackgroundDrawable, setClickable, setFocusable, setGravity, setHeight, setLayoutParams, setMinimumHeight, setMinimumWidth, setOnClickListener, setOnFocusChangeListener, setPadding, setText, setTypeFace, setWidth, smartphone, SUN, Sun microsystems, TextView, View class, View 계층도, View 클래스, viewgroup, View의 계층도, web, XML 레이아웃, 구글, 너비, 넓이, 높이, 레이아웃, 레이아웃 파라미터, 모바일폰, 문자열 스타일, 문자열 폰트, 백그라운드, 부모 컨테이너, 뷰 계층도, 뷰 클래스, 색상지정, 색상지정 Format, 색상지정 형식, 서체, 셋팅, 스마트폰, 안드로이드, 안드로이드 sdk, , 엘리먼트, 엘리먼트 클릭, 엘리먼트 포커스, 여백, 여백 사이즈, 여백 속성, 여백 속성 도식도, 위젯, 이미지 리소스 지정, 이클립스, 자바, 자바 프로그래밍, 줄 간격, 줄임, 중력, 클릭 이벤트, 텍스트, 텍스트뷰, 포커스, 포커스 이벤트
Posted by codedragon codedragon

댓글을 달아 주세요

용어

설명

뷰(View)

액티비티안에 들어가는 각각의 화면 구성요소

컨트롤과 위젯이라는 이름으로 불리는 UI구성요소

즉, 사용자의 눈에 보이는 화면 구성요소 입니다.

XML레이아웃에 정의된 뷰들은 애플리케이션이 시작될 때 메모리에 객체로 만들어집니다.

프로젝트가 빌드될 때 XML레이아웃에 정의된 정보는 내부적으로 해석되어 자바코드에서 new연산자로 객체를 만드는 것처럼 동일하게 객체를 생성할 수 있습니다. 이렇게 메모리에 객체를 만드는 과정을 인플레이션이라고 합니다.

인플레이션(Inflation)

실행시점에 XML레이아웃 정보를 메모리상의 객체로 만드는 과정

위젯(Widget)

뷰 중에서 컨트롤 역할을 하는 화면 구성 요소

뷰그룹(ViewGroup)

뷰들을 여러 개 포함하고 있는 것

뷰들을 담고 있는 그릇

뷰그룹을 이용해 그 안에 들어있는 뷰들의 위치를 지정

레이아웃(Layout)

뷰그룹 중 자주 사용하는 뷰의 배치 방식을 정의한 것(그 안의 뷰들을 배치하는 역할)

위젯셀(Widget Cell)

위젯이나 뷰가 부모 컨너이너로 부터 할당 받은 공간

패딩(Padding)

뷰안의 내용물과 뷰 외곽선 상의 여백

마진(Margin)

부모 컨테이너의 외곽선과 뷰 사이의 여백

액션 아이템(Action Item)

일반적으로 메뉴는 오버플로우 메뉴 형태(아래쪽에서 표시되는 형태)로 지원되지만 ActionBar에 등록가능하며 이렇게 ActionBar에 등록된 항목

번들(번들 객체)

액티비티간에 데이터를 전달하기 위해 사용

인텐트 안에 들어 있기 때문에 putXXX( )와 getXXX( )를 통해 데이터를 넣거나 얻을 수 있습니다.

 

Posted by codedragon codedragon

댓글을 달아 주세요

workspace 폴더안에 있는 프로젝트 파일을 eclipse에 import하기

   

   

eclipse > File > Import…

   

Android-Existing Android Code Into Workspace선택

Next

   

Browse...

   

workspace폴더 선택

확인

   

Deselect All >

Projects항목에서 import할 대상 만 체크 >

Copy projects into workspace 체크

Finish


임포트 완료!

Package Explorer에서 import된 프로젝트 확인 가능

Posted by codedragon codedragon

댓글을 달아 주세요

기본 형태 프로젝트 만들기 순서

   

  1. appcompat_v7_x 삭제
  2. project.properties 정보 수정
  3. MainActivity.java 소스 정리

   

http://codedragon.tistory.com/216

http://codedragon.tistory.com/217

Posted by codedragon codedragon

댓글을 달아 주세요

MainActivity.java

  1. 파일의 빨강색으로 마킹한 부분 삭제/수정
  2. ActionBarActivity > Activity 로 수정
  3. 마우스 우클릭 > Source > Organize Imports

   

package kr.android.helloworld;

   

import android.support.v7.app.ActionBarActivity;

import android.support.v7.app.ActionBar;

import android.support.v4.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.os.Build;

   

public class MainActivity extends ActionBarActivity {

   

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

   

if (savedInstanceState == null) {

getSupportFragmentManager().beginTransaction()

.add(R.id.container, new PlaceholderFragment())

.commit();

}

}

   

   

@Override

public boolean onCreateOptionsMenu(Menu menu) {

 

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

   

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

   

/**

* A placeholder fragment containing a simple view.

*/

public static class PlaceholderFragment extends Fragment {

   

public PlaceholderFragment() {

}

   

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_main, container, false);

return rootView;

}

}

   

}

   

최초 프로젝트 생성 후 MainActivity.java파일

   

기본 형태로 만든 MainActivity.java파일 내용

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

appcompat_v7_2폴더 삭제

최초 안드로이드 프로젝트 생성시 appcompat_v7_숫자로 생성되는 폴더는 삭제해 주고 appcompatv7만 남겨 둡니다.

   

appcompat_v7_2폴더 선택 > 마우스 우클릭 > Delete

   

Delete project contents on disk(cannt be undone) 체크 >

OK

   

   

   

   

project.properties 정보 수정

project.properties파일에서

android.library.reference.1=../appcompat_v7_2

android.library.reference.1=../appcompat_v7 로 수정

(프로젝트 생성시 마다 추가되는 동일한 라이브러리 파일들을 사용하지 않을 것이기 때문에 기존의 v7을 계속 사용하고 새로 생성되는 v7_x파일은 삭제합니다)

   

Posted by codedragon codedragon

댓글을 달아 주세요