Cute Hello Kitty Kaoani

Android Programming

Android Programming

[Mobile Programming] NFC

NFC (Near Field Communication) 단거리 무선 통신 기술의 일종 1-4cm이하의 가까운 거리 통신 13.56mhz 주파수 사용 전송 속도 106~848kbit/s NFC 특징 연결 절차 간단 발견, 페어링 절차 없음 NFC 태그에 가까이 가면 자동 동작 보안, 사생활 침해 염려 비교적 적음 NFC 모드 Read.write 모드 : NFC 태그에 저장된 정보를 단순히 받아 처리, 단순한 방법 P2P 모드 : 2개의 NFC 장치들이 데이터 주고받음 Card emulation : 무선 카드처럼 동작(예) 마트 POS 미널에 설치된 NFC 리더 장치) NFC에서 사용되는 데이터의 형식 NDEF : NFC에서 데이터를 서로 교환 포맷 NDEF 레코드에 'TNF/type/id/payload 값..

Android Programming

[Mobile Programming] 센서

센서 하드웨어 센서 스마트폰 역할이 커져 연결되는 센서 많아짐 독립센서, 복합센서 주요센서 종류 자이로(위치) 근접(거리) 가속도(가속도) 주변광(주변의 밝기) 나침반(방향) 헬스 [안드로이드의 센서관리자 클래스] SensorManager 클래스 : 장치에 내장되어 있는 센서의 리스트를 먼저 제공받기 getDefaultSensor : 목적에 맞는 센서 지정 주어진 타입에 대한 디폴트 센서 얻음 복합센서인 경우 데이터가 필터링 getSensorList()로 원천 센서에 접근 sensor_manager클래스 메서드 // 예시) 가속도 센서에 대한 정보 얻기 accelerometer = sensor_manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 실습 센서의 종류..

Android Programming

[Mobile Programming] 어댑터 뷰

리스트뷰와 그리드뷰 어댑터 뷰 특정한 데이터를 화면에 표시하는 방법 제공 외부 소스와 어댑터 뷰의 중간에 위치해 외부소스를 가져와서 어댑터 뷰에 공급 AdapterView 하위 클래스 List View : string 형태의 내용을 list 형식으로 표시 Grid View, Spinner, Gallery : 이미지 데이터를 화면에 여러 개 표시 리스트 뷰 여러 개의 데이터를 아래쪽으로 펼치는 리스트 모양으로 보여주며 이 중 하나를 선택하는 용도로 사용 [XMl을 이용한 리스트 뷰 만들기] 리스트뷰의 아이템 String 배열 리스트 뷰 관련 변수 생성, 이 변수를 리스트 뷰 위젯을 대응 ArrayAdapter 변수 선언, 첫 번째 정의한 배열로 채움 ArrayAdapter를 리스트 뷰 변수에 적용 리스트뷰..

Android Programming

[Mobile Programming] 데이터 관리 및 파일처리

