Android Studio

    Android - 실시간 검색기능 개발 ( TextWathcer )

    실시간 검색기능은 아래 코드를 이용하여 개발할 수 있다. editSearch.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void afterTextChanged(Editable editable) { // 유저가 입력한 키워드를 뽑는다. String keyword = editSearch.getText().toString(..

    Android - 화면 갱신 함수 notifyDataSetChanged()

    알러트 다이얼로그는 액티비티가 아니므로 메인 액티비티의 onResume 함수가 실행이 안된다. 따라서 화면 갱신이 안된다. 즉 DB에 저장된 데이터를 삭제 했으니 메모리에 저장된 데이터도 삭제한다. 데이터가 변경되었으니 화면 갱신 함수 호출 = > notifyDataSetChanged() 전체 코드 public void onClick(View view) { // 1. 어느 주소록을 삭제할 것인지 // 삭제할 주소록을 가져온다. deleteIndex = getAdapterPosition(); Contact contact = contactList.get(deleteIndex); // 2. 알러트 다이얼로그를 띄운다 AlertDialog.Builder builder = new AlertDialog.Builde..

    Android - 다른 Activity로 데이터 전달 시 클래스의 객체를 전달하는 방법 Serializable , putExtra(), getSerializableExtra()

    1. Serializable (직렬화) 클래스 정의시 뒤에 implements Serializable 정의 내부에서 사용되는 객체 데이터를 외부에서도 사용 할 수 있도록 해주는 것 객체 자체에 여러가지 정보를 담아 다른 액티비티에게 데이터를 전달하는 방법 여러가지의 데이터를 보낼 경우 하나하나 일일이 지정하지 않고 객체 자체에 정보를 담는 것이 유용 예를 들면 회원가입시 회원의 정보를 일일이 지정하지 않고 객체에 담아 전달하는 것이 편리 public class Contact implements Serializable { public int id; public String name; public String phone; 2. putExtra() 지금까지는 주석처리한 코드와 같이 3줄을 작성해야했지만, 직렬..

    Android - RecyclerView 어댑터에서 새로운 액티비티 실행하는 방법과 몇 번째 행을 눌렀는지 알 수 있는 getAdapterPosition()

    CardView를 클릭했을 때 이벤트를 처리하려 한다. 1. Activity가 아닌 어댑터 ( Java Class )에서 새로운 액티비티를 실행하는 방법 // 2. 수정 액티비티를 띄운다. // 어떤 액티비가 어떤 액티비티를 띄운다!! => 인텐트에 있어야한다. Intent intent = new Intent(context, EditActivity.class); context를 ctrl + 클릭으로 찾아가면 다음과 같다 2. getAdapterPosition() 유저가 몇 번째 행을 눌렀는지 알 수 있는 어댑터의 getAdapterPosition 함수가 있다. // 1. 인텐트에 유저가 어떤 행을 눌렀는지 파악하여 // 누른 이름과 전화번호를 담아서 int index = getAdapterPosition..