实验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();

}

}

}

 

 

运行结果:(截图)


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


越做越难,很难理解。


实验评语


 


实验成绩


 


指导教师签名:              年   月   日

           
时间: 2024-10-12 00:04:47

实验8 201306114104彭得源的相关文章

实验7 201306114104彭得源

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 16/03/25 实验项目名称 实验7 实验地点 S3010 实验类型 □验证型    √设计型    □综合型 学  时 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 实现启动端和BindService之间的双向通信 1)   实现从启动端传递一个数据至BindService端: 2)   实现使用BindService服务播放项目源文件中的音乐: 3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小.

实验五 04彭得源

#include"stdio.h" #include"stdlib.h" #include"time.h" struct wuli{ int wuli_number; char pname; /*已分配区表登记栏标志,用"0"表示空栏目*/ }; /*内存表*/ struct wuli wuli_table[20]={0}; struct page{ char pname;//进程名称 int psize;//进程大小 int

实验二,04彭得源

#include <stdio.h> #define n 20 struct fcfs { int id; //进程名 int gt; //进程到达时间 int runt; //进程运行时间 int ft; //进程完成时间 int rt; //进程周转时间 }f[n]; void main() { int amount,i,j,l,k; struct fcfs f[n]; printf("请输入进程个数:\n"); scanf("%d",&am

实验报告: 人脸识别方法回顾与实验分析 【OpenCV测试方法源码】

趁着还未工作,先把过去做的东西整理下出来~   Github源码:https://github.com/Blz-Galaxy/OpenCV-Face-Recognition (涉及个人隐私,源码不包含测试样本,请谅解~) 对实验结果更感兴趣的朋友请直接看 第5章 [摘要]这是一篇关于人脸识别方法的实验报告.报告首先回顾了人脸识别研究的发展历程及基本分类:随后对人脸识别技术方法发展过程中一些经典的流行的方法进行了详细的阐述:最后作者通过设计实验对比了三种方法的识别效果并总结了人脸识别所面临的困难与

Java实验二实验报告 20135108 李泽源

北京电子科技学院(BESTI) 实     验    报     告 课程:Java 班级: 1351    姓名:李泽源   学号:20135108 成绩:              指导教师:娄嘉鹏   实验日期:2015.5.8 实验密级:          预习程度:          实验时间:15:30~18:00 仪器组次:27         必修/选修:选修     实验序号:02 实验名称: Java面向对象程序设计 实验目的与要求:    1. 初步掌握单元测试和TDD 2

试验一,04彭得源

#include<stdio.h> #include<string.h> main() { char a[10]="help"; char b[10]="quit"; char c[10]; while(1){ printf("please enter the command: "); scanf("%s",c); if(strcmp(c,a)==0) printf("dir\ncd\nmd\

04彭得源

#include<stdio.h> #include<string.h> main() { char liangzu[30][30]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit&quo

信息安全系统设计基础实验五:通讯协议设计

北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:52.53 姓名:王思亓 赵阳林 学号:20135205 20135334 成绩: 指导教师:娄嘉鹏 实验日期:2015.11.24 实验密级: 预习程度: 实验时间:15:30—18:00 仪器组次: 必修/选修:必修 实验序号: 实验名称:通讯协议设计 实验目的与要求:1.掌握在ARM开发板实现一个简单的WEB服务器的过程.2.学习在ARM开发板上的SOCKET网络编程.3.学习Linux下的signal()函

Linux内核如何装载和启动一个可执行程序-----实验7

2015108 李泽源 Linux内核如何装载和启动一个可执行程序 理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节: 编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习动态链接库的这两种使用方式,详细内容参考本周第二节: 使用gdb跟踪分析一个execve系统调用内核处理函数sys_execve ,验证您对Linux系统加载可执行程序所需处理过程的理解,详细内容参考本周第三节:推荐在实验楼Linux虚拟机环境下完成实验.