android使用sqlite3

效果图:

                         

 

 项目结构图:

 

 

activity_main.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical"
 8     tools:context=".MainActivity">
 9 
10     <ScrollView
11         android:layout_width="match_parent"
12         android:layout_height="wrap_content">
13     </ScrollView>
14 
15     <ListView
16         android:id="@+id/listview"
17         android:layout_width="match_parent"
18         android:layout_height="400dp">
19 
20     </ListView>
21 
22     <Button
23         android:id="@+id/btn_addDocument"
24         android:layout_width="wrap_content"
25         android:layout_height="wrap_content"
26         android:text="添加记录"
27         android:layout_gravity="center" />
28 
29 </LinearLayout>

 

activity_add_document.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical"
 8     tools:context=".AddDocument">
 9 
10     <EditText
11         android:id="@+id/add_time"
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content"
14         android:hint="输入时间"/>
15 
16     <EditText
17         android:id="@+id/add_height"
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:hint="输入身高"/>
21 
22     <EditText
23         android:id="@+id/add_weight"
24         android:layout_width="match_parent"
25         android:layout_height="wrap_content"
26         android:hint="输入体重"/>
27 
28     <EditText
29         android:id="@+id/add_blood_pressure"
30         android:layout_width="match_parent"
31         android:layout_height="wrap_content"
32         android:hint="输入血压"/>
33 
34     <EditText
35         android:id="@+id/add_temperature"
36         android:layout_width="match_parent"
37         android:layout_height="wrap_content"
38         android:hint="输入体温"/>
39 
40     <EditText
41         android:id="@+id/add_pulse"
42         android:layout_width="match_parent"
43         android:layout_height="wrap_content"
44         android:hint="输入脉搏"/>
45 
46     <EditText
47         android:id="@+id/add_breathe"
48         android:layout_width="match_parent"
49         android:layout_height="wrap_content"
50         android:hint="输入呼吸"/>
51 
52     <Button
53         android:id="@+id/btn_hd_add"
54         android:layout_width="wrap_content"
55         android:layout_height="wrap_content"
56         android:text="添加"
57         android:layout_gravity="center"/>
58 
59 </LinearLayout>

 

document.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent">
 6 
 7     <TextView
 8         android:id="@+id/time"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:text="时间:2019.19.39"/>
12 
13     <TextView
14         android:id="@+id/height"
15         android:layout_toRightOf="@+id/time"
16         android:layout_width="wrap_content"
17         android:layout_height="wrap_content"
18         android:layout_marginLeft="20dp"
19         android:text="身高:150 cm"/>
20 
21     <TextView
22         android:id="@+id/weight"
23         android:layout_toRightOf="@+id/height"
24         android:layout_width="wrap_content"
25         android:layout_height="wrap_content"
26         android:layout_marginLeft="20dp"
27         android:text="体重:50 kg"/>
28 
29     <TextView
30         android:id="@+id/blood_pressure"
31         android:layout_below="@+id/time"
32         android:layout_width="wrap_content"
33         android:layout_height="wrap_content"
34         android:text="血压:120/80 mmHg"/>
35 
36     <TextView
37         android:id="@+id/temperature"
38         android:layout_below="@+id/height"
39         android:layout_toRightOf="@+id/blood_pressure"
40         android:layout_width="wrap_content"
41         android:layout_height="wrap_content"
42         android:layout_marginLeft="20dp"
43         android:text="体温:38.9 摄氏度"/>
44 
45     <TextView
46         android:id="@+id/pulse"
47         android:layout_below="@+id/blood_pressure"
48         android:layout_width="wrap_content"
49         android:layout_height="wrap_content"
50         android:text="脉搏:100 次/分"/>
51 
52     <TextView
53         android:id="@+id/breathe"
54         android:layout_below="@id/blood_pressure"
55         android:layout_toRightOf="@+id/pulse"
56         android:layout_marginLeft="20dp"
57         android:layout_width="wrap_content"
58         android:layout_height="wrap_content"
59         android:text="呼吸:100 次/分"/>
60 
61 </RelativeLayout>

 

