안드로이드 5

savedInstanceState 사용법 + fragment 예제

화면이 회전되거나 크기가 변할 때 화면이 다시 그려지는데,View 안의 데이터가 유지가 되지 않습니다. 이럴 때, savedInstanceState를 사용하면 View 안의 데이터를 보존 할 수 있습니다. class내에서 public void onSaveInstanceState(Bundle outState) 함수를 재정의하여 사용하면 됩니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.savefragmen..

안드로이드 에뮬레이터에서 INSTALL_FAILED_NO_MATCHING_ABIS 를 내 뱉을 때..

원인은 x86에뮬레이터를 켜고 arm용 apk를 설치 하려고 해서 나오는 에러이다.(그 반대 일 수도 있고,,) 처음에는 에뮬레이터를 arm용으로 실행하려고 했으나, 겁나 느려서 포기...두번째로는 apk파일을 x86으로 만들려고 했으나 어디서 바꾸는지 몰라서 포기..-_-;마지막으로 아래와 같이 build.gradle의 android 항목에 아래 붉은 색 추가 해서 성공 android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.appname" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { re..

REST API 사용하기 - GET

요즘에 REST API 소스를 직접 짜는 사람은 적을 것이라고 예상한다. (레트로핏 같은 걸 쓰겠지...?)그래도 의미가 있지 않을까 해서 정리 해본다. https://api.github.com 로 접속해서 그 중에 "current_user_url" 항목을 화면에 띄우는 예제이다. /* * 목표 * 1. AsyncTask와 http url connection을 이용한 http 호출 만들기 * 2. 리턴된 json을 파싱하는 방법을 통하여 JSON 객체 다루는 법 습득하기 * 3. json 객체에서 원하는 데이터 빼내서 화면에 출력하기 * * 작업 순서 * 1. 받을 response를 바탕으로 HubObject를 먼저 만들고 * 2. 통신할 모듈과 파싱할 모듈을 APIClient로 만들고 * 3. APIC..

파일 upload 같은 걸 할 때 주의할 것.

현상 : 파일 업로드 할 때, 보통 Thread를 사용한다. 근데 보통 파일을 여러개 보내기 때문에 thread 함수를 for문으로 감싸는 경우가 쉽게 생긴다.문제 : 이러면 for문 만큼 thread가 생기게 되기에 정상 동작을 안하거나 리소스가 부족할 수 있다.해결 : 파일을 하나씩 올릴 때 마다 다음 for문을 돌릴 수 있도록 수정해야 한다.

버튼 이벤트로 화면 전환하기

class 선언할 때 - 최상위 클래스에 이벤트를 처리 하려면 implements OnClickListener 를 입력한다. - layout 생성 - title string 생성 - manifest.xml에 등록 은 필수이다. + package com.pacakage.example; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ChangeWindows extends Activity implements ..