본문 바로가기
반응형

앱 만들기/안드로이드 study156

안드로이드의 기술 # HashMap 에서 데이터 가져오기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public void getCountry(){ //해쉬맵 테이블에 값 넣기 HashMap dataMap = new HashMap(); // 키 값과 매치되는 value 를 삽입. dataMap.put("Ename" , englishName[i]); dataMap.put("Kname" , koreaName[i]); dataMap.put("flagImg" , flagImgResourceId[i]); //해쉬 테이블 키 값으로 값 가져오기. String englishName = (String)dataMap.get("Ename"); String koreaName = (String)dataMap.get("Kname"); int flagResource.. 2020. 8. 30.
안드로이드의 기술 # String array 리소스 접근하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Resources res; String[] koreaName , englishName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //setContentView 에서 리소스를 인플레이트 하고 난 다음에 호출해야 됨. res = getResources(); // 국가-수도 명 세팅하기 (한글) koreaName = res.getStringArray(R.array.Asia_K); // 국가-수도 명 세팅하기 (영어) englishName = res.ge.. 2020. 8. 29.
안드로이드 스튜디오 API 문서 보기 저는 하기 처럼, 버튼 이벤트에 대한 내용을 다루기 위해서 코드를 편집 중입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 package bluemooninsea.soo.eventtest; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { TextView textView.. 2020. 8. 28.
자바 인터페이스 란? 인터페이스 란? 프로그램 명세서 라고 말할 수 있다. 하기 예를 보면서 이야기 해보자. 3명이서 앱을 만든다고 하자. 팀장 과 두명의 부하 직원이 있다 팀장이 하기처럼, "Animal 이라는 인터페이스를 정의하고 해당 인터페이스를 implements 할때는 sound() 함수를 꼭 구현해야 한다."라고 명시를 해준다. 즉, 하나의 명세서를 만든것이다. 인터페이스는 하기처럼 내부에 함수를 선언만 해준다. 1 2 3 4 5 public interface Animal { public void sound(); } cs 팀원들은 하기 처럼 개와 고양이 클래스를 만들고 Animal 을 implments 한다. Animal 인터페이스를 구현하는 클래스 에서는 인터페이스에서 정의한 메소드를 반드시 구현 해주어야 한다... 2020. 8. 26.
자바 익명 클래스 란? 자바 익명 클래스 는 이름이 없는 클래스 이다. 예를 들어보자. A a = new A(); 위 처럼 A 라는 객체를 생성하면, a 라는 인스턴스 변수가 new A() 라는 메모리 영역을 가리킨다. 즉, a 인스턴스 변수를 사용해서 지속적으로 멤버 변수와 함수에 접근하며 사용이 가능하다. 하지만, 익명 클래스는 이름이 없다. new A(); 이렇게 생겼기에,,, 메모리 공간에 객체가 생성되고 그 공간을 가리키는 인스턴스 변수가 없기에 한번 만 사용할 수 있겠다. 하기 예제를 보자. 익명 클래스로 사용될 Anonymous 클래스 를 만들었다. public class Anonymous { public Anonymous() { System.out.println("생성자 입니다"); } public void pr.. 2020. 8. 25.
안드로이드 쓰레드 쓰레드는 자바에서도 배웠듯이, 여러가지 처리를 비동기적으로 처리하기 위해서 사용한다. 여기서 비동기 라는 말은 예를 들자면, 카톡 하면서 영화도 보고 유투브를 보거나 음악도 듣는 것을 말한다. 이런 개념은 안드로이드 쓰레드에서도 동일하다. 안드로이드 프로젝트를 만들때 생성되는 기본 Activity 는 화면을 그려주는 기본 임무를 가지고 있다. 그래서 이 기본 Activity 를 처리 하는 쓰레드를 Main Thread , UI Thread 라고 한다. 그런데, 이 기본 Activity 에서 특정 일을 무한 반복적으로 실행하다 보면 주 업무인 화면 그리기 일을 하지 못해 화면이 먹통이 되곤 한다. 이를 프로그램에서는 ANR (Application Not respond ) 이 라고 표현하며 실무에서는 락업 .. 2020. 8. 24.
안드로이드 반복 작업이 필요할때 - 핸들러 사용하기 안드로이드에서 하기와 같은 반복 작업이 필요할 때는 핸들러 객체를 사용한다. 단순히 main thread에서 while 문을 무한으로 돌리게 되면 앱이 죽는다. 죽는 다는 의미는 간혹 우리가 사용하는 어플이나 앱이 먹통이 되었을 때를 말한다. 그래서 우리는 전 포스팅에서 쓰레드를 사용하여 동작을 시켜보았다. 하지만, 7.1.1 하위 버전에서는 쓰레드 만 사용해서 UI 처리를 하면 앱이 죽었다. 즉, 모든 버전에서 원활한 동작을 하기 위해서는 Handler 라는 객체를 사용해야 한다. Handler 를 사용해 볼까? ^^ 핸들러는 개념은 하기와 같다. 핸들러가 안드로이드 OS에게 어떤 일을 해달라고 편지를 쓴다. 안드로이드 OS 는 편지를 잘 갔고 있다가, 메인 쓰레드에게 전달한다. 메인 쓰레드는 자신의 .. 2020. 8. 21.
애드몹 광고 적용하기 - 기본 준비. 티스토리에 광고를 붙이듯, 모바일 앱 에서도 여러 광고를 붙일 수 있다. 그 중 오늘은 전면 광고를 다루어 본다. 전면 광고는 화면 전체를 덮는 광고로, 주로 게임에서 다음 레벨로 넘어갈때 혹은 앱에서 특정 시나리오를 수행 하고 자연스럽게 화면이 전환 될때 사용하는 된다. 애드몹에서 광고 ID를 생성 했다는 가정아래, 소스를 구현해보자. 모든 애드몹 광고는 하기의 세팅을 기본으로 하기에 우선 기본 세팅 방법 부터 포스팅 해본다. 1. 안드로이드 스튜디오에서 프로젝트를 만들고, build.gradle (Moudul :app) 의 기본 사항들을 체크 해본다. 애드몹에서 제공하는 모든 광고를 적용하기 위해서는 하기 조건을 만족해야 한다. 기본 요건 Android 스튜디오 3.2 이상 사용 minSdkVersi.. 2020. 8. 20.
자바 Package 에 대해서. 패키지는 자바 프로그램에서 수 많은 클래스들을 폴더 형식으로 관리하는 것을 말한다. 패키지 이름은 개발자 마음대로 정하긴 하나, 일반적으로 도메인을 거꾸로 사용한다. com.java.packagestudy 등으로 유니크 한 이름을 사용해야 한다. 예를 들어서, 이클립스에서 프로젝트를 만들고 기본 클래스를 추가하면 하기 처럼 코드가 작성된다. public class PackageTest2 { public static void main(String[] args) { // TODO Auto-generated method stub } } 즉, 디폴트 패키지 명에 대한 명시는 되어 있지 않다. 하지만, 직접 패키지를 추가 한다면 하기 처럼 자동으로 소스에 패키지 명이 생성된다. 물론, 하기 클래스는 Com/blu.. 2020. 8. 18.
반응형