목록Android (44)
군침이 싹 도는 코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HkpqR/btrXVkucb72/NHZ2DBgaPsdOr2inQwT0RK/img.png)
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("LifeCycleApp","onCreate 함수 실행"); button = findViewById(R.id.button); editName = findViewById(R.id.editName); editAge = findViewById(R.id.editAge); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String name = edi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0JemI/btrXo4ZLxtB/sVshkkG93qRHDkoPbxNZSk/img.png)
# 액티비티를 생성하는 법은 java > lifecycle 디렉토리 우클릭 > new > Activity > 원하는 액티비티를 선택하고 만들면 된다 public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("LifeCycleApp","onCreate 함수 실행"); button = findViewById(R.id.button); button.setOnClickListener(new V..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbjcIV/btrXqDAO989/UOUTnwIqkD1V7KcKPXJL9K/img.png)
# 안드로이드 앱을 실행하면 이러한 순서대로 라이프 사이클이 실행된다 # lifeCycle 을 알아보기 쉽게 로그를 찍어보자 최초 앱을 실행하면 onCreate가 1번만 실행된다 그 뒤 onStart 와 onResume이 실행된다 # 버튼을 눌러 두번째 액티비티를 실행하면 빨간줄 밑으로 실행이된다 onPause 가 실행되고 두번째 액티비티의 onCreate가 1번 실행된다 그 뒤 onStart와 onResume 이 실행된다 그 다음 첫번째 액티비티의 onStop이 실행된다 # 뒤로가기버튼을 눌러 첫번째 액티비티로 돌아오면 두번째 액티비티의 onPause 가 실행되고 첫번째 액티비티의 onStart, onResume이 실행되며 두번째 액티비티의 onStop, onDestroy가 실행된다 # 앱을 종료하면 ..
public class MainActivity extends AppCompatActivity { TextView txtTimer; TextView txtCount; Button button; CountDownTimer timer; int count = 0 ; // flag 역활을 하는 변수 boolean isFinished = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txtTimer = findViewById(R.id.txtTimer); txtCount = findViewById(R.id..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GIg78/btrXml1bmRP/noBtns4FBKkg4RJNeUpQ01/img.png)
# 프로그레스바란 진행상황도를 표시해준다 해당 앱은 퀴즈 앱으로 총 10문제가 있고 프로그레스바도 10개이다 # 만드는 법은 액티비티 메인에서 위젯 > 프로그레스바로 만들수 있다 바의 갯수를 조절하는것은 어트리뷰트에 max를 검색해서 갯수를 적어주면 된다 // 화면의 뷰 연결용 멤버변수 ProgressBar progressBar; int currentQuizIndex = 0; // 화면의 뷰 연결 progressBar = findViewById(R.id.progressBar); // 프로그래스바를 표시하자 progressBar.setProgress(currentQuizIndex+1); # 코드를 작성할때 멤버 변수를 만들고 화면의 뷰를 연결하고 프로그래스바를 1칸씩 증가하게 하면 된다
String strYear = editYear.getText().toString().trim(); int year = Integer.valueOf(strYear).intValue(); # 에디트 텍스트에서 데이터를 문자열로 바꿔서 숫자로 바꾸는 법
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oE4vA/btrXimZUPzS/9LIMOmMsvuUKVg5kX8pAY1/img.png)
# 에뮬레이터를 사용하다보면 뜨는 System UI isn't responding 라고 에러가 뜬다 이것은 컴퓨터의 하드웨어 성능 문제가 가장 큰 원인이 된다 이 방법을 사용 시 Emulator에 저장한 설정, 데이터가 전부 삭제되니 주의 1. Android Emulator 종료 특별히 따로 설정을 하지 않았다면 에뮬레이터에 대한 정보는 아래 경로에 저장된다. 2. 아래 경로에 가서 파일 삭제 C드라이브 -> 사용자 or User -> "현재 사용자명" 폴더 -> .android -> avd -> 자신이 현재 사용 중인 Emulator 폴더-> "userdata-qemu.img" 이미지 파일 삭제 3. Emulator 재실행 새로운 앱을 계속 만들어서 실행하다 보면 데이터가 에뮬 내부에 계속 쌓이기 때문..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkGa09/btrXl0Imjxu/4kkSy7ROMw01Pb7ZjjrEX1/img.png)
private void showAlertDialog() { // 객체 생성 코드 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // 이 다이얼로그의 외곽 부분을 눌렀을때 사라지지 않도록 하는 코드 builder.setCancelable(false); // 다이얼의 타이틀 부분 builder.setTitle("게임 오버"); // 다이얼에 메세지 부분 builder.setMessage("맞춘 문제는 "+resultcnt+"개 입니다. 확인을 누르시면 퀴즈가 다시 시작됩니다"); // Negative 버튼을 눌렀을때 동작 builder.setNegativeButton("종료", new DialogInterface.OnCli..