본문 바로가기

코딩/Android

(3)
안드로이드 새로운 뷰 만드는 법 MyButton 이라는 자바 클래스 파일 하나를 생성한다. 생성후 AppCompatButton를 상속 받는다. (이 클래스를 button으로 만들어주기 위해 상속받는다) init라는 메소드를 만들어 그안에서 배경색과 글자색을 지정해주고 dimen이라는 xml파일을 생성해 textsize를 지정해주었다. public MyButton(Context context) { super(context); init(context); } public MyButton(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public void init(Context context) { setBackgroundColor(Color.CYAN..
Fragment 로 activity 화면에 보여주기 메인 액티비티를 하나 생성. 또한 액티비티 위에 띄워줄 프래그먼트 생성 app/res/layout 에서 우클릭 후 new -> layout resource file 클릭후 프래그먼트 생성 fragment.java파일 생성 후 코드 입력 ```java package org.techtown.tab; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; p..
안드로이드 Parcelable 의 오브젝트 전달법 앱을 만들다 보면 인텐트를 통해 단순히 String, int, boolean 같은 기본 타입 뿐 아니고 커스텀 클래스나 오브젝트를 다른 컴포넌트에 전달해 줘야 할 경우가 많다. 그 경우 단순히 그냥 인텐트에 putExtra() 로는 넣어줄 수가 없다. 안드로이드에서는 그런 경우를 위해 자바의 Serialization 개념과 유사한 Parcelable이라는 클래스가 있다. 먼저 이런것이 왜 필요한가 살펴보겠다. 예를 들어 다음과 같은 클래스가 있다고 하자. public class BookData { int _id; String title; String author; String publisher; int price; } 도서관리 앱에서 ListView로 화면에 표시하기 위해 ArrayList에 책들의 정보..