安卓通讯录实训报告

安卓通讯录实训报告
安卓通讯录实训报告

安卓实训设计报告

安卓通讯录

设计题目:安卓通讯录

班级:

姓名:

学号:

指导老师:

日期:

内容要求

一、题目分析,功能要求。

1.1 实验目的

熟悉Android软件开发的基本架构

利用Eclipse和ADT插件设计通讯录

1.2 功能

本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。

二、实验设计

2.1 UI设计

我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。

2.2 数据库的设计

Android中的android.database.sqlite.SQLiteOpenHelper 类是一个专门用于数据库创建和版本管理的辅助类。因此,为了更好的管理数据库,这里我们创建一个继承自SQLiteOpenHelper的辅助类DBHelper来维护和更新数据库。

2.3功能的设计

为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。Findactivity类主要是为了实现联系人的查找功能,输入联系人的姓名,点击查找按钮,显示所查联系

人的相关信息。

三、实验程序

见附录一。四、实验效果图

五、总结

通过设计该通讯录,主要学习了UI设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。通过本次设计,使我对Android平台的数据库操作有了更进一步的理解,同时也对Android系统有了更深入的了

解。

附录一

//定义数据

public class ContactColumn implements BaseColumns

{

public ContactColumn()

{

}

//列名

public static final String NAME = "name"; //姓名

public static final String MOBILENUM = "mobileNumber"; //移动电话

public static final String HOMENUM = "homeNumber"; //家庭电话

public static final String ADDRESS = "address"; //地址

public static final String EMAIL = "email"; //邮箱

public static final String BLOG = "blog"; //博客

//列索引值

public static final int_ID_COLUMN = 0;

public static final int NAME_COLUMN = 1;

public static final int MOBILENUM_COLUMN = 2;

public static final int HOMENUM_COLUMN = 3;

public static final int ADDRESS_COLUMN = 4;

public static final int EMAIL_COLUMN = 5;

public static final int BLOG_COLUMN = 6;

//查询结果

public static final String[] PROJECTION ={

_ID,

NAME,

MOBILENUM,

HOMENUM,

ADDRESS,

EMAIL,

BLOG,

};

}

public class DBHelper extends SQLiteOpenHelper