데이터 관리 데이터 스토리지 : 안드로이드에서 사용 가능한 데이터 파일 내부 및 외부 저장 메모리 파일 데이터베이스 파일 웹 서버 파일 데이터 저장 위치에 따른 분류 공유 프레퍼런스 : 키-값-쌍으로 사적이고 기초적인 데이터 저장 내부 저장 : 사적인 데이터를 내부 저장소에 저장 외부 저장 : 공유데이터를 공유 외부 저장소에 저장 SQLite 데이터베이스 : 구조화된 데이터를 사적인 데이터베이스에 저장 네트워크 연결 : 데이터를 네트워크 서버에 저장 공유 프레퍼런스 애플리케이션 환경 설정에 많이 사용 기초적인 자료형을 '키-값' 쌍으로 저장/복원할 수 있는 방법 저장 데이터는 사용자 애플리케이션이 종료되어도 저장 getSharedPreferences(name, mode) getPreferences(mod..

Android Programming

[Mobile Programming] 스레드

스레드 배경 음악이 플레이 되면서 동시에 액티비티 화면의 사용자 인터페이스 조작 작업 실행과정에서 서로 영향을 미치지 않고 독립적으로 수행되는 작업에 대해서만 사용 각각의 프로세서가 서로 다른 작업 → 동시 진행 new Thread() { public void run() { // 이 부분에 작업을 코딩 } }.start(); // new로 표현된 객체를 만드는 순간 thread가 실행 일반적 스레드 : 스레드 안에서 필요한 내용을 계산하는 것만 가능 UI 스레드 : 화면의 위젯 내용 변경 가능 runOnUiThread(new Runnable() { public void run() { // 위젯을 변경하는 작업 프로그램 } }; 실습1 SeekBar에서 현재의 진행 상황을 서로 다르게 진행하도록 해주는 작..

Android Programming

[Android Programming] 카메라 영상 캡처

Camera 클래스를 이용한 영상 캡처 자신만의 카메라 애플리케이션을 작성한다면 Camera 클래스 이용 이미지 캡처 설정 변경, 이미지 프리뷰, 비디오 프레임 추출 가능 Camera 클래스 카메라 객체 준비 Open 메소드 호출 다양한 메소드를 활용해 기본설정, 촬영 진행 카메라 메소드 getCameraInfo : 카메라에 대한 정보 반환 getNumberofCameras(); : 카메라 개수 Release() : 카메라에 대한 락 해제 Open() : 카메라를 사용할 수 있도록 함 카메라를 이용한 이미지 캡처 단계 카메라 하드웨어 감지 : 카메라 존재 검사, 카메라 객체에 대한 참조 얻음 프리뷰 클래스 생성 : SurfaceView를 상속받는 카메라 프리뷰 클래스 생성, SurfaceHolder 인터..

Android Programming

[Mobile Programming] 방송 수신자

방송 수신자 애플리케이션에 필요한 이벤트를 필터링하는 컴포넌트 원하는 방송이 나왔을 경우에 그 정보를 가져와 처리하는 작업 public class MyBroadcastReceiver extends BroadcastReceiver { // 방송 수신자 기능을 제공하는 부모 클래스 public void onReceive(Contextcontext, Intentintent) { ... // 방송이 수신되면 이 메소드 호출 → 필요한 코드를 넣음 } } 방송 수신자 등록 방법 매니페스트 파일에서 선언 : 8.0이상 버전 동작 안함 자바 코드에서 동적 등록 : 8.0 이상 버전에서 '방송 수신자' 등록 요구 암시적 방송 수신자의 경우 매니페스트 파일 선언 시 동작 안함 →registerReceiver 메서드 사용..

Android Programming

[Mobile Programming] 서비스

서비스 사용자 인터페이스 없이 백그라운드에서 실행되는 컴포넌트 배경음악 재생 웹 사이트에서 주기적으로 데이터를 읽음 주기적으로 폰의 사용량 계산 애플리케이션의 업데이트를 주기적으로 검사 서비스의 생애주기 시작타입의 서비스 액티비티와 무관하게 서비스 startService()메소드 호출에 의해 시작 연결타입의 서비스 클라이언트-서버 개념 bindService()메서도 호출로 동작 액티비티 종료시 함께 종료되는 성질 서비스의 기초 public class MyService extends Service { @Override public int onStartCommand(Intent intent, int flags, int stratld) { ... // 시작 타입 서비스 } @Override public Ibi..

Android Programming

[Mobile Programming] 멀티미디어 데이터

재생 : MediaPlayer 클래스 사용 녹화 : MediaRecoder 클래스 사용 오디오 재생 암시적 인텐트 사용 음악파일을 스마트폰의 SD카드 폴더에 복사 현실에서는 SD카드를 꽂으면 바로 작동 ( 안드로이드 스튜디오는 AVD를 이용 ) MediaPlayer 클래스 사용 [암시적 인텐트] 실습 mp3 음악 파일을 SD card에 복사 후 재생 [View] - [Tool Windows] - [Device File Explorer] - [sdcard] - [Upload] 하여 sdcard로 음악 파일 복사 외부 저장 장치로 permission을 얻음 콜백함수에서 'sdcard'에 있는 파일들을 재생 // menifast.xml 파일 ... // MainAcrivity.java public class ..

Android Programming

[Mobile Programming] 리소스

리소스 애플리케이션 제작 시 필요한 다양한 종류의 데이터(이미지, 문자열, 레이아웃, 동영상 등) 각종 리소스들은 그 종류에 따라 특별하게 이름 지어진 리소스 폴더에 모여 있음 리소스 종류 drawable 폴더 : 이미지 리소스 layout 폴더 : 레이아웃 values 폴더 : 각종 데이터 값 values/colors.xml : 자주 사용하는 컬러 이름 지정 anim : 트윈 애니메이션을 정의 raw : 시스템에 의하여 압축되지 않는 원본 파일 기본 리소스 : 장치에 상관없이 기본적으로 사용되는 리소스 대체 리소스 : 특정한 장치 구성을 위하여 설계된 리소스 (ex. 어느 나라에 있는지에 따라 그림이 달라지게 하는 것 ) 기본 리소스만 있는 경우, 같은 레이아웃 사용 대체 리소스가 있는 경우, 다른 레..

Android Programming

[Mobile Programming] 액티비티와 인텐트

액티비티 사용자 인터페이스 내용을 담은 하나의 화면 XMl 파일 추가 : 일반적으로 액티비티 하나당 XML 파일 하나 JAVA 파일 추가 Activity 에서 상속받은 클래스를 하나 만들어 새로운 액티비티의 자바 파일로 사용 자바 파일에서 setContentView(R.layout.second)와 같이 xml파일을 액티비티에 연결 public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedinstanceState) { super.onCreate(savedlnstanceState); setContentView(R.layout.second); // second.xml 로 연결 } } 액티비티 스택 액티..

Android Programming

[Mobile Programming] Transition API 애니메이션

애니메이션 Fade : 가장 보편적인 애니메이션 Slide : 한 방향으로 움직여 사라짐 Explode : 폭발하는 것과 같은 효과 ChangeBounds : 위치 및 크기를 변경 Auto Transition : 순차적으로 포함된 transitionSet TransitionSet : 여러 개의 전환들을 묶음 실습 public class MainActivity extends AppCompatActivity { private LinearLayout linearL; private Button btn1; private ImageView imageView; private boolean visible = true; @Override protected void onCreate(Bundle savedInstanceSt..

gangintheremark
'Android Programming' 카테고리의 글 목록