MainActivity:
 1 package com.mingrisoft.health_document_test;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.database.Cursor;
 6 import android.support.v7.app.AppCompatActivity;
 7 import android.os.Bundle;
 8 import android.view.View;
 9 import android.widget.Button;
10 import android.widget.ListView;
11 import android.widget.SimpleAdapter;
12 import android.widget.Toast;
13 
14 import java.util.ArrayList;
15 import java.util.HashMap;
16 import java.util.Map;
17 //注意这里是继承Activity,这样在reRsume()中才能调用onCreate(null)刷新activity
18 public class MainActivity extends Activity {
19     private DBOpenHelper dbOpenHelper;
20 
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25 
26         Button btn_addDocument = findViewById(R.id.btn_addDocument);
27         ListView listView = findViewById(R.id.listview);
28         dbOpenHelper = new DBOpenHelper(MainActivity.this,"db_document",null,1);
29 
30         Cursor cursor = dbOpenHelper.getReadableDatabase().query("tb_document",null,null, null, null,null,null);
31         ArrayList<Map<String, String>> resultList = new ArrayList<>();
32 
33         while (cursor.moveToNext()) {
34             Map<String, String> map = new HashMap<>();
35             map.put("time", cursor.getString(1));
36             map.put("height", cursor.getString(2));
37             map.put("weight", cursor.getString(3));
38             map.put("blood_pressure", cursor.getString(4));
39             map.put("temperature", cursor.getString(5));
40             map.put("pulse", cursor.getString(6));
41             map.put("breathe", cursor.getString(7));
42             resultList.add(map);
43         }
44 
45         if (resultList == null || resultList.size() == 0) {
46             Toast.makeText(MainActivity.this,"记录为空",Toast.LENGTH_SHORT).show();
47         } else {
48             SimpleAdapter simpleAdapter = new SimpleAdapter(MainActivity.this, resultList,
49                     R.layout.document, new String[]{"time", "height", "weight", "blood_pressure",
50                     "temperature", "pulse", "breathe"},
51                     new int[] {R.id.time, R.id.height, R.id.weight, R.id.blood_pressure,
52                     R.id.temperature, R.id.pulse, R.id.breathe});
53             listView.setAdapter(simpleAdapter);
54         }
55 
56         btn_addDocument.setOnClickListener(new View.OnClickListener() {
57             @Override
58             public void onClick(View v) {
59                 Intent intent = new Intent(MainActivity.this, AddDocument.class);
60                 startActivity(intent);
61             }
62         });
63     }
64 
65     @Override
66     protected void onResume() {
67         super.onResume();
68         onCreate(null);
69     }
70 }

 

DBOpenHelper:
 1 package com.mingrisoft.health_document_test;
 2 
 3 import android.content.Context;
 4 import android.database.sqlite.SQLiteDatabase;
 5 import android.database.sqlite.SQLiteOpenHelper;
 6 import android.util.Log;
 7 
 8 public class DBOpenHelper extends SQLiteOpenHelper {
 9     final String CREATE_DOCUMENT = "create table tb_document (_id integer primary key autoincrement," +
10             "time, height, weight, blood_pressure, temperature, pulse, breathe)";
11 
12     public DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
13         super(context, name, null, version);
14     }
15 
16     @Override
17     public void onCreate(SQLiteDatabase db) {
18         db.execSQL(CREATE_DOCUMENT);
19     }
20 
21     @Override
22     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
23         Log.i("健康档案表","版本更新"+oldVersion+"-->"+newVersion);
24     }
25 }

 

AddDocument:
 1 package com.mingrisoft.health_document_test;
 2 
 3 import android.content.ContentValues;
 4 import android.database.Cursor;
 5 import android.database.sqlite.SQLiteDatabase;
 6 import android.support.v7.app.AppCompatActivity;
 7 import android.os.Bundle;
 8 import android.view.View;
 9 import android.widget.Button;
