일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- RelativeLayout
- ReactDOM
- intent
- component
- javascript
- 안드로이드
- layout
- Anro Coroutines
- http
- props
- Git
- LinearLayout
- view
- java
- vim
- RecyclerView
- Eclipse
- Retrofit2
- cardview
- android
- block scope
- function scope
- .kt
- Kotlin
- Anko SQLite
- permission
- linux
- ConstraintLayout
- ViewGroup
- react
- Today
- Total
목록Android (23)
이것저것 다 개발
Activity로부터 결과 가져오기 - startActivityForResultstartActivityForResult는 이동된 Activity로부터 값을 가져올때 쓸 수 있습니다. A Activity에서 B Activity를 호출하게 되었을 때, B Activity에서 A Activity로 데이터를 전달할 수 있습니다. 일반적으로 startActivity(intent) 메소드를 통해 Intent 데이터를 담아 다음 Activity로 이동과 데이터를 전달합니다.startActivityForResult는 A에서 이동한 B Activity가 종료되면서 다시 A로 데이터를 보내는 방식입니다.startActivityForResult(Intent, requestCode) 로 다음 Activity를 호출하고onAc..
Flavor을 이용한 1개의 소스로 여러가지 버전의 앱 만들기projectFlavors 를 사용하면기능은 같지만 이름만 다르게 한 앱, 무료/유료 버전의 앱을 구분, SDK 버전에 따른 앱이라던지하나의 소스로 여러 버전의 앱을 만들 수 있습니다. 먼저 build.gradle(app) 파일에 flavor 설정이 필요합니다.productFlavors {} 블록에 원하는 설정을 구성합니다.defaultConfig 는 ProductFlavor 클래스에 속해 있으므로 모든 defaultConfig {} 블록 안의 기본 구성을 사용할 수 있습니다.예) productFlavors {} 블록 내부에 versionCode를 명시하지 않아도 defaultConfig {} 블록의 versionCode를 사용함. build...
가장 기본적인 ProgressDialog를 만들어 사용해보겠습니다. 먼저 progressDialog를 생성한 후 Message, Cancelable, ProgressStyle를 작성하겠습니다. ProgressDialog 생성 ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setMessage("ProgressDialog running..."); progressDialog.setCancelable(true); progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Horizontal); setMessage() : ProgressDialog에 들어갈 메시지를 작성..
ConstraintLayoutConstraintLayout은 View 또는 View Group 간의 상대적인 위치 지정을 하여 View를 배치하는 Layout 입니다. 위 화면은 instagram의 화면을 따라서 만든 화면입니다. 화면을 보시면 각 View간 화살표로 연결되어 있는것을 볼 수 있습니다. Android Studio에서 Drag & Drop으로activity_**.xml Design 탭에서 이런 화면을 간단하게 만들 수 있습니다.안드로이드 layout의 xml을 다루지 못하는 사람도 누구나 쉽게 Layout을 배치하고 만들 수 있습니다.Text 탭으로 넘어가게 되면 코드가 작성되있는 것을 볼 수 있습니다.각 View 객체를 이루고있는 4개의 선에는 끌어당길 수 있는 점 4개가 존재합니다.4개..
OpenWeatherMap을 이용한 날씨 APP을 만들어보겠습니다.사용한 라이브러리는 Http 통신을 위해 Retrofit2을 사용하였습니다.먼저 OpenWeatherMap에 회원가입을 하고 API 호출을 위한 Key가 필요합니다. https://openweathermap.org/ Key를 얻었다면 안드로이드 프로젝트를 만들고 AndroidManifest.xml에 Internet Permission을 주겠습니다.다음으로 Retrofit2를 Dependency로 추가하겠습니다.compile 'com.squareup.retrofit2:retrofit:2.4.0' compile 'com.squareup.retrofit2:converter-gson:2.4.0'http://yongyi1587.tistory.com..
Android Http 개발에 많이 쓰이는 Retrofit2을 사용해보겠습니다.먼저 AndroidManifest.xml 에 Internet 권한을 추가합니다.다음으로 build.gradle (Module: app) 파일에 dependency를 추가해줍니다.compile 'com.squareup.retrofit2:retrofit:2.4.0' compile 'com.squareup.retrofit2:converter-gson:2.4.0'RetrofitClient Class와 RetrofitService Interface를 만들겠습니다.RetrofitClient에는 static method로 Client의 Instance를 생성해주고Http Request를 하게될 BaseUrl을 명시하며 RetrofitSer..
MVC Pattern은 Model, View, Controller로 구성되어 있는 패턴입니다. Model은 데이터와 데이터의 상태라고 할 수 있습니다. 아래와 같이 data class를 만들어 그 객체의 값과 상태를 저장할 수 있고 재사용성이 좋습니다.data class User(var name: String, var age: Int, var email: String) { } View는 사용자에게 보여지는 화면입니다. Android 에서는 activity_***.xml 또는 fragment_***.xml 등 화면을 구성하는 파일이 되겠습니다. Controller는 Model과 View를 묶어주는 역할로 Activity 또는 Fragment로 구성되고override fun onCreate(savedInst..
Anko는 안드로이드 앱 개발을 더 빠르고 쉽게 만들어주는 Kotlin 라이브러리 입니다. Anko는 총 4가지로 구성되어있습니다.Anko Commons : 인텐트, 다이얼로그, 로깅 등에 도움이 되는 경량 라이브러리입니다.Anko Layouts : 빠르고 안심할 수 있는 동적 안드로이드 레이아웃을 작성할 수 있습니다.Anko SQLite : Android SQLite 용 쿼리 DS 및 파서 컬렉션 입니다.Anko Coroutines : kotlinx.coroutines 라이브러리를 기반으로한 유틸리티 입니다. 그중 Anko Commons와 Anko Layouts을 간단히 사용해보겠습니다. AndroidManifest.xml에 dependencies를 추가해줍니다.compile "org.jetbrains..
부팅 시 자동으로 실행되는 Service를 만들어 보겠습니다. Service는 백그라운드에서 실행되는 작업을 수행할 수 있는 애플리케이션의 구성 요소이며사용자 인터페이스를 제공하지 않습니다. 순서는 다음과 같습니다.1. Manifest 권한 등록2. Receiver 만들기, Manifest Receiver 등록3. Service 만들기, Manifest Service 등록 먼저 부팅이 완료되었다는 것을 알 수 있도록 AndroidManifest.xml에서 권한을 등록해줍니다.그리고 Activity에 부팅이 완료됨을 받을 수 있는 Receiver를 만들어 줍니다.Receiver는 BroadcastReceiver를 확장하면 됩니다.companion object { class BootReceiver : Bro..
Android 6.0(API 레벨 23) 부터 권한 부여 방식이 바뀌었습니다.6.0 이전에는 앱 설치시 권한을 부여하지만 6.0 이후는 앱 실행시 권한을 요청합니다. 좌. 앱 다운로드 시 권한 요청 우. 앱 실행 시 권한 요청권한은 크게 Normal Permissions, Dangerous Permissions, Signature Permissions 3가지로 분류됩니다. Normal Permissions 는 사용자의 개인 정보 보호 또는 기타 앱의 작동에 거의 영향을 미치지 않는 권한으로권한을 부여하라는 메시지를 표시하지 않는 영역입니다. Dangerous Permissions 는 사용자의 개인 정보와 관련된 데이터 또는 리소스를 원하거나 저장된 데이터, 다른 앱의작동에 잠재적으로 영향을 줄 수 있는 ..