- 一、实验目的
- 二、实验内容
- (1)创建2个Activity
- (2)界面构成
- ① 主界面activity_main.xml
- ② activity_manage.xml
- ③ 适配器布局adapter2.xml
- (3)程序功能
- ① DBOpenHelper.java(数据库辅助类)
- ② MainActivity.java
- ③ ManageActivity.java
- 掌握创建SQLite数据库的方法;
- 掌握实现对SQLite数据增删改查的方法;
- 学会使用调试工具查看数据库和数据表;
创建一个Android项目,项目名称为“shiyan0801_专业_×××(学生姓名)”,要求:
(1)创建2个Activity创建2个Activity,名称分别为MainActivity、ManageActivity,对应的布局文件名称分别为activity_main.xml、activity_manage。
(2)界面构成 ① 主界面activity_main.xml实现用户登录,包括以下控件:
a)2个文本框,分别用来显示“管理员”、“密码”;
b)2个编辑框,分别用来接收用户输入的用户名、密码;
c)1个按钮,文本显示为“登录”。
② activity_manage.xml
实现图书信息设置,包括以下控件:
(a)5个文本框用于显示提示信息“图书名称:”、“图书价格”、“图书版次”“图书类别”、“出版社”;
(b)2个编辑框分别用于接收图书的名称和价格;
©4个单选按钮用于版次选择(1版、2版、3版、3版以上);
(d)n个复选框用于类别选择(教育、计算机、小说、科技、励志、文学等);
(e)1个下拉列表用于出版社选择(人民邮电出版社、科学出版社、高等教育出版社、清华大学出版社,其他等);
(f)4个普通按钮,文本分别显示为“添加”、“修改”、“删除”、“查询”;
(g)1个ListView控件。
③ 适配器布局adapter2.xml
(3)程序功能 ① DBOpenHelper.java(数据库辅助类)
package com.example.shiyan0801; //(此处换成自己的包名)
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper{
public DBOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table BOOK_INFORMATION(_id integer primary key,"+
"bookName varchar(20), "+
"bookPrice varchar(10),"+
"bookVersion varchar(10),"+
"bookKind varchar(20),"+
"bookPublisher varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("drop table if exists BOOK_INFORMATION");
onCreate(db);
}
}
② MainActivity.java
点击MainActivity中的“登录”按钮,若管理员和密码分别为学生的姓名和学号,则弹出提示对话框,显示“***登录成功!”,然后跳转到ManageActivity,否则,弹出Toast提示“管理员或密码错误,请重新输入”。
package com.example.shiyan0801; //(此处换成自己的包名)
import android.os.Bundle;
import android.app.Activity;
import android.app.alertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
EditText ET_username ,ET_passweord;
Button BT_login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ET_username=(EditText) findViewById(R.id.ET_username);
ET_passweord=(EditText) findViewById(R.id.ET_password);
BT_login=(Button) findViewById(R.id.BT_login);
BT_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String Str_username = ET_username.getText().toString();
String str_password = ET_passweord.getText().toString();
if(Str_username.equals("AAA")&&str_password.equals("180000")){
alertDialog alert = new alertDialog.Builder(MainActivity.this)
.setTitle("提示").setMessage("登陆成功").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, ManageActivity.class);
startActivity(intent);
}
}).create();
alert.show();
}else{
Toast.makeText(MainActivity.this,"管理员或密码错误,请重新输入" , Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
③ ManageActivity.java
ManageActivity中的操作:
a)单击“添加”按钮,将用户输入和选择的各项信息写入数据库;
b)单击“修改”按钮,将_id为3的记录的价格改为100,出版社改为“清华大学出版社”;
c)单击“删除”按钮,将所有版次为1版的记录删除;
d)单击“查询”按钮,将出版社为“人民邮电出版社”的记录显示在ListView控件中。
package com.example.shiyan0801; //(此处换成自己的包名)
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
public class ManageActivity extends Activity {
private DBOpenHelper dbOpenHelper;
private static final int VERSION = 2;
private static final String DBNAME = "BOOK_INFORMATION.db";
SQLiteDatabase db;
EditText ET_bookName,ET_bookPrice;
RadioGroup RG_version;
TableRow TR_category,TR_category2;
Spinner sp;
Button BT_insert,BT_update,BT_delete,BT_select;
ListView listView;
ArrayList allmess;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_manage);
dbOpenHelper = new DBOpenHelper(ManageActivity.this,DBNAME,null,VERSION);
db=dbOpenHelper.getWritableDatabase();
ET_bookName=(EditText) findViewById(R.id.ED_name);
ET_bookPrice=(EditText) findViewById(R.id.ED_prize);
RG_version=(RadioGroup) findViewById(R.id.RadioGroup1);
TR_category=(TableRow) findViewById(R.id.CB_TR);
TR_category2=(TableRow) findViewById(R.id.CB_TR2);
sp=(Spinner) findViewById(R.id.spinner);
listView=(ListView) findViewById(R.id.listview);
BT_insert=(Button) findViewById(R.id.submit_BT);
BT_insert.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String Str_version="";
String Str_kind="";
for(int i=0;i();
//Cursor cursor = db.rawQuery("select * from BOOK_INFORMATION", null);
Cursor cursor = db.query("BOOK_INFORMATION", null, null, null, null, null, null,null);
// if(cursor.moveToFirst()){
// while(!cursor.isAfterLast()){
// allmess.add(" 书名:"+cursor.getString(1)+
// " 价格:"+cursor.getString(2)+
// " 版本:"+cursor.getString(3)+
// " 类别:"+cursor.getString(4)+
// " 出版社:"+cursor.getString(5));
// cursor.moveTonext();
// }
// }
// ArrayAdapter adapter = new ArrayAdapter(ManageActivity.this,
// R.layout.adapter,
// allmess);
// listView.setAdapter(adapter);
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(ManageActivity.this,
R.layout.adapter2,
cursor,
new String[] {"bookName","bookPrice","bookVersion","bookKind","bookPublisher"},
new int[] {R.id.no1,R.id.no2,R.id.no3,R.id.no4,R.id.no5});
listView.setAdapter(adapter2);
//db.execSQL("select * from BOOK_INFORMATION where bookPublisher='人民邮电出版社'");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.manage, menu);
return true;
}
}



