본문 바로가기

Android

(43)
소켓통신 기본사항 클라이언트 * 기본사항 InetAddressSocket : 소켓InputStream : 입력 스트림 - 바이트 단위 입력 스트림InputStreamReader : 바이트 스트림으로부터 문자 단위로 읽어들임. 지정한 문자 인코딩에 따라 변환BufferedReader : 리더에 버퍼 기능을 추가한 입력 스트림 클래스 OutputStream : 출력용 스트림OutputStreamWriter : 문자단위 출력BufferedWriter : 버퍼 기능PrinterWriter : 형식있는 텍스트를 스트림을 통해 출력(println 과 같은 메쏘드 지원) * 초기화 // 서버에 연결할 소켓을 생성InetAddress addr = InetAddress.getByName( "서버ip" );Socket mClient = n..
서비스1 - 로컬서비스 ● 로컬 서비스 - 액티비티와 큰 차이없으나 UI 없이 백그라운드로 수행되는 객체.명시적으로 서비스 클래스를 통해 구동하는 것을 로컬 서비스,묵시적으로 액션 및 인텐트 필터를 사용하는 서비스를 리모트 서비스라 한다. 리모트 서비스에 대해서는 다음에 다룰 예정 ... -_-;; 헉헉 서비스 구동 :startService(new Intent(SampleActivity.this, SampleService.class)); 서비스 중지 :stopService(new Intent(SampleActivity.this, SampleService.class)); ● 샘플 : 로컬 서비스를 구동해 상태바에 알림문자 및 아이콘 보이기서비스를 백그라운드로 구동하면 해당 상태를 알기가 어려운데, 이런경우 Notification..
LayoutInflater를 사용해 레이아웃 구성하기 기본구조.LayoutInflater는 일종의 xml 파서이다.layout 을 위해 xml에 기술된 데이터를 파싱해서 ViewGroup을 생성하는 역할을 한다.파싱된 ViewGroup으로 하위 뷰들을 findViewById() 등을 통해 접근할 수 있게 된다. 1. 일단 메인 레이아웃을 읽어온다.LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE );ViewGroup mainLayout = inflater.inflate( R.layout.main_layout ); 2. 덧붙일 레이아웃을 읽어온다.ViewGroup subTitleLayout = inflater.inflate( R.layout.sub_t..
액티비티 변경 에니메이션 안드로이드 2.0 (api level 5) 부터 액티비티가 보여지고, 없어질때 뷰처럼 에니메이션을설정할 수 있다. 새로 추가된 메쏘드로 간단히 구현할 수 있는데... 음 점점 코더로 만들어 버리는 안드로이드 -_-;;Activity.overridePendingTransition( ); 사용법도 간단.startActivity(); 를 하고overridePendingTransition ( R.anim.new_activie, R.anim.old_activity ); 에니메이션이 설정되지 않은 경우는 새 액티비티는 오른쪽에서 슬라이드-인 되고,기존 액티비티는 왼쪽으로 슬라이드-아웃된다. 에니메이션은 기존 방식과 동일하게 res/anim 폴더에 xml로 작성하던가 Animation 객체를 생성해 사용해도 된다.
Animation 관련 샘플 alphatranslatescalelayoutAnimation 안드로이드 샘플 apiDemos에 포함된 에니메이션 관련 xml 들입니다.참고용도~~~ * 알파 : 서서히 나타나는 에니메이션으로 스플래시 윈도우나 뷰들을 자연스럽게 나타나고자할때 사용된다.(알파값을 반대로 하면 서서히 사라짐) * 이동 * 왼쪽으로 이동하며 서서히 나타남 * 왼쪽으로 이동하며 서서히 사라짐 * 위로 이동하며 나타나기 * 7번 흔들기 * 스케일 * 스케일 + 알파를 사용한 축소되며 사라지기 * 서서히 나타나며 원래 크기보다 커졌다가 원래크기로 돌아가는 에니메이션 * 레이아웃 에니메이션 : 레이아웃에 포함된 각 뷰들이 보여지는 에니메이션 설정
ViewFlipper로 뷰 교체하기 뷰플리퍼는 뷰를 한나씩 교체해주는 녀석이다. 플리퍼가 뷰를 교체할때setInAnimation() / setOutAnimation 메쏘드를 사용해 어떤 형태로 에니메이션 되면서교체할지 결정할 수 있다. setInAnimation()은 다음 뷰가 나타날때의 에니메이션.setOutAnimation()은 현재 뷰가 사라질때의 에니메이션. 1. 레이아웃구성플리퍼 객체를 만드고, 포함될 뷰들을 정의한다. 2. 에니메이션 구성res/anim 에 원하는 에니메이션을 구성한다.에니메이션 형태는 에니메이션 관련 포스트 내용 참조. 3. 코드 구성private ViewFlipper mFlipper;..mFlipper = (ViewFlipper) this.findViewById( R.id.flipper );mFlipper.s..
에니메이션 interpolater interpolator: 에니메이션이 일어나는 동안의 횟수,속도를 조절하거나 시작과 종료시의효과를 추가 할 수 있다.(점점 빨라지는 에니메이션, 종료시 스프링처럼 바운딩 되는 에니메이션 등..) 보통 안드로이드에 이미 정의되어 있는 "@android:anim/..." interpolator를 사용하나특정 값은 변경할 수 있다. 예 ) cycle_interpolator 의 반복수 변경 : res/anim/cycle_test.xml 구글 샘플 프로젝트animation > interpolators 텍스트 뷰를 좌에서 우로 에니메이션 시키는 예제.. 1. 레이아웃중 에니메이션 시킬 뷰와 부모 뷰를 얻는다.final View target = findViewById( R.id.target );final View p..
Splash window 보이기 1. 레이아웃 작성res/layout/splash.xml 2. 엑티비티 구성 : 별거읍다.. 이미지 보이고, 원하는 시간 지난 후 다른 액티비티호출해주면 끝. private ImageView splash; @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R,layout.splash); splash = (ImageView) findViewById(R.id.splash);Handle handle = new Handle();handle.postDelayed( new Runnable() {@Overridepublic void run() {// start other ac..