분류 전체보기 1203

2-4 목표달성 앱 - Realm remove

Add Button 을 완료했으니, 이제 지우는 것을 해봅니다. 일단 remove버튼을 눌렀을 때 나오는 dialog를 만들어주고 removeTodo를 만들어서 dialog에 적용해주면 끝입니다. 다만, 이렇게 하면 문제가 있는데, 저 dialog에서 입력해준 값이 id에 없을 때, 에러가 나는 것입니다. 그래서 클릭하면 삭제가 되도록 한번 해보겠습니다. setOnItemClickListener를 만들어서 누르는 것의 id를 보내줍니다. 이렇게 해주면 누를 때 마다 잘 없어집니다. 끝 :)

SQL INJECTION

SQL Injection 은 쌍팔년도부터 사용된 굉장히 오래된 해킹 기법입니다. 굉장히 원리는 간단합니다. 유저는 로그인을 할 때 ID와 Password를 사용하여, 로그인을 진행합니다. 그렇다면 로그인 할 때 사용한 ID와 Password가 당연히 DB에 저장이 되겠죠? DB로 데이터를 던질 때, 정상적인 user id 와 password를 던지는 것이 아니라 SELECT user FROM user_table WHERE id='admin' AND password=' ' OR '1' = '1'; 와 같은 쿼리문을 던져서, 이 아이디와 패스워드가 맞다고 db에서 인식하게 하여 해킹을 시도하는 방법입니다. 방어하는 방법은 처음에 로그인을 할 때, 이게 진짜 로그인 아이디와 비밀번호 form이 맞는지 검증해주..

개발/잡다개발 2019.09.02

2-3 목표달성 앱 - Realm UI, add

일단 Listview와, add remove 버튼을 만듭니다. 자, 이렇게 수정을 했으면은 add 버튼을 누르면, 입력할 수 있게 dialog 를 만들어줍니다. 일단 레이아웃부터 만드는데 이렇게 레이아웃을 만들어줍니다. 그 다음, dialog에서 입력한 값을 받아와서, Realm에 넣어줍니다. addButton을 눌렀을 때 일어나는 이벤트로 처리해줍니다. 그리고 insertTodo에서 dialog에서 입력한 값을 받아서 처리할 수 있도록 약간의 수정을 했습니다. 또한 date에 Calendar.getInstance().timeInMillis를 받아와서 넣어줍니다. 이 시간의 타입은 검색을 통해 원하시는 형태로 넣어주시면 될 것 같습니다. 여기까지 하면 add 기능이 완성됬으니, Realm에 있는 것을 l..

2-2 목표달성 앱 - Realm Insert

이제 목표를 달성하는 앱을 만들어봅니다. 기존 서버에서 데이터를 주고 받는 형식이 아닌, 로컬 DB인 Realm을 사용해봅니다. 일단 Realm을 사용할 기본 세팅을 해주고 gradlew 파일에 추가를 해주고, Myapplication을 만들고, manifests에 세팅을 추가해줍니다. 그리고 RealmObject 를 만들어줍니다. 이제 Realm을 사용할 세팅이 완료되었으니, MainActivity에서 Insert를 구현해봅니다. nextId()의 경우에는, 순서대로 PrimaryKey인 id를 세팅해주는 것입니다. 자, 다음은 UI와 연결하고, Delete를 구현해봅니다. --- 아래의 블로그를 많이 참고하였습니다. https://duzi077.tistory.com/265 [Android/Kotlin..

2-1 개요

이번에 만들어 볼 앱은 목표달성 앱 입니다. 아래와 같이 목표를 add와 remove를 이용해서 추가하고 삭제할 수 있습니다. 이번에 만드는 앱은 앱을 종료하고 다시 실행하면 데이터가 없어지는 것도 아니고 서버에서 데이터를 받아오는 것도 아닙니다. Realm이라는 로컬 DB를 사용합니다. 때문에 앱을 종료하고 다시 실행해도 데이터가 남아있고, 따로 서버에서 데이터를 받아오지 않아도 데이터가 남아 있습니다. 자, 바로 실습으로 한번 들어가보겠습니다.