实验8 201306114104彭得源

实验报告

课程名称

基于Android平台移动互联网开发

实验日期

16/05/08

实验项目名称

实验8

实验地点

S3010

实验类型

□验证型    √设计型    □综合型

学  时

 

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面。

程序主界面是通讯录的目录显示手机上联系人的名称。点击联系人的姓名可以显示联系人的详细信息。在按了MEMU键之后会弹出菜单栏。单击菜单栏上的按钮可以添加联系人和删除联系人

 

二、实验环境(本实验所使用的硬件设备和相关软件)

Android资源管理机制。

 

三、实验内容及步骤

(1)确定数据库的数据结构。本程序只要一张表,该表的内容及说明如下表所示

 

 

字段名称

数据类型

说明

字段名称

数据类型

声明

_id

Integer

所插入记录的编号

name

varchar

联系人名称

phone

Varchar

联系人的固定电话

mobile

varchar

手机号码

 

Email

Varchar

联系人的邮箱的地址

post

varchar

联系人固话

addr

varchar

联系认的地址

comp

varchar

联系人所在地

 

(2) 在res/drawable-mdpi目录下拷入程序要用的图标

1)新建工程

 2)修改布局文件activity_main.xml

(3)定义字符串资源string.xml

(4)开发布局文件activity_main.xml用于显示联系人列表。

(5)layout目录下新建一个detail.xml,用于显示联系人详细信息,代码参考如下:

(3)开发数据库辅助类MyOpenHelper类,新建一个MyOpenHelper.java。其中的框架代码如下

(4)接下来便进入MainActivity端的开发,实现数据库增加、删除、修改记录等操作

(5)新建一个Activity名字叫DetailActivity.java,实现联系人详细信息显示功能。

四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

 

代码:实验代码

package com.example.shiyan8;

 

import android.app.Activity;

import android.content.ContentValues;

import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageButton;

import android.widget.Toast;

 

public class DetailActivity extends Activity {

    private EditText name,phone,mobile,email,post,address,comp;

    private Button save,back;

    private MyOpenHelper dbHelper;

    private SQLiteDatabase db ;

    private String nameString;

    private String n,p,m,e,po,a,c;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.detail);

        name=(EditText)findViewById(R.id.editText1);

        phone=(EditText)findViewById(R.id.EditText01);

        mobile=(EditText)findViewById(R.id.EditText02);

        email=(EditText)findViewById(R.id.EditText03);

        post=(EditText)findViewById(R.id.EditText04);

        address=(EditText)findViewById(R.id.EditText05);

        comp=(EditText)findViewById(R.id.EditText06);

        save=(Button)findViewById(R.id.sava);

        back=(Button)findViewById(R.id.back);

       

        dbHelper = new MyOpenHelper(DetailActivity.this,

                "person_contacts.db", null, 1);

        db = dbHelper.getReadableDatabase();

       

        save.setOnClickListener(new OnClickListener() {

           

            @Override

            public void onClick(View arg0) {

                // TODO Auto-generated method stub

                String namestring = name.getText().toString();

                String phonestring = phone.getText().toString();

                String mobilestring = mobile.getText().toString();

                String emailstring = email.getText().toString();

                String poststring = post.getText().toString();

                String addressstring = address.getText().toString();

                String compstring = comp.getText().toString();

               

                Cursor cursor = db.rawQuery(

                        "select * from userTable where name=?",

                        new String[] { namestring }, null);

                ContentValues values = new ContentValues();

                // 开始填数据

                values.put("name", name.getText().toString());

                values.put("name", phone.getText().toString());

                values.put("name", mobile.getText().toString());

                values.put("name", email.getText().toString());

                values.put("name", post.getText().toString());

                values.put("name", address.getText().toString());

                values.put("name", comp.getText().toString());

                db.insert("person_contacts", null, values);

                values.clear();

                Intent intent = new Intent(DetailActivity.this,MainActivity.class);

                finish();

                Toast.makeText(DetailActivity.this,

                        "保存成功" ,

                        Toast.LENGTH_LONG).show();

               

               

            }

        });

       

        back.setOnClickListener(new OnClickListener() {

           

            @Override

            public void onClick(View arg0) {

                // TODO Auto-generated method stub

                Intent intent = new Intent(DetailActivity.this,MainActivity.class);

            }

        });

       

       

       

 

    }

    //关闭数据库

        protected void onDestroy() {

            // TODO Auto-generated method stub

            super.onDestroy();

            if (db!=null&&db.isOpen()) {

                db.close();

            }

        }

}

 

 

 

运行结果:(截图)

 

 

 

 

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

越做越难,很难理解。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日

           

 

posted on 2016-05-12 23:50  04彭得源  阅读(320)  评论(0编辑  收藏  举报