차근차근/Android

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

예쁜꽃이피었으면 2015. 4. 29. 17:50



안드로이드 프로젝트를 하나 만들고 있는데

sqlite를 써서 CRUD만 해보려고 한다.

밑에 소스는 update부분인데. 실수했던 것을 적어 두려고 한다.


line 5에서 만들어 두었던 DBManager.class에 update()를 사용하기 위해 선언했다.

그리고 바로 line 34에서 dbHelper를 쓰려고 했는데 여러 방법을 써도 계속 에러가 났다.

널포인트 익셉션 음. 


대리님께서 보시더니. line 14를 추가했다. 된다.

DBManager라는 상자에 dbHelper라는 이름은 줬지만 내용물은 담지 않았던 것이다.

정신차리고 다시 해봐야 겠다.

//수정화면

  1. public class revise_writing extends Activity {
  2.  
  3. private TextObject textobject;
  4. private EditText edit_title , edit_content;
  5. private DBManager dbHelper;
  6. private SQLiteDatabase database;
  7. private Button btn_revise_OK;
  8. private Cursor cursor;
  9.  
  10. public void onCreate(Bundle savedInstanceState){
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.revise_content);
  13.  
  14. dbHelper = new DBManager(this);
  15.  
  16. edit_title = (EditText)findViewById(R.id.edit_title);
  17. edit_content = (EditText)findViewById(R.id.edit_content);
  18. btn_revise_OK = (Button)findViewById(R.id.btn_revise_OK);
  19.  
  20. Intent newintent = getIntent();
  21. textobject = (TextObject)newintent.getSerializableExtra("textobject");
  22.  
  23. edit_title.setText(textobject.getText_title());
  24. edit_content.setText(textobject.getText_content());
  25.  
  26. btn_revise_OK.setOnClickListener(new OnClickListener(){
  27.  
  28. @Override
  29. public void onClick(View v) {
  30. long id = textobject.getId();
  31. String title = edit_title.getText().toString();
  32. String content = edit_content.getText().toString();
  33.  
  34. dbHelper.update(id,title, content);
  35.  
  36. TextObject textobject = new TextObject();
  37. textobject.setText_title(title);
  38. textobject.setText_content(content);
  39. }
  40. });
  41. }
  42. }




savedInstanceState


Android 기본 프로젝트 MainActivity.java 분석

http://globalbiz.tistory.com/60


saveInstanceState 란 무엇인가?

saveInstanceState객체는 onSavaInstanceState메서드에서 저장한 Bundle객체에 대한 정보를 가지고 있다.

- onSaveInstanceState 메서드를 구현하기 위해선 Override 해야 한다.

- onSaveInstanceState 메서드가 호출되는 시점은 메모리 부족/ 강제 종료 및 스크린 Orientation 이 변경될 때 호출된다.


bundle은 상태/값 등을 저장하기 위한 객체  ex) 포장이사의 박스(bundle)


반응형