❥ 每每学习一门课程,都少不了一门课设布置下来

《移动互联开发》课开了8天,要设计一款App,果然大学即自学,而且一学期好几个 (555

❥ 下面把最近开发的Android Studio项目的相关开发内容、经验与感想分享给大家

对安卓的了解:

Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux 内核层。

它包括操作系统、用户界面和应用程序—— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。安卓在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。

Android有四大基本组件:Activity、Service、Broadcast Receivet、Content Provider。其中Activity是四大组件中最基本的一个,但基础并不等同于简单、不重要。恰恰相反,Activity作为基础组件,学好Activity就是我们开发者学好Android的前提。

安卓有以下三大特点:

1)系统开源。Android由于最底层使用Linux 内核,使用的是GPL许可证, 意味着相关的代码是必须开源的。Google以Apache授权方 式,发布Android的源代码,供其他手机厂商直接使用现有操作系统,并允许各厂商按照自己的目的进行个性化定制。

2)跨平台特性。Android由Java编写,继承了Java跨平台的特点。任何Android应用几乎无需做任何处理就能运行于所有的Android设备。这意味着各运营商可自由使用多形式的硬件设备,不拘泥于手机、平板等传统移动设备,电视和各种智能家居均可使用 Android 系统。

3)丰富的应用。Android系统的开源性吸引了众多开发者为其平台开发各式各样的应用软件,广泛的应用来源让它的使用者较为方便的获取自己想要的应用,坚实的消费者基础让开发者有动力开发更多更好的应用软件。

课设项目要求:

这次课程设计是要开发一个具有基础的登录功能和好友列表显示功能的Android App,在结合前面的实验所实现的功能,实现了较为完整的app项目;设计实现Android界面数据的综合加载跳转及展示。设计实现了对数据库中数据的添加、编辑和删除。

项目构思:

根据项目要求,判断是要做一个仿聊天App或者仿通讯录App,后者可能不是那么泛滥,于是以制作一个通讯录App为目标,下面会进行具体的介绍。

本软件主要面向的是对网上通讯有需求的人群,让他们能够及时获取在线跨区域联系,不受时间和空间的限制。

后面同样会对已有的信息进行数据可视化的处理,使数据以一种更为生动的形式呈现出来,以此来实现App的稳定执行。

下面就是重点具体细节啦

目录

⭐️项目简介

⭐️功能简介

⭐️系统功能图

⭐️数据库设计

⭐️执行过程

⭐️主要页面代码

⭐️功能介绍(界面&描述&代码)

☀️用户个人功能(个人资料与扫码)

☀️联系人录入功能

☀️联系人信息编辑功能

☀️联系人扩展功能(打电话&发短信&通讯记录)

☀️通讯录功能

☀️通话记录功能

⭐️不足之处

⭐️完善方向


⭐️项目简介

本项目的研究目的是开发一款简易的Android手机通讯录APP,主要是模拟通讯录app的相基础关功能,功能类似于传统手机通讯录,主要能够实现个人资料编辑和扫码添加功能,通讯录查询和拨打电话以及发送短信功能,也可以查询通话记录、新建联系人并进行编辑等操作。使用的是android studio和java设计。

⭐️功能简介

⭐️系统功能图

❥ 用户登录后个人资料设计、获取二维码并进行扫码添加,可以添加联系人,添加结束之后可以对联系人信 息进行修改和查询。

❥ 有了联系人之后,就可以进行发送短信和拨打电话操作。此后可以进行通话记录查询 ,实现了基础的通讯录好友联系功能。

⭐️数据库设计

⭐️执行过程

⭐️主要页面代码

<?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));}
}

⭐️不足之处

⭐️完善方向

