https://m.blog.naver.com/PostView.nhn?blogId=rkswlrbduf&logNo=221205378087&proxyReferer=https:%2F%2Fwww.google.com%2F gson 라이브러리를 사용하셔야 수월하게 하실 수 있을거에요 .

 

(안드로이드/Android) Arraylist를 사용한 SharedPreferences 사용하기

이번에는 핸드폰의 정보들을 간단하게 저장하기 위해서 사용하는 SharedPreferences에 대하여 포스팅하겠...

blog.naver.com

https://stackoverflow.com/questions/12567578/what-does-the-layoutinflater-attachtoroot-parameter-mean
나중이라는 시점이 위의 stackoverflow를 참조하시면 parent.addview 이후에 붙는 것이라고 합니다. 제 생각에는 코드가 눈에 보이지는 않지만 프레임워크내 내부 로직이 존재하는거 같습니다.  getview 호출하면 view를 최종적으로 반환하니 그 다음 순서로 parent.addview(반환되는 뷰)호출이 될 거 같네요. 그런 view들이 모여서 리스트뷰를 구성하게 될 거에요~여기서 부모는 메인액티비티의 리스트뷰가 될 것 같습니다~ 

 

 

What does the LayoutInflater attachToRoot parameter mean?

The LayoutInflater.inflate documentation isn't exactly clear to me about the purpose of the attachToRoot parameter. attachToRoot: whether the inflated hierarchy should be attached to the root

stackoverflow.com

 

https://hyeonstorage.tistory.com/m/153동적으로 오는 글자로 바꾸기 위해서는 위의 링크 처럼 %s로 써서 바꾸셔서 하면 될 거 같아요~


viewbinding을 사용하면  xml상에 있는 view(여기서는 xml에 있는 모든 구성 요소 하나하나를 이야기 한다고 보시면 됩니다. 자세한 건 view에 대해서 찾아보세요!)를 코틀린 코드 상에서 여러가지 상호작용을 하는 코드를 쉽게 작성 할 수 있게 해줍니다. 상호작용하는 한 가지의 예를 들자면 텍스트뷰에 글자를 넣어주는 방법이 있습니다. 이는 viewbinding 후에 이루어 질 수 있습니다.전에는 findviewbyId,kotlin extension을 이용한 방법이 있었지만
해당 방법은 현재 거의 사용하지 않고 viewbinding이 표준이라고 보시면 됩니다.viewbinding을 하기 위해서는 2가지 절차가 필요합니다. 첫 번째로는 build.gradle에서 설정을 바꿔야 하고  두 번째는 사용하는 방법에 대한 이야기 입니다.
첫번 째는 ~ 바꿔주시면 됩니다.viewbinding 클래스 생성에 대한 이해만약 여러분이 activity_main.xml이라는 레이아웃 xml파일을 만들었다고 가정을 해보겠습니다. viewbinding 설정을 해놓았기 때문에
 해당 이름 방식을 스네이크 케이스(activity_main)에서 파스칼 케이스(ActivityMain)이 바꾸고 (카멜케이스나 스네이크 케이스에 대한 이야기도 한번 찾아보세요!)
거기에 추가로 binding이라는 이름을 붙여서 ActivityMainBinding이라는 클래스를 자동으로 만들어 줍니다.이를 통해서 사용하는 방법은1.  inflate() 메서드를 호출합니다. 그러면 activity에서 사용할 binding 클래스 인스턴스를 생성해 주고요.
2.getRoot() 메서드를 호출 하여 rootview 참조를 가지고 옵니다. 여기서 얘기하는 rootview인 경우 가장 취상위의
레이아웃으로 추정됩니다.
3. setcontentview()에 root 뷰를 전달하면 화면이 나옵니다.
developer.android.com/topic/libraries/view-binding?hl=ko#kotlin

 

뷰 결합  |  Android 개발자  |  Android Developers

뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 클래스의

developer.android.com

 

1. manifest <application>  안에 해당 라인을 추가 한다.

 

android:networkSecurityConfig="@xml/network_security_config"

 

2. xml 폴더를 만들고 network_security_config.xml 만든다. 그리고 해당 파일에 해당 라인을 추가하면 끝 .

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

 

허망하게도 개발하던 휴대폰을 껏다 키면 된다.  

 

+ 에뮬레이터 휴대폰 끄는 법은 에뮬레이터 전원 버튼을 꾸욱 누르면 재시작할지 종료할지 나옵니다. 

android:layout_width="0dp"
android:layout_columnWeight="1"

해당 코드를 쓰면 되는데

레이아웃을 짜다 보면 해당 레이아웃에 적용되지 않는 속성들을 마구 잡이로 사용하여 다른 속성이 먹히지 않는 경우가 있다. 그리드레이아웃이면 그리드레이아웃에 맞는 속성을 리니어면 리니어 레이아웃에 맞는 속성을 사용하자 .

 

이 화면을 여러가지 방법으로 만들 수 있다. ( 해당 앱은 당근 마켓을 캡쳐하였습니다.)

1. 다이얼로그 커스텀하는방식
2. 기존 레이아웃을 프레임으로 만들어서 리니어레이아웃을 gone 에서 visible 로 바꾸기
3. 배경이 투명한 새로운 액티비티 만들기등 
등의 방식이 있다. 

+ Recent posts