{

public static final String DATABASE_NAME = "mycontacts.db";//数据库名

public static final int DATABASE_VERSION = 2; //版本public static final String CONTACTS_TABLE = "contacts"; //表名

//创建表

private static final String DATABASE_CREATE =

"CREATE TABLE " + CONTACTS_TABLE +" ("

+ ContactColumn._ID+" integer primary key autoincrement,"

+ https://www.360docs.net/doc/cf14927239.html,+" text,"

+ ContactColumn.MOBILENUM+" text,"

+ ContactColumn.HOMENUM+" text,"

+ ContactColumn.ADDRESS+" text,"

+ ContactColumn.EMAIL+" text,"

+ ContactColumn.BLOG+" text);";

public DBHelper(Context context)

{

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

public void onCreate(SQLiteDatabase db)

{

db.execSQL(DATABASE_CREATE);

}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

{

db.execSQL("DROP TABLE IF EXISTS " + CONTACTS_TABLE);

onCreate(db);

}

}

// URI类型转换

public String getType(Uri uri)

{

switch (uriMatcher.match(uri))

{

case CONTACTS:

return"vnd.android.cursor.dir/vnd.yarin.android.mycontacts";

case CONTACT_ID:

return"vnd.android.cursor.item/vnd.yarin.android.mycontacts";

default:

throw new IllegalArgumentException("Unsupported URI: " + uri);

}

}

// 删除指定数据列

@Override

public int delete(Uri uri, String where, String[] selectionArgs)

{

int count;

switch (uriMatcher.match(uri))

{

case CONTACTS:

count = contactsDB.delete(CONTACTS_TABLE, where, selectionArgs);

break;

case CONTACT_ID:

String contactID = uri.getPathSegments().get(1);

count = contactsDB.delete(CONTACTS_TABLE,

ContactColumn._ID

+ "=" + contactID

+ (!TextUtils.isEmpty(where) ? " AND (" + where + ")" : ""),

selectionArgs);

break;

default:

throw new IllegalArgumentException("Unsupported URI: " + uri);

}

getContext().getContentResolver().notifyChange(uri, null);

return count;

}

// 插入数据

public Uri insert(Uri uri, ContentValues initialValues)

{

if (uriMatcher.match(uri) != CONTACTS)

{

throw new IllegalArgumentException("Unknown URI " + uri);

}

ContentValues values;

if (initialValues != null)

{

values = new ContentValues(initialValues);

Log.e(TAG + "insert", "initialValues is not null");

}

else

{

values = new ContentValues();

}

// 设置默认值

if (values.containsKey(https://www.360docs.net/doc/cf14927239.html,) == false)

{

values.put(https://www.360docs.net/doc/cf14927239.html,, "");

}

if (values.containsKey(ContactColumn.MOBILENUM) == false)

{

values.put(ContactColumn.MOBILENUM, "");

}

if (values.containsKey(ContactColumn.HOMENUM) == false)

{

values.put(ContactColumn.HOMENUM, "");

}

if (values.containsKey(ContactColumn.ADDRESS) == false)

{

values.put(ContactColumn.ADDRESS, "");

}

if (values.containsKey(ContactColumn.EMAIL) == false)

{

values.put(ContactColumn.EMAIL, "");

}

if (values.containsKey(ContactColumn.BLOG) == false)

{

values.put(ContactColumn.BLOG, "");

}

Log.e(TAG + "insert", values.toString());

long rowId = contactsDB.insert(CONTACTS_TABLE, null, values);

if (rowId > 0)

{

Uri noteUri = ContentUris.withAppendedId(CONTENT_URI, rowId);

getContext().getContentResolver().notifyChange(noteUri, null);

Log.e(TAG + "insert", noteUri.toString());

return noteUri;

}

throw new SQLException("Failed to insert row into " + uri);

}

// 更新数据库

public int update(Uri uri, ContentValues values, String where, String[] selectionArgs)

{

int count;

Log.e(TAG + "update", values.toString());

Log.e(TAG + "update", uri.toString());

Log.e(TAG + "update :match", "" + uriMatcher.match(uri));

switch (uriMatcher.match(uri))

{

case CONTACTS:

Log.e(TAG + "update", CONTACTS + "");

count = contactsDB.update(CONTACTS_TABLE, values, where, selectionArgs);

break;

case CONTACT_ID:

String contactID = uri.getPathSegments().get(1);

Log.e(TAG + "update", contactID + "");

count = contactsDB.update(CONTACTS_TABLE, values, ContactColumn._ID + "=" + contactID

+ (!TextUtils.isEmpty(where) ? " AND (" + where + ")" : ""), selectionArgs);

break;

default:

throw new IllegalArgumentException("Unsupported URI: " + uri);

}

getContext().getContentResolver().notifyChange(uri, null);

return count;

}

}

public boolean onPrepareOptionsMenu(Menu menu)

{

super.onPrepareOptionsMenu(menu);

final boolean haveItems = getListAdapter().getCount() > 0;

if (haveItems)

{

Uri uri = ContentUris.withAppendedId(getIntent().getData(), getSelectedItemId());

Intent[] specifics = new Intent[2];

specifics[0] = new Intent(Intent.ACTION_EDIT, uri);

specifics[1] = new Intent(Intent.ACTION_VIEW, uri);

MenuItem[] items = new MenuItem[2];

//添加满足条件的菜单

Intent intent = new Intent(null, uri);

intent.addCategory(Intent.CATEGORY_ALTERNATIVE);

menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0, null, specifics, intent, 0, items);

if (items[0] != null)

{

//编辑联系人

items[0].setShortcut('1', 'e').setIcon(R.drawable.edituser).setTitle(R.string.editor_user);

}

if (items[1] != null)

{

//查看联系人

items[1].setShortcut('2', 'f').setTitle(R.string.view_user).setIcon(R.drawable.viewuser);

}

}

else

{

menu.removeGroup(Menu.CATEGORY_ALTERNATIVE);

}

return true;

}

package="com.yarin.android.MyContacts"

android:versionCode="1"

android:versionName="1.0">

android:authorities="com.yarin.android.provider.ContactsProvider"/>

android:label="@string/app_name">

android:label="@string/editor_user">

android:label="@string/view_user">

安卓实训报告总结

安卓实训报告总结 不知不觉中为期三周的实训已经接近尾声。虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。三周的实训,时间很短,确实很短。原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢?所以一开始也没当回事。 就这样,带着这样的心态,开始了实训。因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽埃平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。反而容易让学生产生一种懈怠的情绪。 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。而让我感受最受的就是:凭事实说话。就是无论要下什么结论的时候,都要拿得出能够说服人的数

据。 这是我在第一周中感受最深的一件事。也是我学到的第一件事。说话下结论要有真凭实据。 在这一周中,老师着重讲了如何进行系统构架。因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。无形中产生了一种强大的推理,推动我们前进。 这是我学习到的第三件事:没有动力,就学会寻找动力,而比较,是最有效的激励。 在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。这个项目的时间很短,三天,如果算上上周末的时间的话,那就是五天,但前一周的时间确实没有有效的利用起来。那么这样只好算三天了。在这次项目中,我没有一个人大包大揽,一个人把项目扛下来。因为之前跟老师做过项目,并且我也是小组负责人,虽然作为这个小组负责人,我做的很不好,但有这样的一次经历之后,我知道我哪里做

通讯录管理系统实验报告

通讯录管理系统实验报告 信息科学与技术学院《程序设计实习》实训报告书 目: 计算机科学与技术题 专业: 计算机科学与技术班级: 姓名: 学号: 同组人员: 指导老师: 设计时间: 目录 1.实训计 划 ..................................................................... ................................... 1 2.问题描 述 ..................................................................... ................................... 1 3.问题分 析 ..................................................................... ................................... 2 4.算法设 计 ..................................................................... ................................... 4 5.程序模块设 计 ..................................................................... ............................ 5 6.技术难点与分 析 ..................................................................... ........................ 8 7.系统测 试 ..................................................................... ................................... 9 8.心得体 会 .....................................................................

android实验报告

创建一个名为“登录页面”的布局文件,该文件用于展示登录信息。程序界面如下图所示:; public class Activity01 extends Activity { EditText name; EditText pass ; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); public void click(View view){ Intent intent1=new Intent(this,Mylayout1MainActivity.class); startActivity(intent1);} public void click1(View view){ SharedPreferences sf1=getSharedPreferences("account",Context.MODE_PRIVATE); String name1=sf1.getString("name",""); String pass1=sf1.getString("pass",""); String name2=name.getText().toString(); String pass2=pass.getText().toString(); if(name1.equals(name2)&&pass1.equals(pass2)){ Intent intent2=new Intent(this, Textview1.class); intent2.putExtra("name", name1);

Android实训报告

2016年 1 月 5 日

摘要: 本文首先介绍了Android开发环境的安装和部署过程;之后介绍了Android项目的架构及应用程序组成,着重讲解了手机用户界面的布局方法和常见开发控件的使用;然后介绍了Android中的文件存储管理、SQLite数据库存取与共享、2D绘图设计、多媒体应用以及和短信开发等知识;最后介绍了Android中的单元测试以及国际化的方法,通过发布案例程序完成Android知识的讲解,同时运用了photoshop,实现了对界面的优化设计。 关键词:Android;开发;SQL;多媒体运用;PHOTOSHOP

目录 一、实训背景及目的要求 (4) 1.1背景简介 (4) 1.2实训目的及要求 (4) 二、设计思路 (5) 2.1设计题目 (5) 2.2功能分析 (5) 2.3模块划分 (6) 三、设计实现及代码分析 (6) 3.1第一个Activity (6) 3.1.1布局文件:main.xml: (6) 3.1.2源代码文件:MainActivity.java (10) 3.2第二个Activity (13) 3.2.1布局文件:result.xml (13) 3.2.2源代码文件:ResultActivity.java (14) 3.3字符串资源文件:strings.xml (18) 3.4程序清单文件:AndroidManifest.xml (19) 四、程序功能测试及截图 (21) 4.1工程项目目录 (21) 4.2程序运行界面: (21) 4.3未填身高提示: (22) 4.4计算示例: (22) 五、课程设计(实训)总结 (23)

安卓实训总结报告

安卓实训总结报告 安卓实训的总结与体会【1】 不知不觉中为期三周的实训已经接近尾声。 虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。 三周的实训,时间很短,确实很短。 原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢?所以一开始也没当回事。 就这样,带着这样的心态,开始了实训。 安卓实训。 因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。 一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。 平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。 而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。 反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据

而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。 老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。 接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。 而让我感受最受的就是:凭事实说话。 就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。 也是我学到的第一件事。 说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。 因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。 这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 三、第三件事:学会寻找动力 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。

安卓空气质量app查询实验报告

课程设计报告 课程名称: 移动平台开发 设计题目:空气质量查询 院系:计算机科学与工程学院 专业:计算机科学与技术 班级:计科141 学号:Z09314123 姓名:吴佩 指导教师:孙霞 设计地点:N6-113 开课时间:2016 至2017 学年第1 学期

目录 1.引言 (1) 1.1.题目描述 (1) 1.2.设计意义 (1) 2.开发环境 (1) 2.1.硬件环境 (1) 2.2.软件环境 (1) 3.相关技术及知识点 (2) 3.1.Activity (2) 3.2.Service (2) 3.3.网络通信 (3) 4.需求分析 (3) 4.1.系统功能需求分析 (3) 4.2.系统流程图 (4) 4.3.系统界面需求分析 (4) 4.4.系统性能需求分析 (4) 5.设计与实现 (5) 5.1.界面布局 (5) 5.2.省市二级联动 (6) 5.3.获取空气质量数据 (9) 5.4.播放背景音乐 (16) 6.个人总结 (17)

1.引言 1.1.题目描述 本次实验是开发一款基于Android平台的空气质量查询应用,将网络系统的功能扩展到智能手机终端上,让手机能够通过移动网络访问Web网站并处理各种各样的业务,可以让智能手机用户能够随时随地查询互联网所提供的空气质量信息。 1.2.设计意义 可以让广大Android手机用户能够在第一时间获取最新的空气质量信息,以便提前预防,方便出行。同时,把气象灾害造成的损失降到最低,也可以提高公共服务质量,更好的发挥气象事业对经济社会发展的现实性作用,有巨大的实用价值。虽然该技术在Android平台已经比较成熟,但是通过该软件的开发仍然能帮助我更好的认识Android系统的工作原理。 2.开发环境 2.1.硬件环境 神州笔记本电脑 2.2.软件环境 Android的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的,所以Google公司推荐使用主流的Java集成开发环境Eclipse。而用Java语言进行开发,需要用到SUN 公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,需要使用Google提供的Android SDK。同时,要在Eclipse 上安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级或下载的工具。 简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。 (1) Java SDK (2) Eclipse (3) Android SDK (4) ADT

基于android开发实验报告总结

基于android开发实验 报告总结 组员: 指导老师: 2016.12.15

目录 实验一 Android开发环境的搭建 (3) 1 实验目的及要求 (3) 2 实验设备(环境)及要求 (3) 3 实验内容 (3) 4 实验步骤 (3) 5 实验核心代码(关键代码),及调试中的问题 (4) 6 实验的运行结果及分析 (9) 3 实验设备(环境)及要求 (10) 实验三 GUI创建套件Widget的使用 (18) 1 实验目的及要求 (18) 2 实验设备(环境)及要求 (18) 3 实验内容 (19) 4 实验步骤 (19) 5 实验核心代码(关键代码),及调试中的问题 (19) 6 实验的运行结果及分析 (28) 实验四 SQLite应用 (29) 1 实验目的及要求 (29) 2 实验设备(环境)及要求 (30) 3 实验内容 (30) 4 实验步骤 (30) 5 实验核心代码(关键代码),及调试中的问题 (30) 6 实验的运行结果及分析 (41)

实验一 Android开发环境的搭建 1 实验目的及要求 1.搭建Eclipse+Android开发平台 2.创建简单的Android应用程序 3.创建Activity并利用intent的实现Activity的跳转 2 实验设备(环境)及要求 1)PC计算机 2)JDK安装包 3)Eclipse安装包 4)Android SDK安装包 5)ADT插件 3 实验内容 1)搭建Eclipse+Android开发环境 2)创建一个简单的”hello world”工程 3)创建两个Activity,实现简单的Activity之间的参数传递 4 实验步骤 1)下载安装JDK 1.6,配置环境变量,如果所示。

