본문 바로가기

안드로이드

(31)
스레드와 핸들러 이해하기 //정독 필수 https://junghun0.github.io/2019/06/11/android-handler/ [Android] Handler 사용해보기 - Junghoon's Blog Handler? Junghun0.github.io 안드로이드에서 ui처리할때 사용되는 기본 스레드를 메인스레드라고 부른다. 메인스레드에서 이미 ui 에 접근하고 있으므로 새로 생성한 다른 스레드에서는 핸들러 객체를 이용해서 메세지를 전달함으로써 메인스레드에서 처리하도록 만들수 있다. 데드락: 동시에 두곳이상에서 요청이 생겼을때 어떤 것을 먼저 처리할지 판단 할 수 없어서 발생하는 시스템상의 문제 =>동시접근으로 발생하는 데드락 문제를 해결하는 가장 간단한 방법은 작업을 순서대로 처리하는 것이지만, 이 역할은 스레드안에서..
Intent란 무언가 작업을 수행하기 위해 사용되는 일종의 명령 또는 데이터를 전달하는데 사용 인텐트 구성요소 :액션(수행할기능)과 데이터 (대상의 데이터) 다른앱구성요소에 인텐트를 전달할수 있는 대표적인 메서드 -startActivity()또는 startActivityForressult() //액티비티띄울때 -startService()또는 bindService()//서비스 시작할때 -broadcastIntent()//인텐트객체를 브로드캐스팅 방식으로 전송할때 package com.example.sampleintent; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import..
activity 자동회전 package com.example.eevent; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.res.Configuration; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; //가로세로회전시 activity 바꾸고 싶은경우 // res하위폴더에 layout-land만들고 그곳에 activity.xml파일 만들면. 단말 방향바꿀때 land파일의 xml을..
[안드로이드] 검색 기능 전화번호부검색기능처럼 자동으로 리스트가 필터링 되어 검색되도록 하기 검색을 입력할 edittext에 addTextChangedListener 구현 ! 자동으로 3가지가 오버라이드 되는데 afterTextChange에 구현한다. ArrayList listdata = new ArrayList(); List_Data mListData; ArrayList arrayList=new ArrayList(); adpater.java 에 filter 함수를 만들어서 검색기능을 만든다 저는 처음에 에러떠서 배열에 값이 잘들어오는지 확인하려고 로그로 filter 함수에서 배열의 사이즈를 확인해보았습니당.
[안드로이드]dialog size 조절 , 레이아웃 조절 이렇게 dialog를 기능 구현 하는경우에 xml 사이즈가 길어서 이쁘지 않다면 ? 구글 검색하면 java 파일에서 코드가 대부분인데용 자바파일에선, WindowManager를 사용해서 사이즈를 조절하는 방법이 있습니다.->디바이스에따라 크기를 맞출수 있어서 좋다고 하네요 하지만 더 간편한 방법을 택하였습니다/inflate 할 레이아웃인 add_register로 가서 크기를 줄였습니다. xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" a..
[안드로이드] DB 사용하기 *안드로이드 로컬에서 사용하는 database,즉 sqlite를 사용해보겠다 스마트폰 단말기의 data/data/database 경로에 파일이 만들어지고 안드로이드의 deivice monitor, toast ,log ,cmd창 등 여러방법을 이용하여 db의 테이블을 확인 할수 있다 저는 보통 log를 찍어서 확인 해봅니다 이런식으로 ,.! SQLiteOpenHelper를 상속받은 DBManger 클래스를 만든다 .그리고 캐스팅될 (context, 디비이름,null, 버젼(디바이스랑 현재 안드로이드 버젼이 맞는지 확인해서 넣을 것 )) 그리고 생성될 테이블 을 OnCreate에 작성한다.create table 테이블이름 (item 문자열 컬럼, price 정수형 컬럼, create_at 문자열 컬럼 등등 ..
[안드로이드]recyclerview의 item클릭하기 2 어뎁터는 관리를 하는용으로 만들고 기능구현은 다른 클래스에서 만들어서 구현해야 좋다고한다 나는 java가 주언어가 아니라서 ㅜ 어뎁터에서 뷰홀더의 아이템 클릭시 어떤 매개체들을 가지고 가야할지도 몰라서 너무 해맷당.. 아까 방금 올른 포스팅에서는 지저분하게.. 이렇게어뎁터에 기능구현을 넣어버렸지만 .. 어뎁터는 "관리용" 으로 쓰도록 하기위해.. diallog 쪽 소스를 옮겨보겠습니당.. 우선 adapter.java에 따로 클릭이벤트 시 실행될 인터페이스 함수를 만들어줍니다. 저는 recycler 뷰 의 position 값과 데이터들을 매개체로 넣었당. 주석 보이는 것처럼 클릭리스너 실행시 아이템리스너도 실행되게 만들어줍니다. 그리고~ 나는 저기서 Info 가 이미지view인데 이미지클릭시에 클릭되도록 ..
[안드로이드]RecylerView의 list 클릭시 dialog창 띄우기 recyclerview는 Listview에서처럼 setOnItemClickListener 와 같은 기능을 지원하지 않는다고 합니다 .그래서 RecyclerView에서 onBindViewHolder해줄 때에 각각의 아이템에 OnClickListener를 만들어 접근을 하였습니다. 해당 리스트의 이미지를 클릭시에 다이얼로그 창을 띄우는 것을 해보았는데 , 이렇게 아래처럼 적으니 처음에는 에러가 났습니다 . ㅜㅜ AlertDialog.Builder builder = new AlertDialog.Builder("메인액티비티.this"); 나는 현재 adapter.java에서 소스작성을 하고 mainactivity에서 다이얼로그를 띄워야 하는 상황이므로 메인액티비티.this를 불러야 합니다 . 참고로 .class..