Da.java

  1. public class Db extends SQLiteOpenHelper {
  2. public Db(Context context) {
  3. super(context, "db", null, 1);
  4. }
  5.  
  6. @Override
  7. public void onCreate(SQLiteDatabase db) {
  8. db.execSQL("CREATE TABLE user2(" +
  9. "_id INT DEFAULT 0," +
  10. "name TEXT DEFAULT \"\"," +
  11. "sex TEXT DEFAULT \"\")");
  12. }
  13.  
  14. @Override
  15. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  16.  
  17. }
  18. }
  1. MainActivity.java
  1. public class MainActivity extends AppCompatActivity {
  2. private SimpleCursorAdapter mAdapter;
  3. private ListView listView;
  4.  
  5. private Button btn_add;
  6. private Button btn_delete;
  7.  
  8. private Button btn_back;
  9. private EditText et_id;
  10. private EditText et_name;
  11. private EditText et_sex;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17.  
  18. btn_add = (Button) findViewById(R.id.btn_add);
  19. btn_delete = (Button) findViewById(R.id.btn_delete);
  20. listView = (ListView) findViewById(R.id.list);
  21.  
  22. btn_add.setOnClickListener(new View.OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. addData();
  26. refleshListView();
  27. }
  28. });
  29.  
  30. btn_delete.setOnClickListener(new View.OnClickListener() {
  31. @Override
  32. public void onClick(View v) {
  33. deleteData();
  34. refleshListView();
  35. }
  36. });
  37.  
  38. listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  39. @Override
  40. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  41. // Toast.makeText(MainActivity.this,""+position,Toast.LENGTH_SHORT).show();
  42. int positions = position + 1;
  43. Db db = new Db(MainActivity.this);
  44. SQLiteDatabase dbWrite = db.getWritableDatabase();
  45. dbWrite.delete("user2","_id=?",new String[]{""+positions});
  46. dbWrite.close();
  47. refleshListView();
  48. }
  49. });
  50. }
  51.  
  52. public void addData() {
  53. btn_back = (Button) findViewById(R.id.btn_back);
  54. et_id = (EditText) findViewById(R.id.et_id);
  55. et_name = (EditText) findViewById(R.id.et_name);
  56. et_sex = (EditText) findViewById(R.id.et_sex);
  57.  
  58. btn_add = (Button) findViewById(R.id.btn_add);
  59. btn_delete = (Button) findViewById(R.id.btn_delete);
  60. listView = (ListView) findViewById(R.id.list);
  61.  
  62. btn_add.setVisibility(View.GONE);
  63. btn_delete.setVisibility(View.GONE);
  64. listView.setVisibility(View.GONE);
  65.  
  66. btn_back.setVisibility(View.VISIBLE);
  67. et_id.setVisibility(View.VISIBLE);
  68. et_name.setVisibility(View.VISIBLE);
  69. et_sex.setVisibility(View.VISIBLE);
  70.  
  71. btn_back.setOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74. btn_add.setVisibility(View.VISIBLE);
  75. btn_delete.setVisibility(View.VISIBLE);
  76. listView.setVisibility(View.VISIBLE);
  77.  
  78. btn_back.setVisibility(View.GONE);
  79. et_id.setVisibility(View.GONE);
  80. et_name.setVisibility(View.GONE);
  81. et_sex.setVisibility(View.GONE);
  82.  
  83. String id = et_id.getText().toString(),
  84. name =et_name.getText().toString(),
  85. sex = et_sex.getText().toString();
  86.  
  87. Db db = new Db(MainActivity.this);
  88. SQLiteDatabase dbWrite = db.getWritableDatabase();
  89.  
  90. ContentValues cv = new ContentValues();
  91. cv.put("_id", id);
  92. cv.put("name", name);
  93. cv.put("sex", sex);
  94. dbWrite.insert("user2", null, cv);
  95.  
  96. dbWrite.close();
  97.  
  98. refleshListView();
  99. }
  100. });
  101.  
  102. // String id = et_id.getText().toString(),
  103. // name =et_name.getText().toString(),
  104. // sex = et_sex.getText().toString();
  105. //
  106. //
  107. // Db db = new Db(MainActivity.this);
  108. // SQLiteDatabase dbWrite = db.getWritableDatabase();
  109. //
  110. // ContentValues cv = new ContentValues();
  111. // cv.put("_id",id);
  112. // cv.put("name", name);
  113. // cv.put("sex", sex);
  114. // dbWrite.insert("user2", null, cv);
  115. //
  116. // dbWrite.close();
  117. }
  118.  
  119. public void deleteData() {
  120. Db db = new Db(MainActivity.this);
  121. SQLiteDatabase dbWrite = db.getWritableDatabase();
  122. dbWrite.delete("user2",null,new String[]{});
  123. dbWrite.close();
  124. }
  125.  
  126. public void refleshListView() {
  127. Db db = new Db(MainActivity.this);
  128. SQLiteDatabase dbRead = db.getReadableDatabase();
  129. Cursor c = dbRead.query("user2", null, null, null, null, null, null);
  130.  
  131. mAdapter = new SimpleCursorAdapter(MainActivity.this, R.layout.user_info, c,
  132. new String[]{"_id","name","sex"}, new int[]{R.id._id,R.id._name,R.id._sex});
  133.  
  134. listView.setAdapter(mAdapter);
  135.  
  136. dbRead.close();
  137. }
  138.  
  139. }
  1. user_info.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:orientation="horizontal">
  5. <TextView
  6. android:id="@+id/_id"
  7. android:textSize="20sp"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content" />
  10. <TextView
  11. android:id="@+id/_name"
  12. android:textSize="20sp"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content" />
  15. <TextView
  16. android:id="@+id/_sex"
  17. android:textSize="20sp"
  18. android:layout_width="wrap_content"
  19. android:layout_height="wrap_content" />
  20.  
  21. </LinearLayout>
  1. activity_main.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. tools:context=".MainActivity">
  7.  
  8. <Button
  9. android:id="@+id/btn_add"
  10. android:text="Add"
  11. android:textSize="20sp"
  12. android:layout_width="match_parent"
  13. android:layout_height="wrap_content" />
  14. <Button
  15. android:id="@+id/btn_delete"
  16. android:text="Delete"
  17. android:textSize="20sp"
  18. android:layout_width="match_parent"
  19. android:layout_height="wrap_content" />
  20.  
  21. <ListView
  22. android:id="@+id/list"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"/>
  25.  
  26. <Button
  27. android:id="@+id/btn_back"
  28. android:text="确定"
  29. android:textSize="20sp"
  30. android:layout_width="match_parent"
  31. android:layout_height="wrap_content" />
  32.  
  33. <EditText
  34. android:id="@+id/et_id"
  35. android:visibility="gone"
  36. android:layout_width="match_parent"
  37. android:layout_height="40dp" />
  38. <EditText
  39. android:id="@+id/et_name"
  40. android:visibility="gone"
  41. android:layout_width="match_parent"
  42. android:layout_height="40dp" />
  43. <EditText
  44. android:id="@+id/et_sex"
  45. android:visibility="gone"
  46. android:layout_width="match_parent"
  47. android:layout_height="40dp" />
  48. </LinearLayout>
  1.  