10 import android.widget.EditText;
11 import android.widget.Toast;
12 
13 public class AddDocument extends AppCompatActivity {
14     private DBOpenHelper dbOpenHelper;
15 
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_add_document);
20 
21         dbOpenHelper = new DBOpenHelper(AddDocument.this,"db_document",null,1);
22         final EditText et_add_time = findViewById(R.id.add_time);
23         final EditText et_add_height = findViewById(R.id.add_height);
24         final EditText et_add_weight = findViewById(R.id.add_weight);
25         final EditText et_add_blood_pressure = findViewById(R.id.add_blood_pressure);
26         final EditText et_add_temperature = findViewById(R.id.add_temperature);
27         final EditText et_add_pulse = findViewById(R.id.add_pulse);
28         final EditText et_add_breathe = findViewById(R.id.add_breathe);
29         Button btn_hd_add = findViewById(R.id.btn_hd_add);
30 
31         btn_hd_add.setOnClickListener(new View.OnClickListener() {
32             @Override
33             public void onClick(View v) {
34                 String time = et_add_time.getText().toString();
35                 String height = et_add_height.getText().toString();
36                 String weight = et_add_weight.getText().toString();
37                 String blood_pressure = et_add_blood_pressure.getText().toString();
38                 String temperature = et_add_temperature.getText().toString();
39                 String pulse = et_add_pulse.getText().toString();
40                 String breathe = et_add_breathe.getText().toString();
41 
42                 if (time.equals("")) {
43                     Toast.makeText(AddDocument.this,"时间不能为空",Toast.LENGTH_SHORT).show();
44                 } else {
45                     String key = et_add_time.getText().toString();
46                     Cursor cursor = dbOpenHelper.getReadableDatabase().query("tb_document",null,"time=?",new String[]{key}, null,null,null);
47 
48                     if (cursor.getCount() != 0) {
49                         Toast.makeText(AddDocument.this,"时间不能重复",Toast.LENGTH_SHORT).show();
50                     } else {
51                         insertData(dbOpenHelper.getReadableDatabase(), time, height, weight, blood_pressure, temperature,
52                                 pulse, breathe);
53                         Toast.makeText(AddDocument.this, "添加成功", Toast.LENGTH_SHORT).show();
54                     }
55                 }
56             }
57         });
58     }
59 
60     private void insertData(SQLiteDatabase sqLiteDatabase, String time, String height, String weight, String blood_pressure
61             , String temperature, String pulse, String breathe) {
62         ContentValues contentValues = new ContentValues();
63         contentValues.put("time", time);
64         contentValues.put("height", height);
65         contentValues.put("weight", weight);
66         contentValues.put("blood_pressure", blood_pressure);
67         contentValues.put("temperature", temperature);
68         contentValues.put("pulse", pulse);
69         contentValues.put("breathe", breathe);
70 
71         sqLiteDatabase.insert("tb_document",null,contentValues);
72     }
73 }

 

Manifests:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.mingrisoft.health_document_test">
 4 
 5     <application
 6         android:allowBackup="true"
 7         android:icon="@mipmap/ic_launcher"
 8         android:label="@string/app_name"
 9         android:roundIcon="@mipmap/ic_launcher_round"
10         android:supportsRtl="true"
11         android:theme="@style/AppTheme">
12         <activity android:name=".MainActivity">
13             <intent-filter>
14                 <action android:name="android.intent.action.MAIN" />
15 
16                 <category android:name="android.intent.category.LAUNCHER" />
17             </intent-filter>
18         </activity>
19         <activity android:name=".AddDocument"></activity>
20     </application>
21 
22 </manifest>

 

posted @ 2020-03-19 20:28  hemeiwolong  阅读(567)  评论(0编辑  收藏  举报