차근차근/Android

[ study ] 다이어리 어플 만들어보기 1 - 부가 설명 2

예쁜꽃이피었으면 2015. 4. 23. 17:57

< SQLite >



SQLiteOpenHelper

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

 = > 별도의 DB관리 코드를 만들어서 재사용하고 싶을 때 사용.


SQLiteOpenHelper 사용법

http://here4you.tistory.com/50



onUpgrade 

create는 현재 생성하려는 파일이 없을 때 최초 한번만 실행한다.

onUpgrade는 db테이블 구조가 바꾸거나 칼럼이 추가 되었을 때 호출

호출 방법은 생성자에서 마지막 인자로 입력한 version을 더 높은 숫자로 입력하게 되면 upgrade가 호출되어 실행한다.




startActivityForResult   , startActivity

http://gardenpu.tistory.com/122

http://nicsy.tistory.com/77


startActivity 

: 단순히 호출한 Activity를 호출하는 메소드

 일방적으로 보내기만 할 때 ,  return필요없음


startActivityForResult

: activity 호출에 따라 수행된 결과를 리턴해야 하는 경우 사용

 쌍방간 연계성이 있는 경우에 사용 



onActivityResult

http://springwalks.tistory.com/168

부모 액티비티에서 onActivityResult() 메소드는 서브액티비티의 결과를 받는다



CursorAdapter , BaseAdapter의 차이가 궁금했다 커스텀 뷰를 쓰려고 하다보니 예제마다 사용하는 것들이 달랐기 때문에


리스트뷰 - arrayadapter

http://blog.naver.com/PostView.nhn?blogId=kittoboy&logNo=110133387465&categoryNo=30&viewDate=¤tPage=1&listtype=0&from=postList


리스트뷰 - DaseAdapter

http://blog.naver.com/PostView.nhn?blogId=kittoboy&logNo=110133423266&parentCategoryNo=&categoryNo=30&viewDate=&isShowPopularPosts=false&from=postList



추상클래스인 BaseAdapter를 기점으로 이를 상속받는 ArrayAdapter, CursorAdapter,SimpleAdapter이 있다.

ArrayAdapter는 배열(컬렉션)로 부터 데이터를 가져올 때 사용한다.

CursorAdapter은 데이터베이스로 부터 데이터를 가져올 때 사용한다.

SimpleAdapter은 xml파일 등으로 부터 데이터를 가져올 때 사용한다.





changeCursor , notifyDataSetChanged

커스텀 리스트뷰 새로고침(갱신)

http://andromer.tistory.com/archive/20130801


thread상에서 adapter의 notifyDataSetChanged를 사용할 때 Exception발생

http://shinluckyarchive.tistory.com/474


ListView의 Adapter에서 notifyDataSetChanged()이 동작하지 않을 때

http://soaple.blogspot.kr/2014/05/listview-adapter-notifydatasetchanged.html


- cursorAdapter를 사용하고 notifyDataSetChanger()대신 changeCursor()를 사용해야 한다.

API11부터 사용할 수 있다고 한다.




getWritableDatabase

데이터베이스 사용하기 

http://berabue.tistory.com/51


getReadableDatabase();

: 읽기 전용으로 DB를 불러온다. 이 때 생성된 DB가 없으면 onCreate();를 하고

 DB가 있지만 버전이 바뀌었다면 onUpgrade();를 한다.


getWritableDatabase();

: 읽고 / 쓰기가 가능하다. getReadableDatavase();과 마차가지로 onCreate(); onUpgrade();를 호출


close();

getReadableDatabase(); , getWritableDatabase(); 를 실행한 후에 호출해 DB를 닫는다.




ContentValues

데이터베이스 이용하기 - (2) 안드로이드 데이터베이스 기초

http://androidhuman.tistory.com/210


코드 -> 데이터베이스에 자료 입력하기 : contentValues

자료를 데이터베이스에 입력하기 위해서 contentValues객체를 데이터베이스의 레코드와 동일하게 사용한다.

contentValues객체에 데이터베이스 테이블에 맞게 자료를 입력한 후, SQLiteDatabase클래스의 insert()메소드를 사용하여 데이터 베이스에 새로운 레코드를 추가한다.


반응형