栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

移动开发技术(Android)——实验8 SQLite数据库的使用

移动开发技术(Android)——实验8 SQLite数据库的使用

移动开发技术(Android)——实验8 SQLite数据库的使用
  • 一、实验目的
  • 二、实验内容
    • (1)创建2个Activity
    • (2)界面构成
      • ① 主界面activity_main.xml
      • ② activity_manage.xml
      • ③ 适配器布局adapter2.xml
    • (3)程序功能
      • ① DBOpenHelper.java(数据库辅助类)
      • ② MainActivity.java
      • ③ ManageActivity.java

一、实验目的
  1. 掌握创建SQLite数据库的方法;
  2. 掌握实现对SQLite数据增删改查的方法;
  3. 学会使用调试工具查看数据库和数据表;
二、实验内容

创建一个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;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/450132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号