반응형 앱 만들기396 안드로이드의 기술 # 버튼 이벤트 처리. 두개의 버튼이 있고, 그 이벤트를 하나의 함수에서 실행하고 싶다면? 물론, 여러 방법이 있겠지만 오늘은 XML onClick 에 함수를 등록하고 그 함수 내에서 분기하는 방법을 다루어 봅니다. 1. 버튼 이벤트 메서드를 만든다. 1 2 3 4 5 6 7 8 9 10 //버튼을 구별하는 방법. public void onButtonClicked(View view){ if(view.getId() == R.id.flagButton){ Log.d("test", "flagButton"); }else{ Log.d("test", "GameButton"); } } Colored by Color Scripter cs 위와 같이 버튼 클릭시 반응을 메소드를 만듭니다. 중요한 것은 인자값으로 View view 를 넣어주어야 .. 앱 만들기/안드로이드 study 2020. 9. 11. 안드로이드의 기술 #Fragment 백키 처리하기. Fragment 에서는 H/W 백키 이벤트가 불릴 시 onBackPress() 함수가 실행되지 않는다. 즉, 오버라이딩 할 수 없는 기본 구조이다. 그럼, 어떻게 할 것 인가? 1. Fragment 에 onBackPressed() 라는 함수를 만든다. 필자는 백버튼 처리 함수를 만들고 하기 처럼 MainActivity.finish() 함수를 호출하여 앱을 종료하게 만들었습니다. 1 2 3 4 5 6 7 8 9 10 // 백버튼에 대한 처리를 한다. @Override public void onBackPressed() { // 부모 Acitivity 얻어오기 Log.d("test", "### Fragment onBackPressed"); MainActivity activity = (MainActivity)g.. 앱 만들기/안드로이드 study 2020. 9. 8. 자바의 기술 # instanceof 사용방법. instanceof 는 말 그대로, ~의 인스턴스 인지를 구별해주는 역할을 한다. 인스턴스 구별 에 따라, true, false 를 리턴해준다. 예제 코드를 통해서 조금 더 살펴 볼까요? 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 31 32 33 public class Instanceof { public static void main(String[] args) { // TODO Auto-generated method stub Son son = new Son(); Daddy daddy = new Daddy(); //Son son2 = (Son) new Daddy(); if(son instanceof Dad.. 앱 만들기/안드로이드 study 2020. 9. 6. 안드로이드의 기술 # android.content.res.Resources$NotFoundException: String resource ID # 에러 가 날때 android.content.res.Resources$NotFoundException: 에러가 발생했다. 원인은 무엇일까? TextView 도 분명히 잘 설정 해주었는데, 리소스 ID를 찾을 수 없다. 바로, 인자 값에 int 형을 사용했기 때문이다. 이럴때는 timeText.setText("" + time); 이런 식으로 스트링으로 형변환을 해주어야 한다. - 끝 - 메모는 기록이 되고 기록은 반복 하고 습득 할 수록 기술이 된다. 감사합니다 :) 앱 만들기/안드로이드 study 2020. 9. 4. 안드로이드의 기술 # Handler 타이머 구현하기- 정지 기능 soo0100.tistory.com/1243 안드로이드의 기술 # Handler 타이머 구현하기 안드로이드 핸들러를 사용해서 타이머를 구현해보겠습니다. 총 2 개의 포스팅으로 나누어서 1강에서는 기본 타이머를 구현해보고, 2강에서는 타이머를 스탑 하는 기능을 만들어 보겠습니다. 다 soo0100.tistory.com 지난 시간 포스팅에 이어 오늘은 타이머 정지 기능을 만들어 보겠습니다. 완성된 영상의 모습은 하기와 같습니다. 지난 시간 기본 소스에 추가토록 하겠습니다. 하기 처럼 UI 및 핸들러 인스턴스 변수 만듭니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 @Override protected void onCreate(Bundle savedInstanceState) { super.onCre.. 앱 만들기/안드로이드 study 2020. 9. 3. 안드로이드의 기술 # Handler 타이머 구현하기 안드로이드 핸들러를 사용해서 타이머를 구현해보겠습니다. 총 2 개의 포스팅으로 나누어서 1강에서는 기본 타이머를 구현해보고, 2강에서는 타이머를 스탑 하는 기능을 만들어 보겠습니다. 다 만들면 하기처럼 됩니다. 그럼 지금 1강을 만들어 볼까요? :) 1 2 3 4 5 6 7 8 9 10 11 12 13 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 스타트, 일시정지 버튼을 만듭니다. button = (Button)findViewById(R.id.button); // 동작되는 타이머를 표시할 텍스트 뷰.. 앱 만들기/안드로이드 study 2020. 9. 2. 안드로이드의 기술 # 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.. 앱 만들기/안드로이드 study 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.. 앱 만들기/안드로이드 study 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.. 앱 만들기/안드로이드 study 2020. 8. 28. 자바 인터페이스 란? 인터페이스 란? 프로그램 명세서 라고 말할 수 있다. 하기 예를 보면서 이야기 해보자. 3명이서 앱을 만든다고 하자. 팀장 과 두명의 부하 직원이 있다 팀장이 하기처럼, "Animal 이라는 인터페이스를 정의하고 해당 인터페이스를 implements 할때는 sound() 함수를 꼭 구현해야 한다."라고 명시를 해준다. 즉, 하나의 명세서를 만든것이다. 인터페이스는 하기처럼 내부에 함수를 선언만 해준다. 1 2 3 4 5 public interface Animal { public void sound(); } cs 팀원들은 하기 처럼 개와 고양이 클래스를 만들고 Animal 을 implments 한다. Animal 인터페이스를 구현하는 클래스 에서는 인터페이스에서 정의한 메소드를 반드시 구현 해주어야 한다... 앱 만들기/안드로이드 study 2020. 8. 26. 이전 1 ··· 29 30 31 32 33 34 35 ··· 40 다음 반응형