android studio中ListView与SQLite的结合使用的更多相关文章

  1. Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes

    在编写xml文件时,为了预览效果,经常会使用默认填上一些内容,比如TextView时,随便写上一个text <TextView ... android:text="Name:" ...

  2. Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源

    Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...

  3. android studio 中移除module和恢复module

    一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...

  4. Android Studio中Button等控件的Text中字符串默认大写的解决方法

    初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ...

  5. .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口

    对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...

  6. 如何将Eclipse中的项目迁移到Android Studio 中

    如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...

  7. 在android studio 中使用applicationid的问题

    现在我需要对项目app的某个功能做性能测试,主要测试耗电量的多少. 1.我想到的方式是,我需要在同一台手机测试,同一个应用,需要安装在手机两次,第二次安装不覆盖第一次的安装. 在android stu ...

  8. Android studio 中的配置编译错误总结

    1.编译Andorid 工程的时候,有时候出现gradle 报下面的错误. Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : U ...

  9. Android Studio中清单文件改versionCode和versionName没效果的原因

    在Android Studio中,项目的versionCode 和versionName 的控制不是在AndroidManifest.xml清单文件中更改的,而是在项目的build.gradle中更改 ...

随机推荐

  1. make the innerText in the html element can not be selected

    approach style="-moz-user-select:none;" onselectstart="javascript:return false;" ...

  2. java中的@Override标签,小细节大作用

    转载:http://www.cnblogs.com/octobershiner/archive/2012/03/09/2388370.html 一般用途                         ...

  3. myeclipse加入JavaEE

    1. 2. 3. 4.

  4. Android:View随手指移动

    View的自动移动,我们可以设置动画,如之类提到的 ViewCompat,Animation. 如何是View随着手指的移动而移动呢? 在onTouch事件实现 @Overridepublic boo ...

  5. 那些用JavaScript写的操作系统

    之前有人说过Chrome是新的C语言运行环境(Chrome Is The New C Runtime) ,不过笔者更倾向于Web是新的C语言运行环境,而且这种技术绝对没有版权问题,也绝不会被一家公司垄 ...

  6. Elasticsearch 1.X 版本Java插件开发

    接上一篇<Elasticsearch 2.X 版本Java插件开发简述> 开发1.X版本elasticsearch java插件与2.X版本有一些不同,同时在安装部署上也有些不同,主要区别 ...

  7. jsrender-for循环中访问父属性

    jsrender中使用for循环数据时有时需要访问父级数据. 而jsrender在循环中的父级数据存放在隐藏属性parent.parent.data中,使用案例如下 {{:#parent.parent ...

  8. C#-ade.net-实体类、数据访问类

    实体类.数据访问类 是由封装演变而来,使对数据的访问更便捷,使用时只需要调用即可,无需再次编写代码 实体类是按照数据库表的结构封装起来的一个类 首先,新建文件夹 App_Code ,用于存放数据库类等 ...

  9. DIV 文字强制换行

    一.对于div强制换行1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准.#wrap{white-space:normal; wid ...

  10. CAlayer层的属性

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...