c语言通讯录实训心得

我这次实训当中,它让我巩固了C语言所学基本课程,提高C语言编程的综合应用能力以及C语言程序的编译、调试方法。不仅如此,它让我掌握C语言中的基本数据输入、输出;熟练使用C语言中的三种基本结构的使用,使用数组和函数调用;还有学习与熟练使用C 语言中的指针和结构体。 该实训的过程是既漫长又艰苦,因为我花了大多数的时间去做,在这过程中这是一个艰苦的过程,我必须要克服它。而经过老师教导后,我大概清楚做这项目的基本过程,首先老师教我做目录,添加新联系人,显示所有联系人的信息,查找联系人的信息,删除联系人的信息,修改信息,退出系统的头文件或源文件,还教我指针和结构体。经过自己的努力和在老师的帮助下,终于完成项目。 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,而我们作为学生需要跟上时代的发展,而这就要我们通过这些实训来锻炼自己了。 通过学习,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机实践才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。 用C语言做项目,我仍心得颇多,的确,从理论到实践,在整整

两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

android项目实训心得体会

android项目实训心得体会 时间总是在不经意间悄然离去,在这短短的10天实训里,让我学会了很多课堂中学不到的东西。虽然只有10天,但让我感觉到无比的充实,让我懂得了学习的意义,时间的宝贵,认真负责的生活态度。明白了做一件事不肯能是一帆风顺,没有困难就没有进步,勇敢和坚持将会带领我们走向成功的驿站。也许这只是一次很小的成功,也会让我感到欣慰,因为我成功了。简单的去做好一件小事,铸就未来巨大的成功。 在这次实训中和队友一起完成一个项目,从开始的无从下手,到初见雏形,再到基本完善。这一幕幕的画面,让人无不对自己所做的标示认可与自豪。在那一行行代码间,流露出来的不只是大家对它付出的汗水,还有那份执着的心。 那天,我们吃着泡面坐着火车和地铁以及公交,不远千万厘米来到这环境清幽,绿化十足的圣地。实训基地虽有些简单,但宽敞明亮的场所让我们不由喜欢。在实训中,回味了曾经的对安卓的“味道”,又对新配方得产生了兴趣。安卓这道菜,想想都醉了。这次实训项目我们做的是个关于点餐类的APP。起初,强大的功能让我们这群菜鸟无从下嘴。但在我们这群崛起的码农面前,这次都不是问题。经过我们七嘴八舌的商讨下,最终确立了需求。需求就像我们人生的航标一样,有了它,我们的开发才有方向,不然都是无用的。每天我们制定开发计划,一小步一小步的走,一行一行慢慢的写。看着一个个小小功能的实现与完善,我们都对他竖起大拇指。

