(图片来源网络,侵删)
多功能通讯录APP设计报告课设项目要求:这次课程设计是要开发一个具有基础的登录功能和好友列表显示功能的Android App,在结合前面的实验所实现的功能,实现了较为完整的app项目;设计实现Android界面数据的综合加载跳转及展示设计实现了对数据库中数据的添加、编辑和删除项目构思:根据项目要求,判断是要做一个仿聊天App或者仿通讯录App,后者可能不是那么泛滥,于是以制作一个通讯录App为目标,下面会进行具体的介绍本软件主要面向的是对网上通讯有需求的人群,让他们能够及时获取在线跨区域联系,不受时间和空间的限制后面同样会对已有的信息进行数据可视化的处理,使数据以一种更为生动的形式呈现出来,以此来实现App的稳定执行⭐️项目简介本项目的研究目的是开发一款简易的Android手机通讯录APP,主要是模拟通讯录app的相基础关功能,功能类似于传统手机通讯录,主要能够实现个人资料编辑和扫码添加功能,通讯录查询和拨打电话以及发送短信功能,也可以查询通话记录、新建联系人并进行编辑等操作使用的是android studio和java设计⭐️功能简介包含以下功能:电话短信用户编辑扫码添加添加通讯录好友编辑好友信息好友查询和记录查询⭐️系统功能图❥ 用户登录后个人资料设计、获取二维码并进行扫码添加,可以添加联系人,添加结束之后可以对联系人信 息进行修改和查询❥ 有了联系人之后,就可以进行发送短信和拨打电话操作此后可以进行通话记录查询 ,实现了基础的通讯录好友联系功能⭐️数据库设计 序号名称类型长度是否主键说明1Namevarchar10No中文姓名2Codevarchar10No二维码3PhoneInteger‘12Yes电话4Addressvarchar12No地址5Companyvarchar12No公司 序号名称类型长度是否主键说明1Name1varchar10No中文姓名2Name2varchar10No英文姓名3PhoneInteger‘12Yes电话4Addressvarchar12No地址5Companyvarchar12No公司⭐️执行过程项目执行过程如下:拟定项目方向项目需求统计项目需求调整项目功能实现⭐️主要页面代码<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.basic"><applicationandroid:allowBackup="true"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name="com.example.util.zxing.activity.CaptureActivity"android:screenOrientation="portrait"/><service android:name="com.example.service.NotifyService"/></application><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.CALL_PHONE" /><uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.READ_CALL_LOG"/><uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.SEND_SMS"/><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.FLASHLIGHT" /><uses-feature android:name="android.hardware.camera" /><uses-feature android:name="android.hardware.camera.autofocus" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /></manifest>⭐️功能介绍(界面&描述&代码)☀️用户个人功能(个人资料与扫码)❥ 在编辑用户信息的时候,主要是姓名、 电话、住址和单位,并且额外设计了扫码添加功能☀️联系人录入功能❥ 新建联系人信息的时候,联系人的主要信息有姓名、电话、住址和单位这些查询的时候,我们能依据这些信息进行模糊查询☀️联系人信息编辑功能❥ 新建联系人之后,能够对联系人信息重新编辑在更改联系人信息的时候,联系人的主要信息有姓名、电话、住址和单位☀️联系人扩展功能(打电话&发短信&通讯记录)❥ 新建联系人之后,能够对联系人信息重新编辑此外还设有扩展功能: 打电话发送短信和通话记录查询功能❥ 部分代码/ 打电话 /public static void callPhone(Activity activity, String phone) {Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));activity.startActivity(intent);}/ 发消息 /public static void sendMessage(Activity activity, String tel, String content) {if (PhoneNumberUtils.isGlobalPhoneNumber(tel)) {Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + tel));intent.putExtra("sms_body", content);activity.startActivity(intent);}}☀️通讯录功能❥ 相当于一个好友列表功能❥ 根据想要联系的人, 可以通过点击图标选择拨打电话或者发送短信联系,这里的界面都模拟了现实世界中正常的通讯界面(与上方通话&短信界面一致)同时可以进行关键字查询,直接定位到某一位联系人☀️通话记录功能❥ 这里可以看到相关的通话对象&号码以及具体通话的年月日及时间,同时可以进行关键字查询,搜索具体某次的通话记录❥ 相关代码public class ContactCallRecordAdapater extends BaseAdapter<CallMess, ContactCallRecordAdapater.ContactCallRecordViewHodler> {public ContactCallRecordAdapater(Context context) {super(context);} @Overrideprotected int onBindLayout() {return R.layout.list_item_forrecord;} @Overrideprotected ContactCallRecordAdapater.ContactCallRecordViewHodler onCreateHolder(View view) {return new ContactCallRecordAdapater.ContactCallRecordViewHodler(view);} @Overrideprotected void onBindData(ContactCallRecordAdapater.ContactCallRecordViewHodler holder, CallMess callMess, int positon) {holder.recordDate.setText(LongToString(callMess.getCallDate()));switch (callMess.getCallStatus()) {case 1: holder.recordType.setText("呼入"); break;case 2: holder.recordType.setText("呼出"); break;case 3: holder.recordType.setText("未接"); break;default: break;}}static class ContactCallRecordViewHodler extends RecyclerView.ViewHolder {private TextView recordDate;private TextView recordType;public ContactCallRecordViewHodler(@NonNull View itemView) {super(itemView);recordDate = itemView.findViewById(R.id.recordDate);recordType = itemView.findViewById(R.id.recordType);}}/ 长整型转时间函数 /public static String LongToString(long time){SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");formatter.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));return formatter.format(new Date(time));}}⭐️项目不足之处需求变更次数多安全性有待提供按钮单一功能不够完善项目规划不佳特色不多
0 评论