내가 싫어하는 입출력....그래도 해야지 어쩌겠어.... 파일 입출력 안드로이드는 애플리케이션의 데이터 저장소를 2개 제공 내부 저장소 : 애플리케이션 통해서만 접근 가능 -> openFileOuput / openFileInput 메서드 사용 *용량 적고, 사용자도 열람X 외부 저장소 : 단말기 내부에서 사용하는 공유 영역 (단말기 저장소), 컴퓨터에 단말기 연결시 탐색기로 접근하는 영역을 의미 -> FileInputStream / FileOutputStream 메서드 사용 안드10의 외부 저장소 -> 모든 앱이 접근할 수 있다보니 보안 문제 발생해 외부저장소에 제한을 둠 -> 안드10에서는 옵션으로 제한을 선택할 수 있도록 했는데 안드11부터는 옵션 없어지고 자유로운 접근 불가능 (Scoped Stor..
전체 글
Application Class 앱에 단 하나만 지정해 사용할 수 있는 객체 같은 안드 앱이라면 어디서든 주소값을 가져올 수 있음 -> 다양한 요소에서(화면에서) 공통적으로 사용하는 데이터를 관리 (데이터를 전달~전달~전달 하는 번거로움 해소) 영구적 저장은 X Application을 상속받아 클래스를 만들고, Manifest에 등록해 사용 class AppClass : Application() { var value1 = 0 var value2 = "" fun method1() { Log.d("test", "method1을 호출하겠습니다.") } } class MainActivity : AppCompatActivity() { private lateinit var binding:ActivityMainBin..
코드를 통해 View 객체를 생성 -> layout에 추가 View 객체 생성시 생성자에 Context() 객체 설정 Context : 어떠한 작업을 하기 위한 정보를 갖고 있는 객체를 통칭 Ex) 그래픽작업 -> 해당 디바이스가 지원하는 색상, 가로세로길이, bit 정보 등 다양한 정보 필요함. 이때 이런 정보를 담고 있는 객체를 Graphic Context 라 부를 수 있음 안드 개발시 Context를 구분할 필요는 없고 지정만 잘 해주면 됨 Activity가 Context를 상속받고 있기 때문에 this 를 넣어주면 되고, 그 외에는 Context를 구하는 다양한 메서드를 통해 설정 LayoutParam View가 배치될 때 필요한 공통 속성을 설정할 수 있는 객체 가로, 세로 길이 설정 필요 ov..
Layout Inflater 앱 실행 도중 View를 만들어 추가할 경우 코드에 layout inflater로 xml을 View 객체로 만들어 사용 layoutInflater.inflate 메서드를 사용하면 XML을 통해 View 객체를 만듬 두번째 인자로 null 을 넣어주는 방식 -> addView()를 통해 나중에 추가 / 추가되고자 하는 레이아웃을 넣어주는 방식 -> 처음부터 화면에 구성되어져 나옴, removeView() 불가능 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) // 뷰바인딩 객..