相信队友,这是我在此次实训中悟出来的一点体会。也许他平 日里不怎么优秀;也许他对开发不怎么会;也许他有一些懒惰。但我们都要相信他可以的。作为团队开发类项目,我们不能一个人什么都做完,这样其他人体会不到团队价值,这不利于项目的团队开发。我们要让每个人都有事做,并且要做好。 在这次实训中,我主要学到很多关于安卓界面布局的一些基础 知识。还有关于选项卡以及适配器和SQLite的一些简单操作。在此 次实训中,最主要的是让我的懂得了学习的意义和态度。当自己全身心投入代码的世界中时,时间似乎是静止的。当老师笑着说:“吃饭了…..”。才发现一上午就没了。这种忘我的学习态度,让人倍感兴奋。 此次实训,让我受益匪浅。在今后的工作和学习中用积极主动 的态度去对待,那将是一件美妙的事情。做一个迎难而上的自己,不断完善自己,突破自己。最后感谢在这次实训中无私的照顾我们的老师们,谢谢你们。 时间飞快,转眼毕设实训已经结束,我们也完成了所选的项目 任务。从实训开始到现在,经历了三个多月的时间,在这段时间里,我们着手安卓应用程序开发,刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接 比较零散,不过通过这些例子的学习我可以学习到了很多和以前java

Android实验报告_基于SQLite的通信录

第一次实验Android界面设计 一. 实验目的及实验环境 1. 实验目的 1)掌握SQLiteOpenHelper类结构 2)掌握基于SQLite数据库的应用开发过程 3)掌握Content Provider发布数据的方法 4)掌握Content Resolver获取数据的方法 2.实验环境 系统开发平Android Studio 3.0 系统开发平台:Android 7.1 运行平台:Windows10 x64 运行环境:https://www.360docs.net/doc/cf14927239.html, Framework SDK 2.0 二. 实验教材、组织方式、实验内容 1.实验教材:Andorid开发与应用 2.组织方式:个人独立完成 2.实验内容: 实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。 三.方案设计 Android系统中集成了SQLite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,Android平台中利用Content Provider机制来实现跨应用程序数据共享。一个应用程序可以通过Content Provider来发布自己的数据,其他的应用程序可以通过Content Resolver 来获取共享数据。

四.运行结果

五.总结 通过这次实验掌握了SQLite OpenHelper类结构,掌握了基于SQLite数据库的应用开发过程以及Content Provider发布数据的方法和掌握Content Resolver获取数据的方法。 六.附录:源代码 主布局文件activity_main.xml:

安卓实习报告总结体会

安卓实习报告总结体会 摘要:通过Android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了Android应用程序的开发,以及加深了对Java的认识。 安卓实习报告总结体会一 一、实习的目的意义 毕业实习是学生大学本科教学实践的主要环节,对学生的实践能力的培养具有十分重要的意义。学生通过本次实习,能够了解计算机专业的相关新技术,了解理论知识在实际应用中的作用,了解计算机技术的新发展,体验计算机专业的工作内容和工作特点,拓宽知识面,增强人际沟通能力,加强团队协作精神,为走向社会打下基础。 Android以Linux为核心的Android行动平台,使用Java 作为编程语言。本实训是在学习java语言程序设计的基础上进行的一次综合实践。通过综合训练,要求学生掌握java 语言程序设计的基本技能和Android编程的应用,并较系统地掌握JAVA语言程序设计开发方法以及帮助文件的使用等,使学生通过本次实训,能够进行独立的Android应用程序开

