Android

컴포넌트란? 안드로이드 앱의 아키텍처에서 가장 큰 특징은 컴포넌트 기반이라는 것이다. 컴포넌트는 앱의 구성 단위이며, 컴포넌트 여러 개를 조합하여 하나의 앱을 만든다. 컴포넌트 4가지 액티비티 : UI를 구성하기 위한 컴포넌트 서비스 : UI없이 백그라운드에서 장시간 수행되는 컴포넌트 콘텐츠 프로바이더 : 애플리케이션간 데이터를 공유하기 위한 컴포넌트 브로드캐스트 리시버 : 이벤트 모델로 수행되는 컴포넌트
안드로이드에서 그래프를 그리기 위해 MPandroidChart 라이브러리를 많이 사용한다. 프로젝트에서 사용중인 그래프도 MPandroidChart라는 라이브러리를 사용중이었고 수정을 하기위해서 알아야했다. 처음엔 정말 너무 어려웠다. 시간도 많이걸렸다. https://github.com/PhilJay/MPAndroidChart PhilJay/MPAndroidChart A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. - PhilJay/MPAndroidChart gi..
요구사항 중에 한가지 프로젝트를 가지고 여러곳의 버전으로 배포해야 하는 업무가 있었다. 앱의 아이콘 , 앱 이름 등을 변경해야했고 그안에 몇가지 String 리소스들을 수정하면 된다. 소스 코드는 동일하다. flavor 라는 키워드를 통해 정보를 접할수 있다. 예제들도 많았고 공홈에서도 찾아볼수 있다. 보통 앱을 개발 할때 운영(Real)앱과 개발(Test)앱을 분리하여 관리한다고 한다. 또는 유료앱과 무료앱을 나누어서 개발 관리 할 목적으로 많이들 사용하는거 같다. 어쩃든 목적은 다르나 내용은 같기에 언제가 또 사용할 후를 위해 포스팅을 생각했다. 단순히 빌드 옵션만 변경해서 사용한다고 생각하면 되겠다. 이론은 쉬웠지만 실전은 막히는 부분이 많았다. 1. build.gradle 수정하기 productF..
일단 Constraint Layout은 처음에 접근하기 어려워보였다. 처음 배울때도 그렇고 강의나 교수님 얘기를 들어봐도 Linear Layout이나 Relative Layout으로 그냥 쓰라고한다. 아무래도 다른것에 비해 비중도가 낮기 때문에 그랬던것 같다. 하지만 이제 배울때가 된 것 같다.. 프로젝트에 ConstraintLayout으로 짜있는 xml이 적잖이 많아 무시할수가 없었다.. 센치한 개발자님 유튜브를 보고 개념을 잡았다. xml유형으로는 크게 3가지로 볼수있다. Linear layout -선형 Relative layout -관계 Constraint layout -관계 리니어 : 계층구조가 복잡하다. 퍼포먼스가 부족하다. 릴레티브 : 멀티 디바이스 대응에 한계가 있다. 콘스트레인트 : 퍼포먼..
Call by value (값에 의한 호출) - 복사를 하여 처리한다. 장점: 복사하여 처리하기 때문에 안전. 원래 값이 보존된다. 단점: 복사 하기 때문에 메모리 사용량이 늘어난다. call by reference(참조에 의한 호출) - 직접 참조를 하여 처리한다. 장점: 복사하지 않고 직접 참조하여 빠르다. 단점: 직접 참조를 하기에 원래 값이 영향을 받는다.(리스크)
이전에 만들었던 웹앱에 보안검토 내용을 바탕으로 습득한 지식을 정리했다. 앞으로 프로젝트를 해가면서 참고될 수 있었으면 좋겠다. 크게 3가지 정도로 뽑았다. 1. 루팅된 기기를 감지/탐지 해서 사용하지 못하도록 해야한다. * 안드로이드 루팅이란 - 루팅은 모바일 기기에서 구동되는 안드로이드 운영체제 상에서 최상위 권한(루트권한)을 얻음으로 해당기기의 생산자 또는 판매자 측에서 걸어놓은 제약을 해제하는 행위이다. - 안드로이드에서 루팅을 감지하는 방법은 여러가지가 있다. - 일반적으로 su파일이나 superuser.apk등 루팅시 생성되는 파일 이름을 기반으로 탐지한다. - su명령어를 직접 실행시켜 Exception이 발생 여부에 따라 디바이스의 루팅을 감지 감지 한후 다이얼로그를 통해 앱을 종료시킬것 ..
데이터 베이스 데이터를 저장하기 위함 데이터 저장 방식 - RDB (Relational Database) - 관계형 데이터 베이스 - 엑셀 처럼 생겼다 - key-Value - 쌍으로 저장하는 방식(키,벨류) Intent - RDBMS - Relational Database Management system - RDB를 관리하기 위한 툴 - mySQL - Oracle - PostgreSQL -SQL -RDBMS 를 위한 언어이다 -NoSQL -SQL말고 다르게 해보자 안드로이드 데이터베이스 -SQLiteDatabase -SharedPreference -key - value 방식 -목적 : 공유된 사용자의 기호 방식 -하드하게 데이터베이스 시스템이 구축할 수 없다! 사용방법 xml activity packa..
Tablayout tab을 담당하는 역할 Pager 종이 넘기듯이 화면을 넘기는 역할 Adapter tablayout 과 pager 를 연결해주는 역할 사용방법 tablayout을 만들기 위해 build.gradle 에 implementation 추가 implementation 'com.google.android.material:material:1.1.0' xml에 tablayout과 viewpager 만들기 어댑터 생성 class ThreePageAdpater( val layoutInflater: LayoutInflater ) : PagerAdapter() { override fun isViewFromObject(view: View, `object`: Any): Boolean { return view ..
shy1008
'Android' 태그의 글 목록