主要建立如下布局,实现学生对应信息存入到数据库,并在下方打印出存入数据库里的信息
Android studio之数据库入门加学生信息保存提取练习
话不多说,代码如下:
activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="学号:"
            android:textSize="20dp"/>

        <EditText
            android:id="@+id/number"
            android:layout_width="150dp"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="姓名:"
            android:textSize="20dp"/>
        <EditText
            android:id="@+id/name"
            android:layout_width="150dp"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <RadioGroup
        android:id="@+id/RadioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="性别:"
            android:textSize="20dp"/>
        <RadioButton
            android:id="@+id/man"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"
            android:textSize="20dp"/>
        <RadioButton
            android:id="@+id/woman"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"
            android:textSize="20dp"/>
    </RadioGroup>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="专业:"
            android:textSize="20dp"/>
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </Spinner>
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/but1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="保存"/>
        <Button
            android:id="@+id/but2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="查询"/>
        <Button
            android:id="@+id/del"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="删除"/>
    </LinearLayout>
    <TextView
        android:id="@+id/info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

</android.support.constraint.ConstraintLayout>

创建一个数据库类,名字随意,我的是MyDatabaseHelper.java
Android studio之数据库入门加学生信息保存提取练习
代码为:

package com.example.a2;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private MyDatabaseHelper dbHelper;
    private String[] spinnerItems = {"软件工程", "车辆工程", "语言学院"};
    String str="";
    String man1="";
    String woman1="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button putDatabase=(Button) findViewById(R.id.but1);
        Button outDatabase=(Button) findViewById(R.id.but2);
        Button delDatabase=(Button) findViewById(R.id.del);

        final TextView tv=(TextView)findViewById(R.id.info);//获取info所在TextView的位置,便于打印信息
        final EditText et1=(EditText) findViewById(R.id.number);//获取学号位置
        final EditText et2=(EditText) findViewById(R.id.name);//获取姓名位置
        final RadioButton sex1=(RadioButton) findViewById(R.id.man);//获取单选按钮组
        final RadioButton sex2=(RadioButton) findViewById(R.id.woman);//获取单选按钮组

        final Spinner spin=(Spinner) findViewById(R.id.spinner);//获取Spinner
        //给Spinner添加适配器
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, spinnerItems);
        spin.setAdapter(spinnerAdapter);
        //创建数据库,建立表名字为TTList.db
        dbHelper=new MyDatabaseHelper(this,"TTList.db",null,1);
        dbHelper.getWritableDatabase();

        //存数据
        putDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                ContentValues values=new ContentValues();

                String num=et1.getText().toString();//获取学号信息
                String na=et2.getText().toString();//获取名字信息
                values.put("学号",num);//存学号
                values.put("姓名",na);//存名字
                if(sex1.isChecked()){
                    man1="男";
                    values.put("性别",man1);
                }
                if(sex2.isChecked()){
                    woman1="女";
                    values.put("性别",woman1);//存性别
                }
                values.put("专业",spin.getSelectedItem().toString());//存Spinner里面被选中的信息
                if(num.equals("")||na.equals("")||man1.equals("")&&woman1.equals("")||spin.getSelectedItem().toString().equals(""))
                {
                        Toast.makeText(MainActivity.this, "信息不全,请补充", Toast.LENGTH_SHORT).show();
                }
                else{
                    db.insert("TTList",null,values);
                    //注意别漏掉
                    values.clear();
                    Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
                    et1.setText("");//保存成功清空学号和姓名信息
                    et2.setText("");
                }
            }
        });
        //读数据
        outDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                //Cursor cursor=db.query("TTList",null,null,null,null,null,null);//读取数据库所有信息
                Cursor cursor=db.query("TTList",null,"专业=?",new String[]{"软件工程"},
                null,null,null);//读取数据库里面专业是软件工程的所有信息
                if(cursor.moveToFirst()){
                    do{
                        String number=cursor.getString(cursor.getColumnIndex("学号"));//根据key值读取信息
                        String name=cursor.getString(cursor.getColumnIndex("姓名"));
                        String sex=cursor.getString(cursor.getColumnIndex("性别"));
                        String subject=cursor.getString(cursor.getColumnIndex("专业"));
//                        Log.d("MainActivity","学号为:"+number);
//                        Log.d("MainActivity","名字为:"+name);
//                        Log.d("MainActivity","性别为:"+sex);
//                        Log.d("MainActivity","专业为:"+subject);
                        str+="学号为:"+number+";"+ "名字为:"+name+";"+ "性别为:"+sex+
                                ";"+ "专业为:"+subject+"\n";//将数据库信息存到str中并换行
                    }while (cursor.moveToNext());
                }
                cursor.close();
                tv.setText(str);//打印信息
            }
        });
        //删除数据库里面的信息
        delDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                //删除所有
                db.delete("TTList",null,null);
                //删除专业=软件工程
                //db.delete("TTList","专业=?",new String[]{"软件工程"});
                tv.setText("");
                str="";
            }
        });
    }

}