【Android】Java多功能通讯录APP项目设计相关推荐

  1. Android Java代码中获取App渠道信息

    项目中需要在Java中获取App打包的渠道信息,而打包渠道相关的内容一般都设置在 build.gradle 的 productFlavors{} 中. 以下是介绍一种方便的实现方法,通过manifes ...

  2. android个人支付功能,个人app支付接入(三分钟搞定个人微信支付,支付宝支付问题)---贝贝支付...

    前言 想必很多人个人开发者和我有同样的感触,想要在自己开发的app中接入微信支付和支付宝支付,仅仅是去申请支付接口就把我们挡在了门外,微信和支付宝都只对接企业的,那不是想逼死我们个人开发者吗?一开始使 ...

  3. Java实现旅游app_基于安卓Android平台的旅游系统APP的设计(Eclipse,MySQL)

    基于安卓Android平台的旅游系统APP的设计(Eclipse,MySQL)(任务书,开题报告,论文15700字,程序代码) 摘  要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心 ...

  4. Android 10.0 Launcher3 单层app列表页排序功能实现

    1.概述 在定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了, 如图: ...

  5. Java模拟拨打电话程序_java_编写android拨打电话apk应用实例代码,android 实现拨打电话的app,代 - phpStudy...

    编写android拨打电话apk应用实例代码 android 实现拨打电话的app,代码非常简单,功能也很实用,分享给大家. MainActivity.java package com.bblei.c ...

  6. 计算机毕业设计之java+ssm基于android的家庭理财系统app

    项目介绍 随着Internet的发展,人们的日常生活已经离不开网络.未来人们的生活与工作将变得越来越数字化,网络化和电子化.网上管理,它将是直接管理家庭理财系统app的最新形式.本论文是以构建家庭理财 ...

  7. android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)

    前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...

  8. java计算机毕业设计基于安卓Android的桃源婚恋交友APP(源码+系统+mysql数据库+Lw文档)

    项目介绍 随着信息技术的发展,带动了各种管理系统和应用软件的产生,其中婚恋交友系统就是其中之一.每一个人都会经历过学习.恋爱.婚姻的过程,大龄青年也越来越多,大家都忙于学习或者工作,失去了许多机会.而 ...

  9. java计算机毕业设计基于安卓Android的桃源婚恋交友APP uniapp 小程序

    项目介绍  随着信息技术的发展,带动了各种管理系统和应用软件的产生,其中婚恋交友系统就是其中之一.每一个人都会经历过学习.恋爱.婚姻的过程,大龄青年也越来越多,大家都忙于学习或者工作,失去了许多机会. ...

最新文章

  1. 一步步写一个符合Promise/A+规范的库
  2. RedHat Enterprise Linux Server 5 安装序列号
  3. java在初始化过程_Java初始化过程
  4. 数据库9:联结表 高级联结 组合查询 全文本搜索
  5. android 窗口监听按键,Android编程实现Dialog窗体监听的方法
  6. SAP Vim和ABAP Editor的个人设置
  7. STM32之FSMC-SRAM/NOR原理
  8. FFMPEG基于内存的转码实例——输入输出视频均在内存
  9. hbase java 分页查询_HBase伪快速分页查询
  10. 顺序栈基本操作代码实现
  11. 地震matlab频域分析,MATLAB在地震数据分析中的应用
  12. 学习笔记—前端移动端开发知识点总结
  13. 5G版聚合路由器加速释放5G潜能
  14. arm64的prefetch/prefetchw/spin_lock_prefetch
  15. SQL Server 数据库无法重命名的解决
  16. deep learning in NLP
  17. Consul注册中心注册的服务总是红叉 (All service checks failing)
  18. java七牛获取访问路径_七牛回调及回调鉴权
  19. STM32-点亮LED
  20. java 最大矩形_最大矩形面积

热门文章

  1. python实现股票选取
  2. 小众兼职,适合学生、白领:派盘推广金轻松赚
  3. 安科瑞电力监控系统临沭人民医院的应用
  4. 电机直接连接丝杠,知道电机扭矩,丝杠导程,怎么计算推力?
  5. 寻找Hadoop启动Namenode失败原因
  6. 光模块的传输距离受哪些方面的因素影响?
  7. 基于红帽的Linux(centOS/fedora/RHEL)gnome3.34桌面环境用命令行更换桌面壁纸
  8. #8位老师随机分配三个办公室
  9. Hadoop+hive+flask+echarts大数据可视化项目之系统数据整合和hadoop环境搭建
  10. 高质量C++编程指南 附录B:C++/C试题