Android DB数据库实例

android技术开发 发布于 2013/08/20 15:41
阅读 351
收藏 3

Android DB数据库实例
我们今天给大家分享的主要就是我们在编程当中必须用到的东西,那就是数据库,这个对我们来说是非常重要的,那么我们通过这个小的例子就会明白了,数据库其实也不是那么难的,那么我们就来看看数据库的主要代码:

Java代码:

1 packagedemo;

3 importandroid.app.Activity;

4 importandroid.database.Cursor;

5 importandroid.database.sqlite.SQLiteCursor;

6 importandroid.os.Bundle;

7 importandroid.view.Menu;

8 importandroid.view.MenuItem;

9 importandroid.view.View;

10 importandroid.widget.AdapterView;

11 importandroid.widget.EditText;

12 importandroid.widget.ListView;

13 importandroid.widget.SimpleCursorAdapter;

14 

15 publicclassDBActivityextendsActivity{

16 

17 privateToDoDBmyToDoDB;

18 privateCursormyCursor;

19 privateListViewmyListView;

20 privateEditTextmyEditText;

21 privateint_id;

22 protectedfinalstaticintMENU_ADD=Menu.FIRST;

23 protectedfinalstaticintMENU_EDIT=Menu.FIRST+1;

24 protectedfinalstaticintMENU_DELETE=Menu.FIRST+2;

25 

26 publicbooleanonOptionsItemSelected(MenuItemitem)

27 {

28 super.onOptionsItemSelected(item);

29 switch(item.getItemId())

30 {

31 caseMENU_ADD:

32 this.addTodo();

33 break;

34 caseMENU_EDIT:

35 this.editTodo();

36 break;

37 caseMENU_DELETE:

38 this.deleteTodo();

39 break;

40 }

41 returntrue;

42 }

43 

44 publicbooleanonCreateOptionsMenu(Menumenu)

45 {

46 super.onCreateOptionsMenu(menu);

47 menu.add(Menu.NONE,MENU_ADD,0,R.string.strAddButton);

48 menu.add(Menu.NONE,MENU_EDIT,0,R.string.strEditButton);

49 menu.add(Menu.NONE,MENU_DELETE,0,R.string.strDeleteButton);

50 

51 returntrue;

52 }

53 

54 publicvoidonCreate(BundlesavedInstanceState)

55 {

56 super.onCreate(savedInstanceState);

57 setContentView(R.layout.main);

58 

59 myListView=(ListView)this.findViewById(R.id.myListView);

60 myEditText=(EditText)this.findViewById(R.id.myEditText);

61 

62 myToDoDB=newToDoDB(this);

63 /*取得DataBase里的数据*/

64 myCursor=myToDoDB.select();

65 

66 /*newSimpleCursorAdapter并将myCursor传入,

67 显示数据的字段为todo_text*/

68 SimpleCursorAdapteradapter=

69 newSimpleCursorAdapter

70 (this,R.layout.list,myCursor,newString[]

71 {ToDoDB.FIELD_TEXT},newint[]

72 {R.id.listTextView1});

73 myListView.setAdapter(adapter);

74 

75 /*myListView添加OnItemClickListener*/

76 myListView.setOnItemClickListener

77 (newAdapterView.OnItemClickListener()

78 {

79 

80 publicvoidonItemClick

81 (AdapterView<?>arg0,Viewarg1,intarg2,longarg3)

82 {

83 /*myCursor移到所点击的值*/

84 myCursor.moveToPosition(arg2);

85 /*取得字段_id的值*/

86 _id=myCursor.getInt(0);

87 /*取得字段todo_text的值*/

88 myEditText.setText(myCursor.getString(1));

89 }

90 

91 });

92 myListView.setOnItemSelectedListener

93 (newAdapterView.OnItemSelectedListener()

94 {

95 publicvoidonItemSelected

96 (AdapterView<?>arg0,Viewarg1,intarg2,longarg3)

97 {

98 /*getSelectedItem所取得的是SQLiteCursor*/

99 SQLiteCursorsc=(SQLiteCursor)arg0.getSelectedItem();

100 _id=sc.getInt(0);

101 myEditText.setText(sc.getString(1));

102 }

103 

104 publicvoidonNothingSelected(AdapterView<?>arg0)

105 {

106 }

107 });

108 }

109 

110 privatevoidaddTodo()

111 {

112 if(myEditText.getText().toString().equals(""))

113 return;

114 /*添加数据到数据库*/

115 myToDoDB.insert(myEditText.getText().toString());

116 /*重新查询*/

117 myCursor.requery();

118 /*重新整理myListView*/

119 myListView.invalidateViews();

120 myEditText.setText("");

121 _id=0;

122 }

123 

124 privatevoideditTodo()

125 {

126 if(myEditText.getText().toString().equals(""))

127 return;

128 /*修改数据*/

129 myToDoDB.update(_id,myEditText.getText().toString());

130 myCursor.requery();

131 myListView.invalidateViews();

132 myEditText.setText("");

133 _id=0;

134 }

135 

136 privatevoiddeleteTodo()

137 {

138 if(_id==0)

139 return;

140 /*删除数据*/

141 myToDoDB.delete(_id);

142 myCursor.requery();

143 myListView.invalidateViews();

144 myEditText.setText("");

145 _id=0;

146 }

147 

148 }

 microoh


加载中
返回顶部
顶部