MainActivity.java:

package com.example.a2;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private MyDatabaseHelper dbHelper;
    private String[] spinnerItems = {"软件工程", "车辆工程", "语言学院"};
    String str="";
    String man1="";
    String woman1="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button putDatabase=(Button) findViewById(R.id.but1);
        Button outDatabase=(Button) findViewById(R.id.but2);
        Button delDatabase=(Button) findViewById(R.id.del);

        final TextView tv=(TextView)findViewById(R.id.info);//获取info所在TextView的位置,便于打印信息
        final EditText et1=(EditText) findViewById(R.id.number);//获取学号位置
        final EditText et2=(EditText) findViewById(R.id.name);//获取姓名位置
        final RadioButton sex1=(RadioButton) findViewById(R.id.man);//获取单选按钮组
        final RadioButton sex2=(RadioButton) findViewById(R.id.woman);//获取单选按钮组

        final Spinner spin=(Spinner) findViewById(R.id.spinner);//获取Spinner
        //给Spinner添加适配器
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, spinnerItems);
        spin.setAdapter(spinnerAdapter);
        //创建数据库,建立表名字为TTList.db
        dbHelper=new MyDatabaseHelper(this,"TTList.db",null,1);
        dbHelper.getWritableDatabase();

        //存数据
        putDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                ContentValues values=new ContentValues();

                String num=et1.getText().toString();//获取学号信息
                String na=et2.getText().toString();//获取名字信息
                values.put("学号",num);//存学号
                values.put("姓名",na);//存名字
                if(sex1.isChecked()){
                    man1="男";
                    values.put("性别",man1);
                }
                if(sex2.isChecked()){
                    woman1="女";
                    values.put("性别",woman1);//存性别
                }
                values.put("专业",spin.getSelectedItem().toString());//存Spinner里面被选中的信息
                if(num.equals("")||na.equals("")||man1.equals("")&&woman1.equals("")||spin.getSelectedItem().toString().equals(""))
                {
                        Toast.makeText(MainActivity.this, "信息不全,请补充", Toast.LENGTH_SHORT).show();
                }
                else{
                    db.insert("TTList",null,values);
                    //注意别漏掉
                    values.clear();
                    Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
                    et1.setText("");//保存成功清空学号和姓名信息
                    et2.setText("");
                }
            }
        });
        //读数据
        outDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                //Cursor cursor=db.query("TTList",null,null,null,null,null,null);//读取数据库所有信息
                Cursor cursor=db.query("TTList",null,"专业=?",new String[]{"软件工程"},
                null,null,null);//读取数据库里面专业是软件工程的所有信息
                if(cursor.moveToFirst()){
                    do{
                        String number=cursor.getString(cursor.getColumnIndex("学号"));//根据key值读取信息
                        String name=cursor.getString(cursor.getColumnIndex("姓名"));
                        String sex=cursor.getString(cursor.getColumnIndex("性别"));
                        String subject=cursor.getString(cursor.getColumnIndex("专业"));
//                        Log.d("MainActivity","学号为:"+number);
//                        Log.d("MainActivity","名字为:"+name);
//                        Log.d("MainActivity","性别为:"+sex);
//                        Log.d("MainActivity","专业为:"+subject);
                        str+="学号为:"+number+";"+ "名字为:"+name+";"+ "性别为:"+sex+
                                ";"+ "专业为:"+subject+"\n";//将数据库信息存到str中并换行
                    }while (cursor.moveToNext());
                }
                cursor.close();
                tv.setText(str);//打印信息
            }
        });
        //删除数据库里面的信息
        delDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db=dbHelper.getWritableDatabase();
                //删除所有
                db.delete("TTList",null,null);
                //删除专业=软件工程
                //db.delete("TTList","专业=?",new String[]{"软件工程"});
                tv.setText("");
                str="";
            }
        });
    }

}

效果看下面
Android studio之数据库入门加学生信息保存提取练习
像这样多存几组数据,全部保存,然后点击查询
Android studio之数据库入门加学生信息保存提取练习
只显示了我们筛选的数据,此时打开数据库看看里面的信息
Android studio之数据库入门加学生信息保存提取练习
很显然,只打印了软件工程的信息

相关文章:

  • 2021-06-30
  • 2021-07-22
  • 2022-01-11
  • 2022-12-23
  • 2021-12-10
  • 2022-01-01
  • 2021-08-23
  • 2022-12-23
猜你喜欢
  • 2021-05-31
  • 2022-12-23
  • 2021-06-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案