암호화 (AES256, BLOWFISH) 복호화 Hash 함수를 통과 하기전의 원본 데이터를 메시지(message)라고 부르고, 통과된 이후의 데이터를 다이제스트(digest)라고 부른다. 1. AES/ECB/PKCS5PADDING 방식 키 plaintext cipher ciphertext 2. AES/CBC/PKCS5PADDING 방식 키 iv plaintext cipher ciphertext 3. key값의 길이에 따라 AES128, AES192, AES256 으로 구분됨 AES128 : 키값 16bytes AES192 : 키값 24bytes AES256 : 키값 32bytes MainActivity.kt package com.example.encryptionexample import android...
Lifecycle LifecycleOwner LifecycleObserver MainActivity.kt package com.example.lifecycleexample import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.Button import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver class MainActivity : AppCompatActivity() { private val btShow: Button by lazy { findViewByI..
startActivityForResult() onActivityResult() registerForResultActivity ActivityResultLauncher registerForActivityResult ActivityResultContracts.StartActivityForResult() ActivityResultLauncher.launch(intent) activity_main.xml Activity_sub.xml SubActivity.kt package com.example.registerforresultactivityexample import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppC..
1. 위치 권한 팝업 (2가지) (주의사항) 2. GPS 허용 팝업, 위치 얻기 Manifest.permission.ACCESS_FINE_LOCATION (해당 권한 팝업 허용시 ACCESS_COARSE_LOCATION 권한도 허용됨) Manifest.permission.ACCESS_COARSE_LOCATION (팝업 허용시 ACCESS_FINE_LOCATION 권한은 허용이 안됨) ContextCompat.checkSelfPermission() ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestMultiplePermissions() PackageManager.PERMISSION_GRANTED checkSelfPermis..
Widget Layout requestLayout() invalidate() Button EditText TextView LinearLayout Toolbar ViewGroup View 참고. https://www.charlezz.com/?p=29013 Android에서 View의 생명주기 | 찰스의 안드로이드 https://proandroiddev.com/the-life-cycle-of-a-view-in-android-6a2c4665b95e을 번역한 내용입니다. 안드로이드 앱을 실행할 때 우리가 가장 먼저 스크린에서 볼 수 있는 것이 View라고 말할 수 있다. View 클래스는 사 www.charlezz.com
dp와 px 지긋지긋하다. px : 화면을 구성하는 최소 단위 (px = dp * dpi / 160) DPI : 1인치에 들어가는 px을 나타내는 단위 (Dot Per Inch) (100dpi = 1인치에 100px) dp : 픽셀 독립 단위 (dp = px * 160 / dpi) ldpi : 120dpi mdpi : 160dpi (기본) (1dp = 1px) hdpi : 240dpi xhdpi : 320dpi xxhdpi : 480dpi xxxhdpi : 640dpi dpi : 240 ImageView 사이즈 : 400px / 400px TextView 사이즈 : 100px dpi : 440 ImageView 사이즈 : 400px / 400px TextView 사이즈 : 100px 이래서 dp를 사용하..
CoordinatorLayout AppBarLayout MaterialToolbar app:layout_scrollFlags app:layout_behavior="@string/appbar_scrolling_view_behavior" fragment_plant_detail.xml app:layout_scrollFlags 의 종류 app:layout_scrollFlags="scroll|enterAlways" (스크롤 내리면 툴바 노출, 스크롤 올리면 툴바 사라짐) app:layout_scrollFlags="scroll|enterAlwaysCollapsed" (스크롤 최상단까지 내리면 툴바 노출, 스크롤 올리면 툴바 사라짐) app:layout_scrollFlags="scroll|exitUntilCollap..
- Total
- Today
- Yesterday
- TabLayout
- JSONArray
- ViewPager2
- DataBinding
- XML
- recyclerview
- JSONObject
- 안드로이드 #코틀린 #Android #Kotlin
- activity
- 혀가 길지 않은 개발자
- ViewModel
- Intent
- java
- MVVM
- Vue.js #Vue.js + javascript
- Android
- Architecture Pattern
- handler
- View
- 안드로이드
- 자바
- ArrayList
- 코틀린
- Kotlin
- James Kim
- coroutine
- Livedata
- CoordinatorLayout
- Design Pattern
- fragment
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |