1
1 需求说明
1.1 项目的内容、意义和发展现状
这是一个校园二手市场,一个用于方便校园内学生之间的二手交易的
平台。
目前大多数高校都没有属于自己的这样一款 APP,学生之间如果要购
买二手商品基本都是通过 QQ 群,QQ 空间表白墙,这些方式太有局限性并且都
有一个共同的弊端:不具备搜索功能,而且信息比较杂乱。我的这款 APP 只用
于二手交易,而且具备搜索功能,后期还会根据用户需求完善其他功能。
同学们如果想要买衣服会选择淘宝,买电子设备会到京东,买鞋到得物等
等。我开发的意义,就是让同学们在校内需要进行二手交易的时候,能够想到
这款软件,更方便快捷的完成交易。
1.2 项目的总体设计
交小易 APP 的总体结构图如下:
交小易总体结构图
本系统的主要功能是:
2
提高用户的二手商品信息和用户的联系方式,可以对平台所有商品进行搜
索,如果用户有心仪的二手商品,可以一键将联系方式加入通讯录。
2 项目计划
2.1 时间计划
3
交小易实施甘特图
2.2 成本估算
成本估算表
4
3 主控模块
3.1 主控界面
图 3.1 主控界面
3.2 实现的关键技术
1.ContentProvider 提供数据共享
2.使用 AdapterView 高级组件
3.运用 Handle 机制
4.避免魔法字符串
1.实现 ContentProvider 的部分代码如下所示:
5
ContentValues values = new ContentValues();
Uri rawContactUri =
getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
//加入 name
values.clear();
values.put(ContactsContract.Contacts.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME,
texts[position]);
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
//加入 phone
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, phones[position]);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
2.实现 AdapterView 的部分代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myhead"
android:id="@+id/item_search_iv_icon"
android:layout_marginLeft="@dimen/dp20"
android:layout_centerVertical="true"
android:padding="@dimen/dp4"
android:layout_width="@dimen/dp100"
android:layout_height="@dimen/dp100"/>
<TextView
android:id="@+id/bbb"
android:layout_marginTop="@dimen/dp10"
android:layout_marginLeft="@dimen/dp10"
android:layout_toRightOf="@id/item_search_iv_icon"
评论0