题目:利用安卓制作个简单的学生管理界面,实现对SQLite数据库操作
1.SQLiteOpenHelper类,用于实例我们的数据库
package com.example.administrator.myapplication.com.com.SQLlite; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * Created by Administrator on 2018/5/9. */ public class MySQLite extends SQLiteOpenHelper{ String sql= "create table Test (" + "_id integer primary key autoincrement," + "name," + "age ," + "grade)"; public MySQLite(Context context) { super(context, "student.db",null,3); } /** * 数据库创建后第一次被调用执行的方法 * @param sqLiteDatabase */ @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(sql); Log.i("1", "创建成功"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("drop Test if exists"); sqLiteDatabase.execSQL(sql); Log.i("1", "创建成功"); } }
2.activity
package com.example.administrator.myapplication.com.com.SQLlite; import android.app.AlertDialog; import android.app.Dialog; import android.content.ContentValues; import android.content.DialogInterface; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.CursorAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.Toast; import com.example.administrator.myapplication.R; import java.util.Arrays; import java.util.zip.Inflater; public class SQLliteActivity extends ActionBarActivity { //EditText控件 EditText name; EditText age; EditText grade; //EditText控件文本 String sName; String sAge; String sGrade; MySQLite sqLite;//数据库类 Dialog dialog;//会话框 View view1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sqllite); name = (EditText) this.findViewById(R.id.name); age = (EditText) this.findViewById(R.id.age); grade = (EditText) this.findViewById(R.id.grade); //关联控件 // listView = (ListView) this.findViewById(R.id.listview); sqLite = new MySQLite(this);//实例化数据库 } /** * @param 插入学生信息方法 */ public void insert(View view) { sName = name.getText().toString().trim(); sAge = age.getText().toString().trim(); sGrade = grade.getText().toString().trim(); //获取数据 SQLiteDatabase sql = sqLite.getWritableDatabase();//创建连接对象 ContentValues values = new ContentValues();//创建数据源 values.put("name", sName); values.put("age", sAge); values.put("grade", sGrade); Cursor cursor =sql.query("Test", null, "name=?", new String[]{sName}, null, null, null); //检查学生信息是否已经存在 if(cursor.moveToFirst()) { Toast.makeText(this,"该学生信息已经存在",Toast.LENGTH_LONG).show(); } else { Long i = sql.insert("Test", null, values);//执行插入 if (i != -1) { Toast.makeText(this, "插入成功", Toast.LENGTH_LONG).show(); } sql.close();//关闭连接 } } /** * @param 查询学生信息方法 */ public void select(View view) { LayoutInflater layoutInflater=LayoutInflater.from(this);//创建解析layout对象 view1=layoutInflater.inflate(R.layout.dilag, null);//解析xml文档 dialog= new AlertDialog.Builder(this) .setView(view1)//设置对话框显示的布局 //设置按钮 .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { EditText editText = (EditText) view1.findViewById(R.id.stuentID); final String studentname = String.valueOf(editText.getText());//获取学生姓名 SQLiteDatabase sql = sqLite.getWritableDatabase(); // Cursor cursor = sql.rawQuery("select * from Test where name=28", null); Cursor cursor = sql.query("Test", null, "name=?", new String[]{studentname}, null, null, null); if (cursor.moveToFirst()) { // Toast.makeText(SQLliteActivity.this, "" + cursor.getString(1) + cursor.getString(2)+cursor.getString(3), Toast.LENGTH_LONG).show(); name.setText(cursor.getString(1)); age.setText(cursor.getString(2)); grade.setText(cursor.getString(3)); } else { Toast.makeText(SQLliteActivity.this, "没有该学生信息", Toast.LENGTH_LONG).show(); } } }).create(); dialog.show();//显示对话框 } public void delete(View view1) { name.setText(""); age.setText(""); grade.setText(""); }
}