반응형 앱 만들기396 자바 익명 클래스 란? 자바 익명 클래스 는 이름이 없는 클래스 이다. 예를 들어보자. A a = new A(); 위 처럼 A 라는 객체를 생성하면, a 라는 인스턴스 변수가 new A() 라는 메모리 영역을 가리킨다. 즉, a 인스턴스 변수를 사용해서 지속적으로 멤버 변수와 함수에 접근하며 사용이 가능하다. 하지만, 익명 클래스는 이름이 없다. new A(); 이렇게 생겼기에,,, 메모리 공간에 객체가 생성되고 그 공간을 가리키는 인스턴스 변수가 없기에 한번 만 사용할 수 있겠다. 하기 예제를 보자. 익명 클래스로 사용될 Anonymous 클래스 를 만들었다. public class Anonymous { public Anonymous() { System.out.println("생성자 입니다"); } public void pr.. 앱 만들기/안드로이드 study 2020. 8. 25. 안드로이드 쓰레드 쓰레드는 자바에서도 배웠듯이, 여러가지 처리를 비동기적으로 처리하기 위해서 사용한다. 여기서 비동기 라는 말은 예를 들자면, 카톡 하면서 영화도 보고 유투브를 보거나 음악도 듣는 것을 말한다. 이런 개념은 안드로이드 쓰레드에서도 동일하다. 안드로이드 프로젝트를 만들때 생성되는 기본 Activity 는 화면을 그려주는 기본 임무를 가지고 있다. 그래서 이 기본 Activity 를 처리 하는 쓰레드를 Main Thread , UI Thread 라고 한다. 그런데, 이 기본 Activity 에서 특정 일을 무한 반복적으로 실행하다 보면 주 업무인 화면 그리기 일을 하지 못해 화면이 먹통이 되곤 한다. 이를 프로그램에서는 ANR (Application Not respond ) 이 라고 표현하며 실무에서는 락업 .. 앱 만들기/안드로이드 study 2020. 8. 24. 안드로이드 반복 작업이 필요할때 - 핸들러 사용하기 안드로이드에서 하기와 같은 반복 작업이 필요할 때는 핸들러 객체를 사용한다. 단순히 main thread에서 while 문을 무한으로 돌리게 되면 앱이 죽는다. 죽는 다는 의미는 간혹 우리가 사용하는 어플이나 앱이 먹통이 되었을 때를 말한다. 그래서 우리는 전 포스팅에서 쓰레드를 사용하여 동작을 시켜보았다. 하지만, 7.1.1 하위 버전에서는 쓰레드 만 사용해서 UI 처리를 하면 앱이 죽었다. 즉, 모든 버전에서 원활한 동작을 하기 위해서는 Handler 라는 객체를 사용해야 한다. Handler 를 사용해 볼까? ^^ 핸들러는 개념은 하기와 같다. 핸들러가 안드로이드 OS에게 어떤 일을 해달라고 편지를 쓴다. 안드로이드 OS 는 편지를 잘 갔고 있다가, 메인 쓰레드에게 전달한다. 메인 쓰레드는 자신의 .. 앱 만들기/안드로이드 study 2020. 8. 21. 애드몹 광고 적용하기 - 기본 준비. 티스토리에 광고를 붙이듯, 모바일 앱 에서도 여러 광고를 붙일 수 있다. 그 중 오늘은 전면 광고를 다루어 본다. 전면 광고는 화면 전체를 덮는 광고로, 주로 게임에서 다음 레벨로 넘어갈때 혹은 앱에서 특정 시나리오를 수행 하고 자연스럽게 화면이 전환 될때 사용하는 된다. 애드몹에서 광고 ID를 생성 했다는 가정아래, 소스를 구현해보자. 모든 애드몹 광고는 하기의 세팅을 기본으로 하기에 우선 기본 세팅 방법 부터 포스팅 해본다. 1. 안드로이드 스튜디오에서 프로젝트를 만들고, build.gradle (Moudul :app) 의 기본 사항들을 체크 해본다. 애드몹에서 제공하는 모든 광고를 적용하기 위해서는 하기 조건을 만족해야 한다. 기본 요건 Android 스튜디오 3.2 이상 사용 minSdkVersi.. 앱 만들기/안드로이드 study 2020. 8. 20. 자바 Package 에 대해서. 패키지는 자바 프로그램에서 수 많은 클래스들을 폴더 형식으로 관리하는 것을 말한다. 패키지 이름은 개발자 마음대로 정하긴 하나, 일반적으로 도메인을 거꾸로 사용한다. com.java.packagestudy 등으로 유니크 한 이름을 사용해야 한다. 예를 들어서, 이클립스에서 프로젝트를 만들고 기본 클래스를 추가하면 하기 처럼 코드가 작성된다. public class PackageTest2 { public static void main(String[] args) { // TODO Auto-generated method stub } } 즉, 디폴트 패키지 명에 대한 명시는 되어 있지 않다. 하지만, 직접 패키지를 추가 한다면 하기 처럼 자동으로 소스에 패키지 명이 생성된다. 물론, 하기 클래스는 Com/blu.. 앱 만들기/안드로이드 study 2020. 8. 18. 자바 배열의 메모리. public class ArrayTest { public static void main(String[] args) { // TODO Auto-generated method stub int[] a1 = new int[10]; int a2 [] =new int[10]; System.out.println("a1 의 갯수 :" + a1.length); System.out.println("a2의 갯수 :" + a2.length); int[] a3= {1,2,3}; System.out.println("a3의 갯수 " + a3.length); System.out.println("a3[2] = " + a3[2]); } } a1 의 갯수 :10 a2의 갯수 :10 a3의 갯수 3 a3[2] = 3 ++++++++++++.. 앱 만들기/안드로이드 study 2020. 8. 13. 애드몹 동영상 보상 광고 만들기 애드몹 광고 중 동영상 보상 광고를 만들어 보자. 동영상 보상 광고는 게임 등에서 동영상 광고를 보면 아이템을 준다 던지, 스테이지를 추가로 진행 할 수 있게 해주는 광고의 형태이다. 그렇기에 무료 게임 방식에서 많이 사용되고 있다. 애드몹 동영상 보상 광고 예 위 예제의 구현은, 다른 애드몹 광고 타입과 유사하다. 1. 애드몹에서 광고 ID 및 app ID를 생성한다. ( 해당 부분은 생략 ) 2. 광고 모듈을 build.gradle 에 추가하기. dependencies { implementation 'com.google.android.gms:play-services-ads:19.2.0' ... 3. 소스 구현하기. ... public class MainActivity extends AppCompatA.. 앱 만들기/안드로이드 study 2020. 7. 28. 문자열 자르기 split 자바에서는 String 클래스 내 split 함수를 사용하여 문자들을 자를 수 있다. 실질 적은 예는 하기와 같다. for (String line: text.split("\n")) { _canvas.drawText(line, mScreenConfig.getX(500), mScreenConfig.getY(y_pos), paint); y_pos += paint.descent() - paint.ascent(); } 위 스트링을 담은 배열은 하기와 같다. 오늘 split 함수를 사용하게 된 이유는, String 클래스의 Tokenizer 함수를 사용해서 날짜를 자른 뒤 canvas.drawtext를 활용해서 글자를 찍어주는 역할을 만들고 있었다. 그런데, canvas drawText() 에선 줄 바꿈이 지원되지.. 앱 만들기/안드로이드 study 2020. 7. 6. 랜덤 함수...Random() 말 그대로 랜덤 함수는 난수를 발생시켜주는 함수이다. 그럼 이 함수는 언제 사용되는 걸까? 여러 가지 용도가 있겠지만, 게임을 예로 들자면 적군이 랜덤 하게 나온다던지 적군의 움직이는 좌표점을 항상 바꿀 수 도 있다. 심지어 로또 번호 등도 난수로 발생시킬 수 있는 것. 위 예시 외에도, 더 많은 활용 예가 있을 것이다. 랜덤 함수는 하기처럼 구성된다. ++++ int random = (int) Math.random() // 0과 1 사이의 난수를 발생하여 double 형으로 반환한다. Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pse.. 앱 만들기/안드로이드 study 2020. 6. 25. 안드로이드 외부 폰트 적용하는 방법-2 https://soo0100.tistory.com/1108 안드로이드 외부 폰트 적용하는 방법 안드로이드에서 지원하는 폰트 이외에 개발자가 외부 폰트를 자신의 앱에다가 적용하려고 할 때 하기처럼 작업을 해주자. 우선, 프로젝트 폴더의 main 폴더 안에 assets 라는 폴더를 만든다. 그리�� soo0100.tistory.com 지난 시간 안드로이드 외부 폰트 적용하는 방법을 다루어 보았습니다. 그런데, Android 8.0 (API level 26) 이후 모델부터는 하기 API를 적용하는 것을 권장하고 있습니다. 하기 개발자 사이트를 참고 바랍니다. https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml Fonts in XML.. 앱 만들기/안드로이드 study 2020. 6. 15. 이전 1 ··· 30 31 32 33 34 35 36 ··· 40 다음 반응형