본문 바로가기

안드로이드

[안드로이드]쓰레드와 핸들러 쓰레드란?쓰레드는 하나의 프로세스내에서 실행되는 작업의 단위를 말한다. 하나의 운영 체계에서 여러 개의 프로세스가 동시에 실행되는 환경이 멀티태스킹이고, 하나의 프로세스 내에서 다수의 스레드가 동시에 수행되는 것이 멀티스레딩이다. 핸들러란?안드로이드에서는 화면UI에 접근하는 것을 막아두고 실행시 생성되는 메인 스레드를 통해서만 화면 UI를 변경할 수 있기 때문에 핸들러를 통해서 메인 쓰레드에 접근하여 UI를 수정한다. 핸들러는 1.메시지처리 방식 과 2. Runable객체 실행방식이 있다.1. 메시지처리 방식 1. 핸들러를 정의한다.public class MainActivity extends ActionBarActivity { /** * 프로그레스바 */ ProgressBar bar; TextView t.. 더보기
[안드로이드]sugar orm 사용하기 sugar orm 이란? ORM에 대해 간략하게 소개하자면 Object Relational Mapping으로 객체와 릴레이션(RDB의 테이블)간에 매핑을 해 주는 역할을 합니다. 쉽게 말하자면 Book 이라는 객체가 있다면 이 객체를 ORM을 통해 RDB에 넣거나(Insert), 가져오거나(Select), 지우거나(Delete), 고칠 수(Update)도 있고, 기본적인 CRUD 외에도 스키마를 다루거나 조인 연산등 RDB의 기능을 객체지향적으로 다룰 수 있도록 도와줍니다.-Object Relational Mapping의약자-객체를통해서DB를다루는것이목적■SugarORM-안드로이드에서ORM을사용하기위해만들어진라이브러리-SQLite DataBase와의상호작용을더손쉽게만들어줌 sugar orm 사용법1. g.. 더보기
[안드로이드]ViewHolder 사용하기 대부분의 안드로이드 관련 책을 보면 ListView를 구현시에 Row를 캐시하는것에 대해 언급이 되어있습니다. 하지만 ViewHolder를 쓰는 방법에 대해서는 언급된 책이 별로 없더군요. 저도 지난번 안드로이드 개발자랩에 가서 이것의 존재를 알게 되었습니다;;ViewHolder란, 이름 그대로 뷰들을 홀더에 꼽아놓듯이 보관하는 객체를 말합니다. 각각의 Row를 그려낼 때 그 안의 위젯들의 속성을 변경하기 위해 findViewById를 호출하는데 이것의 비용이 큰것을 줄이기 위해 사용합니다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465.. 더보기
[안드로이드]Adapter사용하기 정리가 잘 된 글이 있어서 퍼왔다. 안드로이드: 인텐트 (Intent) 와 액티비티 전환 예제 (ListView + Adapter 응용) 일전에 인텐트(Intent) 로 액티비티(화면)전환 하는 예제에 대한 포스팅을 했습니다 (아래 링크 참조)안드로이드 액티비티(화면)전환, 인텐트 #2 (인텐트 값 전달하기) 안드로이드 액티비티(화면)전환, 인텐트 #1 (기초) 이번에는 리스트뷰(ListView) 를 사용하여 리스트가 나열된 상태에서 원하는 내용을 클릭하면 해당 목록의 상세페이지(액티비티)로 화면전환이 되고, 이때 인텐트(Intent)로 필요한 정보가 함께 전달이 되어 새로 열리는 화면(액티비티)에 보여지게 하겠습니다.우선 실행결과물을 먼저 보여드립니다. (최근 온라인 상의 인기가요 Top10 목록입니다.. 더보기
[안드로이드]Gson사용하기 Gson은 자바 객체를 JSON으로 그리고 JSON을 자바 객체로 변환해주는 라이브러리다 Gson을 사용하면 한번의 파싱을 통해 JSON에서 곧바로 자바 객체로 또는 그 반대로 간단히 변환할 수 있다 Gson 설정 (build.gradle 파일의 dependencies 블록) compile 'com.google.code.gson:gson:2.3.1' Gson에서 사용할 클래스 선언 public class Person { private String name; private String sex; private int age; @Override public String toString() { return "name: " + name + "\nsex: " + sex + "\nage: " + age; } } Gs.. 더보기
[안드로이드]SharedPreferences란? SharedPreferences란?- 간단한 값 저장에 DB를 사용하기에는 복잡하기 때문에 SharedPreferences를 사용하면 적합하다.- 보통 초기 설정값이나 자동로그인 여부 등 간단한 값을 저장하기 위해 사용한다.- 어플리케이션에 파일 형태로 데이터를 저장한다.=> data/data/패키지명/shared_prefs/SharedPreference이름.xml 위치에 저장- 어플리케이션이 삭제되기 전까지 보존된다. 사용법 import android.content.SharedPreferences; 1. SharedPreferences인스턴스 얻기 getPreferences(int mode)하나의 액티비티에서만 사용하는 SharedPreferences를 생성한다.생성되는 SharedPreferences.. 더보기
[안드로이드 스튜디오] Gradle Library이란? 안드로이드 스튜디오로 프로젝트를 만들면 Gradle이란 것도 같이 생성되는 것을 볼 수 있다.이것이 무엇인가 하면....예전에는 라이브러리를 추가하려면 jar파일을 받아서 설정해줘야 했다.하지만 라이브러리들이 매우 많아짐에 따라 자동화 도구가 필요해졌고ant, maven, gradle 등의 라이브러리 관리 도구가 등장했다. 안드로이드 스튜디오에서는 gradle을 채택하여 쓰고있다. 사용법라이브러리를 받으려고 들어가 보면 jar파일로 다운받을 수 있거나 gradle방식의 소스한줄을 볼 수 있다.예를들어 compile 'com.android.support:design:23.0.1'을 추가해 보자 안드로이드 스튜디오 소스목록에 있는 gradle script에 build.gradle(module: app)에 들.. 더보기
안드로이드 스튜디오 단축키 전체검색 : Shift + Shift 소스 자동정렬 : Ctrl + Shift + L레퍼런스 보기 : Ctrl + Q이름바꾸기 : Ctrl + F6캐스트구문 자동완성 : Ctrl + Art + Space커서 다음줄로 이동 : Shift + Enter커서 윗줄로 이동 : Shift + Art + Enter작업 히스토리보기 : Alt + Shift + C해당 메소드로 이동 : Ctrl + BImport : Art + Enter줄 복사 : Ctrl + D줄 삭제 : Ctrl + Y 더보기