본문 바로가기

플밍 is 뭔들/안드로이드_인강

19-1. 마켓 ※ 앱 서명 - 앱의 마켓에 등록하기 위해서는 보안상의 이유로 앱을 서명해야 한다. - 앱마다 고유한 키값을 줘 다른 개발자가 나의 앱을 덮어쓰면서 배포하지 못하게함. - 키는 분실하면 추후 앱 업데이트가 안되기 때문에 키값이 들어있는 파일을 잘 관리해야된다. 마켓에 올리려는 프로젝트 Export Export Android Application 클릭 후 next Project Checks 에서 프로젝트 확인하고 next Keystore selection (보안키) 에서 보안키를 저장할 위치와 비밀번호를 입력한 후 next Key Creation 에서 별명(alias), 비밀번호, 키유지기간(Validty (year))을 입력해주고 나머지 정보를 입력 후 next Destination and key/cer.. 더보기
18-1. 네트워크 ※ HttpURLConnection - url을 통해 데이터를 읽어온다. - 메인스레드가 아닌 별도의 스레드를 만들어 그 부분에서 데이터 다운로드가 작동되도록 한다. 메인스레드에서는 사용자와의 교감을 지속적으로 해줘야함. - URL 객체를 만들고 URL Connection을 만들어 인터넷에 연결한다. - Stream을 통하여 이미지, 문자열을 받아온다. MainActivity public class MainActivity extends Activity { String urlAddr = "http://www.sba.seoul.kr"; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn.. 더보기
17-1. 맵 ※ 맵을 이용하기 위한 설정 - 구글맵을 이용하기 위해서는 인증을 포함한 몇 가지 설정을 해야 한다. - 인증방법 Eclipse 실행 -> Widnow메뉴 -> Preferences -> Android -> Build -> SHA1 fingerprint의 값을 구글서버에 등록해야 하므로 복사한다. 구글서버 주소는 http://code.google.com/apis/console 이다. 위의 주소에 접속하여 Google Map Android API 클릭 API 키 생성 Eclipse로 돌아와 SDK Manager 실행 Extras의 Google play service 설치 or 업데이트 import -> Android의 Existing Android Code Into Workspace 선택 AppData폴더.. 더보기
16-1. 데이터 베이스 ※ SQLite - 안드로이드에서는 SQLite라는 경량급의 DB를 사용한다. 작은 디바이스에 최적회된 RDB로 기본적으로 안드로이드 프레임워크에 포함되어 있기 때문에 별도의 설치없이 사용할 수 있다. - 데이터베이스를 사용할 때 DDMS에서는 에뮬레이터의 데이터만 볼 수 있다. 왜냐하면 핸드폰의 데이터베이스를 쉽게 읽을 수 있는것은 문제가 될 수 있기 때문이다. ※ SQLite 사용법 - SQLiteOpenHelper 를 상속받아 Helper클래스를 만들면 DB를 이용할 수 있다. - 상속받은 Helper클래스에선 Context, DB이름, 버전을 입력 받는다. - 상속받은 Helper클래스에서의 핵심 메소드 onCreate -> DB가 처음 생성 될 때 최초 한번만 실행 된다. 테이블 생성에 주로 이.. 더보기
15-1. 데이터 ※ Files 디렉토리를 이용한 I/O - 영구적으로 관리해야 하는 데이터가 있을 경우 안드로이드에서 제공하는 files 폴더를 이용하여 데이터 관리를 할 수 있다. - 오른쪽 위 + 버튼(open perspective)을 누른 후 DDMS 추가, 선택 후 File Explorer 에 들어가면 페키지명 > files 라는 폴더가 있다. 거기에 저장되어있다.(에뮬레이터 기준) ※ Resources를 이용한 데이터 처리 - 안드로이드 패키지 안에 있는 res 폴더 아래의 데이터를 소스코드안에서 읽어올수 있다. - 가저오는 법 InputStream 객체 생성 inputStream = getResources().open폴더이름Resources(R.id.파일이름) 을 통해 데이터를 가저옴 그 후 상황에 맞게 데이.. 더보기
14-1. 브로드캐스트 리시버 ※ 브로드캐스트 리시버란? - BroadCast를 받는 기능 - 시스템은 여러가지 상황에서 다양한 메세지를 방송한다(BroadCast). 예를 들어 베터리 부족, 전원 공급장치 변화 , 네트워크 환경 변화 등등.... 이러한 시스템 환경 변화에 따른 방송을 응용프로그램에서는 항상 참고하여 적절히 대응해야 한다. 응용프로그램에서 시스템의 방송에 귀를 기울이는 것을 BR(BroadCast Receiver)라고 한다. - 안드로이드 OS는 자신의 상태를 방송한다. 그때 응용프로그램(APP)에서 자신이 필요한 방송이 나왔을 때 그 상태에 맞게 응용프로그램을 변경 시켜줄 수 있다. 그 방송을 듣고 안듣고는 응용프로그램 마음이다. - 리시버 구현법은 2가지가 있다. 하지만 보통은 manifest.xml에 리시브를 .. 더보기
13-2. 스레드 ※ 루퍼(Looper) - 메세지를 핸들러에게 전달해 주는 기계 - 메인 스레드에는 루퍼가 존재하지만 새 스레드에는 루퍼가 존재하지 않는다. 그렇기 때문에 만약 새 스레드에서 핸들러를 사용하려면 루퍼를 구현해줘야 된다. 사진출처 : 서울위즈 앱 창업자를 위한 안드로이드 실무 동영상 ※ ANR & 메세지 큐를 이용한 작업 시간 조정 - 시간이 오래 걸리는 메소드를 수행할 때 메인쓰레드에서 작업을 실행하면 그 작업을 수행하는 동안 다른 작업을 할 수 없다. 그래서 작업 수행 시간을 연기하여 다른 기능들을 수행 할 수 있게한다. 이 기느은 sendMessageDeleyed를 통해 구현한다. ※ AsyncTask - 스레드를 사용자가 더 편히 사용할 수 있도록 만들어 놓은 객체 - 23강 스레드 3편 참조사진출.. 더보기
13-1. 스레드 ※ 멀티 스레드란? - 여러가지 일을 동시에 처리 할 수 있도록 해주는 것 - 실제로는 여러가지일을 동시에 하는 것이 아니라 여러가지 일을 왔다갔다 하면서 순서대로 해결하는 것이다. - 스레드에서는 UI 스레드에서만 UI를 컨트롤 할 수 있다. 그렇기 때문에 핸들러를 만들어서 핸들러를 통해 쓰레드에서 연산을 한 결과를 UI스레드로 보내여 UI를 컨트롤 한다. ※ 스레드를 만드는 법 스레드를 상속받아 만드는 법 (스레드를 상속받아 런 메소드를 재정의 해준다) private void startNum(){ mainNum ++; NewThread nt = new NewThread(); //해당 시스템이 죽으면 같이 스레도도 정지 시키기 위한 함수 nt.setDaemon(true); //run()메소드 호출 nt.. 더보기
12-2. 알람 ※ 알람의 종류 1회만 발생 주기적으로 발생(별도의 stop기능을 구현하지 않으면 지속적으로 울린다) ※ 구현 MainActivity public class MainActivity extends Activity { Button btnOneAlarm; Button btnCycleAlarm; Button btnStopAlarm; AlarmManager alarmManger; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnOneAlarm = (Button) findViewById(R.id.bt_start_.. 더보기
12-1. 노티(Notification)바 ※ Notification ? - 안드로이드 폰 최상단(상태바)에 표시되는 메시지 이다. 대표적으로 Message, Missed Call 등이 있다. 사진출처 : 서울위즈 앱 창업자를 위한 안드로이드 실무 동영상 ※ 구현 MainActivity public class MainActivity extends Activity { final static int NOTI_ID = 50; Button btnNoti; //Notification을 관리해준다. NotificationManager notiManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView.. 더보기
11-3. 팝업대화상자 ※ ProgressBar ※ 구현 MainActivity public class MainActivity extends Activity { Button btn; ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.bt_01); btn.setOnClickListener(listener); } OnClickListener listener = new OnClickListener() { @Override public void o.. 더보기
11-2. 팝업대화상자 ※ CustomLayoutDialog - 커스텀 뷰는 레이아웃 xml 파일을 만들어서 안드로이드 기본 Alert Dialog 틀에 안의 형식만 바꿔준다. ※ 구현 MainActivity public class MainActivity extends Activity { Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.bt_01); btn.setOnClickListener(listener); } OnClickListener liste.. 더보기