发,能够在实际操作中得到进一步的提高,为以后的学习和工作打下良好的基础。 目的: 1.培养学生运用所学课程Java语言程序设计的理论知识和技能,分析解决计算机实际应用中的问题的能力。 2.培养学生在Java语言程序设计的基础上,开发Android应用程序的思想和方法。 3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。通过课程设计,要求学生在指导教师的指导下,独立完成课程设计的全部内容,包括: 1.确定开发的程序,收集和调查有关技术资料。 2.按软件工程步骤进行程序设计。 3 .对完成的程序进行测试和完善。 4.完成课程设计报告。 意义: 1.锻炼自己的动手能力,将学习的理论知识运用于实践当中,反过来检验书本 上理论的正确性。将自己的理论知识与实践融合,进一步巩固、深化已经学过的理论知识,提高综合运用所学过的知识,并且培养自己发现问题、解决问题的能力,加强对市场营销过程的认识; 2.更广泛的直接接触社会,了解社会需要,加深对社会

安卓计算器开发实验报告

嵌入式WebOS应用开发 实验报告 实验名称:使用An droid Developer SDK开发应用程序 专业:_________________________ 姓名:__________________________________ 班级:_______________________________ 学号:______________________________ 一、作品的运行环境及安卓SDK基础操作 SDK An droid Developer 是一款在windows系统上运行的针对 An droid应用开发的谷歌官方软件(需要JAVA环境支持)。 1、导入工程 2、建立虚拟机 在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB因为部分程序如果调用资源过大会导致虚拟机无法运行。 3、虚拟机界面 二、作品介绍 我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。

加应用图标 1.首先在我的桌面上添加你应 用的图标以及文字,双击图标后 项中自行进行挑选; 也可以添加自己的图片, 只要将图片放到对应的 文件夹之下在刷新就可 以,但不建议放分辨率 过高图片可能会出现超 出界面的等错误。 要在xml 界面中添加排版: xml 代码首末的 格式较为自由可以直接在 界面中拖动图标位置以及修改大小,而其他layout 则更会自动排列, 各有优劣。 三、 编程以及运行调试 (一)、在MyDesktop 主界面中添 fin^_ok,prig 世IF it launchiWipng 32E img'O.png jdE im^il.png] 3E img?.pHg 血 imql.pngi 32E img4.png 血 im^S.pngi Tn? imgg.png JJL -mgT.pngj ..1. imy^.png ..1. uiHiprxg 就可以看见对应的代码, 可直接 在代码中进行修改图片文字的 大小颜色等等。 以下是对应图像图标的代码 图片可以在左侧的选 (二)、在 res/layout 目录下新建.xml 文件,由于计算器的按钮很多, TIF charfrc 起 ch^tfrorn_bg_ipTW5&d !S'.pflg ~l <+i?,kbnif^M 口 .股 ch?kbojco#f bsckgrourid^na SE chfkb rn (」]n.hewlcgin 口unci 岱n 评 弧 tlwr^na TTF de^ r o 1 .pnq

