본문 바로가기

안드로이드

switch custom Switch 버튼은 안드로이드 API Level 14를 요구하는 고스펙중 하나이다. 기본 디자인ON일때 OFF일때 참고 사이트http://stackoverflow.com/questions/23358822/how-to-custom-switch-buttonhttp://developer.android.com/intl/ko/guide/topics/ui/controls/togglebutton.html 순수코딩↓-메모리를 조금 절약할수 있다.주의 해야될 부분이 있다면기본쓰면 백그라운드등 주어도 각 버전마다 다르게 들어갈수도 있습다. ON일때 디자인 OFF일때 디자인 layout.xml styles.xml center_vertical @drawable/switch_selector @drawable/shape_swit.. 더보기
apk 파일 디컴파일 하기 설치 경로1. advanced apktool https://www.androidfilehost.com/?fid=24411628330025361 2. Dex2jar https://github.com/pxb1988/dex2jar 다운경로2-1) dex2.jar-2.0.zip 은 c드라이브에 넣는다.2-2) 안드로이드 스튜디오에서 sdk 위치를 찾는다.찾는방법 해당경로에 platform-tools 로 들어가 dex2.jar-2.0-20140818~~~~.zip 풀어서 dex2jar-2.0 이라고 폴더명을 변경한다. 풀더안 파일 예시 2-3) 시스템 환경변수 Path에 C:\Users\Administrator\AppData\Local\Android\sdk\platform-tools\dex2jar-2.0; 추가한.. 더보기
액티비티와 인텐트 일반적인 컴퓨터에서는 애플리케이션 단위로 실행되지만 안드로이드에서는 액티비티 단위로 실행된다. 용어 정리 1. 애플리케이션(application)- 안드로이드는 애플리케이션은 여러개의 액티비티들로 구성된다.- 액티비티들은 애플리케이션 안에서 느슨하게 묶여 있다.- 하나의 애플리케이션은 .apk를 확장자로 가지는 하나의 파일 안에 저장된다. 2. 액티비티(activity)- 사용자가 어떤 작업을 할 수 있는 화면을 가지고 있는 애플리케이션 구성 요소이다.- 각 액티비티는 사용자 인터페이스가 그려지는 윈도우를 가지고 있다.- 안드로이드에서는 실행의 단위가 애플리케이션이 아니고 액티비티이다. 3. 태스크(task)- 관련된 액티비티의 그룹으로 정의할 수 있고 이들 액티비티들은 액티비티 스택에 나열되어있다.- .. 더보기
이벤트 처리2 에디트 텍스트 package com.jiyeon.myapplication;import android.app.Activity; ... public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText edittext = (EditText)findViewById(R.id.edittext); edittext.setOnKeyListener(new View.OnKeyListener() { @Override public boole.. 더보기
이벤트 처리 이벤트 처리 1. 폴링(polling)방식 -애플리케이션이 무한 루프를 돌면서 사용자의 입력을 기다리는 방식으로 cpudㅢ 파워를 엄청나게 낭비한다.(비추천)2. 이벤트 구동(event-driven)방식 - 여러가지 방법이 있다. 대표적으로 두가지 방법 - 뷰 클래스의 이벤트 처리 메소드를 재정의하는 방법 (특수한 경우에만 사용) - 이벤트를 처리하는 객체를 생성하여 이벤트를 처리하는 방법 (가장 일반적인 방법) 이벤트 처리 메소드 재정의 - View 클래스는 이벤트가 발생했을 경우에 호출되는 몇 개의 콜백 메소드(callback method)를 가지고 있다.- View 객체에 어떤 액션이 발생하면 이들 콜백 메소드는 안드로이드 프레임워크에 의하여 호출된다.- 단점 : 이 방법의 가장 큰문제점은 반드시 .. 더보기
레이아웃 레이아웃- 안드로이드는 다양한 화면 크기를 가지는 장치를 지원하기 때문에 절대적인 화면 위치를 사용하여 뷰를 배치하는 것보다, 상대적으로 뷰를 배치하는 것이 좋다.- ViewGroup클래스로부터 상속을 받는다. 따라서 ViewGroup 클래스의 메소드와 필드들을 모두 사용할 수 있다. 레이아웃 클래스 설명 LinearLayout 자식들을 수직이나 수평으로 배치 TableLayout 자식들을 테이블 형태로 배치 GridLayout 자식들을 바둑판 모양으로 배치 RelativeLayout 자식들을 부모나 다른 자식에 상대적으로 배치 TabLayout 탭을 이용하여서 겹쳐진 자식 중에서 하나를 선택 AbsolutLayout 절대 위치로 배치 FrameLayout 모든 자식들을 좌측 상단에 겹치게 배치 선형 레.. 더보기
사용자 인터페이스 (UI) 기초 사용자 인터페이스 (UI: User Interface) **안드로이드의 사용자 인터페이스는 자바에서 기본적으로 제공하는 Swing이 아니다. Swing은 데스크톱 애플리케이션에 적합한 것으로 모바일 기기는 화면의 크기가 작고 CPU의 성능이 다소 떨어지기 떄문에 Swing이 제대로 돌아가지 않는다. 1. 뷰그룹(레이아웃) - 다른 뷰들을 담는 컨테이너 기능을 한다. - ViewCroup 클래스에서 상속받아서 작성된다. 2. 뷰(컨트롤,위젯) - View 클래스(모든 뷰들의 부모 클래스)를 상속받아서 작성된다. 뷰의 위치와 크기- 뷰의 위치와 크기는 부의 배치를 담당하는 뷰그룹 객체에 의하여 전적으로 결정된다.- xml 속성 앞에 layout이 붙으면 뷰그룹 객체가 배치를 위하여 사용하는 속성이 된다.- .. 더보기
Error:Execution failed for task ':app:mergeDebugResources' svn으로 프로젝트를 다운받았는데 빌드 오류가 남 Error:Execution failed for task ':app:mergeDebugResources'.> C:\Users\Administrator\AndroidStudioProjects\Dongjikgu\sjs\dongjikgu.app\app\build\intermediates\res\merged\debug\values-sq-rAL\values-sq-rAL.xml: Error: java.lang.RuntimeException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 3 column 2 해결:안.. 더보기
Google Maps Android API v2 예제[펌] 출처 | http://webnautes.tistory.com/647 구글맵 안드로이드 API키를 새로 등록하면서 바뀐점이 많아 기존 문서를 다시 새로 작성했습니다.. Google Developers Console(https://console.developers.google.com/project )에서 프로젝트 만들기를 선택합니다. 프로젝트 이름을 적어주고 만들기를 클릭합니다. 중앙에 보이는 파란 사각형에서 API 사용설정 및 관리를 클릭합니다.. 지도아이콘 옆에 보이는 Google Maps Android API를 클릭합니다... API 사용 설정을 클릭하고 왼쪽에 있는 화살표를 클릭합니다.. 이제 사용설정된 API수가 8개가 되었습니다.. 왼쪽에서 사용자 인증 정보를 클릭합니다.. 화면 중앙에 보이는 사.. 더보기
[펌] 개발자를 위한 안드로이드 5.0 롤리팝의 중요 변경사항 정리 출처| http://m.blog.daum.net/_blog/_m/articleView.do?blogid=04qAU&articleno=15310133 출처: http://googledevkr.blogspot.kr/2014/10/android-50-api21-changes.html 추가내용 출처: http://kalesst.blogspot.kr/2015/01/android-50-lollipop-webview-issue.html 기타 참조 자료 주소 : http://developer.android.com/about/versions/android-5.0-changes.html : http://blog.tstore.co.kr/141 : http://blog.tstore.co.kr/143 : http://charl.. 더보기
1. PC와 스마트폰을 연결하기 1. 컴퓨터에 usb 프로그램 설치삼성 usb 통합 사이트http://local.sec.samsung.com/comLocal/support/down/kies_main.do?kind=usb 2. android-sdk 설치경로 찾기안드로이드 스튜디오에서 보는방법이 있고 설치할때도 확인가능풀경로 복사(예: C:\Users\Administrator\AppData\Local\Android\sdk\platform-tools) 2. 경로에 들어와서 박스안에 있는 파일들이 존재하는지 확인한다. 2-1) 설치했을때 경로로 사용해도되고 ( C:\Users\Administrator\AppData\Local\Android\sdk\platform-tools) 2-2) 아니면 박스안에 파일만 복사해서 간단하게 폴더만들어서 사용해.. 더보기
[안드로이드] 이미지에 대한 메모리 누수(Memory Leak)를 방지하자 '완벽한 안드로이드 앱을 만드는 실무 노하우 139, 029'를 인용하였다 이미지를 사용하다 보면 OOM(OutOfMemory)이 발생할 가능성이 높아진다. 또한 비트맵 객체는 안드로이드의 버전에 따라 처리하는 방법에 차이가 있다 안드로이드 2.3 이하 버전에는 비트맵 객체가 recycle() 메서드를 호출하지 않으면 네이티브 메모리에 존재했다. 그때 ImageView에서 setImageDrawable(null)을 실행하고, 참조하는 비트맵을 해제하지 않으면 예외가 발생한다. 주의해야 한다 안드로이드 3.0 이후 버전에서는 구현 방법이 변경되어 비트맵 객체를 사용해도 네이티브 메모리를 사용할 수 없기 때문에 finalize를 할 때 힙 메모리를 해제한다. 따라서 비트맵 변수에 null을 대입하는 것만으로.. 더보기

반응형