安卓实训总结报告

安卓实训总结报告 就这样,带着这样的心态,开始了实训。 安卓实训。 因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。 一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。 平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。 而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。 反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。 老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。 接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。 而让我感受最受的就是:凭事实说话。

就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。 也是我学到的第一件事。 说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。 因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。 这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。 三、第三件事:学会寻找动力 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。 这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。 无形中产生了一种强大的推理,推动我们前进。 这是我学习到的第三件事:没有动力,就学会寻找动力,而比较,是最有效的激励。 四、第四件事:学会尊重别人,那样你也会获得别人的尊重 在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。

安卓实训心得体会学习安卓心得体会.doc

2019年安卓实训心得体会学习安卓心得体 会 安卓实训心得体会学习安卓心得体会 安卓实训心得体会【1】 时间飞快,转眼毕设实训已经结束,我们也完成了所选的项目任务。从实训开始到现在,经历了三个多月的时间,在这段时间里,我们着手安卓应用程序开发,刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的AndroidSDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。 1通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。 2通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如:

要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理,通过Bundle对数据在界面之间进行传输。 4在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity这个变量进行控制,进行处理。 在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离不开Java的支持,所以基础的Java 知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及AndroidFramework和Android内核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。 由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到

安卓实训总结报告.doc

安卓实训总结报告

就这样,带着这样的心态,开始了实训。 安卓实训。 因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。 一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。 平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。 而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。 反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。 老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。 接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。而让我感受最受的就是:凭事实说话。 就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。 也是我学到的第一件事。 说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。 因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。 这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。

这就是我学到的第二件事,是在专业技能方面的收获。 三、第三件事:学会寻找动力 然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。 这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。无形中产生了一种强大的推理,推动我们前进。 这是我学习到的第三件事:没有动力,就学会寻找动力,而比较,是最有效的激励。 四、第四件事:学会尊重别人,那样你也会获得别人的尊重 在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。 这个项目的时间很短,三天,如果算上上周末的时间的话,那就是五天,但前一周的时间确实没有有效的利用起来。 那么这样只好算三天了。 在这次项目中,我没有一个人大包大揽,一个人把项目扛下来。 因为之前跟老师做过项目,并且我也是小组负责人,虽然作为这个小组负责人,我做的很不好,但有这样的一次经历之后,我知道我哪里做的不好,哪里有问题,虽然不会很全面,但至少有一些努力的方向了。 而这次,我就尝试着,去真正的发挥一个团队的作用,而不只是一个人完成项目。可以说,这次项目我的目标是:以团队的形式去推动项目的进展。 我不一个人做的原因有这么几点:首先,一个人做太没有挑战性了,为了完成任务而做项目,没意思。 第二点:团队的成员对参与这个项目比较积极。 不管怎么说,我的团队小组成员就算基础很差,但只要是真心的想要学习的,想要把项目做好的,那我就不应该拒绝他们,因为一个小小的拒绝,可能会对别人的一生产生巨大的影响,而这个影响似乎不是积极的。 所以,我觉得我应该尽我所能去帮助我的小组成员。 第三点:我想锻炼一下,作为一个小组负责人,我的职责是什么。 我应该怎么做才能充分发挥小组成员的能力。 我甚至自己都没有参与核心代码的编写。

安卓通讯录实训报告

安卓实训设计报告 安卓通讯录 设计题目:安卓通讯录 班级: 姓名: 学号: 指导老师: 日期: 2012年6月7日

容要求 一、题目分析,功能要求。 1.1 实验目的 熟悉Android软件开发的基本架构 利用Eclipse和ADT插件设计通讯录 1.2 功能 本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。 二、实验设计 2.1 UI设计 我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。 2.2功能的设计 为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。Findactivity类主要是为了实现联系人的查找功能,输入联系人的,点击查找按钮,显示所查联系人的相关信息。 三、实验程序 四、实验效果图

五、总结 通过设计该通讯录,主要学习了UI设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。通过本次设计,使我对Android平台的数据库操作有了更进一步的理解,同时也对Android系统有了更深入的了解。

附录一 //定义数据 public class ContactColumn implements BaseColumns { public ContactColumn() { } //列名 public static final String NAME = "name"; // public static final String MOBILENUM = "mobileNumber"; //移动 public static final String HOMENUM = "homeNumber"; //家庭 public static final String ADDRESS = "address"; //地址 public static final String EMAIL = "email"; // public static final String BLOG = "blog"; //博客 //列索引值 public static final int_ID_COLUMN = 0; public static final int NAME_COLUMN = 1; public static final int MOBILENUM_COLUMN = 2; public static final int HOMENUM_COLUMN = 3; public static final int ADDRESS_COLUMN = 4; public static final int EMAIL_COLUMN = 5; public static final int BLOG_COLUMN = 6; //查询结果 public static final String[] PROJECTION ={ _ID, NAME, MOBILENUM, HOMENUM, ADDRESS, EMAIL, BLOG, }; } public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "mycontacts.db";//数据库名 public static final int DATABASE_VERSION = 2; //版本public static final String CONTACTS_TABLE = "contacts"; //表名 //创建表 private static final String DATABASE_CREATE = "CREATE TABLE " + CONTACTS_TABLE +" (" + ContactColumn._ID+" integer primary key autoincrement," + https://www.360docs.net/doc/cf14927239.html,+" text," + ContactColumn.MOBILENUM+" text,"

安卓实训的总结与体会

安卓实训的总结与体会 LEKIBM standardization office【IBM5AB- LEKIBMK08- LEKIBM2C】

安卓实训的总结与体会 不知不觉中为期三周的实训已经接近尾声。虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。三周的实训,时间很短,确实很短。原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢所以一开始也没当回事。 就这样,带着这样的心态,开始了实训。安卓实训。因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。反而容易让学生产生一种懈怠的情绪。 一、第一件事:说话做事要有真凭实据 而这样一开始,老师就给我一种耳目一新的感觉:这老师上课带劲啊!不过也就仅此而已了。老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。而让我感受最受的就是:凭事实说话。就是无论要下什么结论的时候,都要拿得出能够说服人的数据。 这是我在第一周中感受最深的一件事。也是我学到的第一件事。说话下结论要有真凭实据。 二、第二件事:专业技术的不断学习 在这一周中,老师着重讲了如何进行系统构架。因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。 这就是我学到的第二件事,是在专业技能方面的收获。

安卓实验报告报告

《Android网络程序设计》课程期末作品设计报告 学号:130705222 姓名:廖梓茗 班级:13信息 2 班 学院:电子信息学院 2016年6 月

1 主要界面截图 分组界面全部赛程界面 球队赛程界面

“我的”界面--未登录“我的”界面--已登录 登陆界面

修改密码界面

2 请结合本项目的开发,回答以下问题 2.1 如何在ViewPager中放入多个Fragment?如何为每个Fragment设置标签?介绍一下管理ViewPager的适配器。 给viewpager addOnPageChangerListener 同时绑定fragment数据源 2.2 适配器是什么?以本项目为例介绍一个列表适配器的实现? Adapter是控件与数据之间的桥梁,控制控件什么时候如何显示数据 项目中的listview的adapter全继承BaseAdapter,自由度高。 其中adapter 的getView方法主要控制listview的每个item显示什么视图view 2.3 如何访问网络接口?如何获得网络接口返回的数据?以本项目为例介绍一个网络接口的访问。 本项目访问网络,主要使用HttpClient,调用AsyncHttpClient的get或post发送 一个请求,在回调接口中处理返回数据。

例如获取分组数据接口,先获取AsyncHttpClient对象 AsyncHttpClient client = new AsyncHttpClent(); 再调用client对象的post或是get方法 Client.get(url,new TextHttpResponseHandler()); 在回调函数onSuccess中处理返回信息 2.4 如何解析json数据?以本项目为例介绍一个接口返回的json数据的解析过程。 json数据解析,主要使用Gson或是FastJson解析 FastJson: JSON.priseObjest()或是JSON.priseArray()直接将json映射成list或是object 3 请回答以下问题 3.1 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity,应使用什么方法?其有哪些参数,分别表示什么? 在新Activity中如何将数据返回启动它的Activity? 原Activity如何用什么方法获取返回的数据?其有哪些参数,分别表示什么? startActivityForResult(intent, requestCode); setResult(intent); 通过onActivityResult()函数中的Intent参数中获取传回的数据 3.2 Activity和Fragment的生命周期状态各有哪些?状态之间如何变换?状态变换时会执行哪些方法?

相关文档
最新文档