社交媒体对我们来说并不是一个新术语。我们的日常生活是不完整的,或者我们可以说我们人类靠食物、水、空气和社交媒体生存。我们的依赖程度如此之高,以至于我们倾向于在社交媒体平台上分享有关我们自己的每一点信息。同样, Android Studio也不是 Android 开发者的新名词。对于初学者来说,总是对复杂的应用程序有什么好奇 开发了 Facebook、Instagram、Twitter、Linked In 等。这些应用程序是如何工作的!!点赞、评论功能如何在社交媒体应用中工作!!消息传递功能如何工作!!还有很多。
在之前的文章“成为Android开发者的最佳途径——完整路线图”中我们已经讨论过“学习Android的最佳途径是从一些基础项目开发到一些高级项目”。所以在这篇文章中,我们将开发类似的东西。我们将开发一个社交媒体应用程序的克隆。
功能列表
- 使用他们的电子邮件和密码自行注册。
- 使用他们在注册过程中使用的电子邮件和密码自行登录。
- 编辑他们的个人资料数据(个人资料图片、姓名和密码)。
- 添加各种博客。
- 搜索特定博客。
- 显示所有注册用户。
- 从所有注册用户中搜索用户。
- 就像一篇博文。
- 对特定博客发表评论。
- 显示喜欢特定博客的所有用户。
- 删除博客文章
- 发信息
- 删除已发消息
- 自己注销并使用其他 ID 登录。
用例图
用例图是 UML(统一建模语言)的一部分,用于描述系统的功能或系统的一部分。它们被广泛用于说明系统的功能需求及其与外部代理(参与者)的交互。用例基本上是一个图表,表示可以使用系统的不同场景。用例图为我们提供了系统或系统的一部分做什么的高级视图,而无需深入了解实现细节。下面是这个项目的用例图:
执行
使用的技术栈:
- 对于前端: XML
- 后端: Java
- IDE:安卓工作室
- 使用的数据库: Firebase
下面给出了一个示例视频,以了解我们将在本教程中做什么。
本教程由 16 个部分组成,如下所示:
第 1 部分:启动画面和身份验证部分
- 创建启动画面
- 认证部分:
- 注册,以及
- 登录
第 2 部分:使用底部导航创建片段
- 我们将使用5 个片段(主页、用户、添加博客、聊天列表、个人资料)创建底部导航。
- 在HomeFragment 上,我们将显示所有添加的博客。
- 在用户片段中, 我们将显示所有注册用户。
- 在AddBlogFragment我们将添加我们的博客。
- 在ChatlistFragment 中,我们将显示与我们聊天的所有用户的聊天列表。
- 在ProfileFragment 中,我们将显示用户的个人资料,我们将在其中显示用户的数据和用户撰写的博客。
第 3 部分:编辑配置文件数据
- 我们将编辑我们的个人资料数据,例如更改名称、更改用户密码和更改个人资料图片。
- 更改密码是一项非常重要的功能,因为有时可能会发生有人知道我们的密码,在这种情况下,我们需要更改密码。
- 我们通过从图库中选择图像或单击相机中的图像来更改我们的个人资料图片。
第 4 部分:检索配置文件数据
- 我们将从 Firebase 检索用户的数据。
- 这是一个简单的片段,我们将从实时数据库中检索用户的数据,如姓名、电子邮件和个人资料图片,并以文本布局和图像布局显示。
- 将来,我们还将在个人资料页面上显示用户的博客。
第 5 部分:添加博客
- 我们将添加任何用户的博客。在这里,我们将在AddBlogs Fragment中工作,用户将在其中添加一个博客,其中包含与该博客相关的标题、描述和图像。
- 如果用户没有写任何标题或描述,那么我们将显示错误。
第 6 部分:在主页上检索博客
- 我们将检索用户在HomeFragment上写的博客。
- 在这里,我们只显示了博客的用户数据和标题、描述和图像,但我们还将在即将发布的博客中实现点赞和评论功能。
- 然后我们将显示发布详细信息活动,用户可以在其中发表评论。
- 我们还实现了Like a Blog 功能。
第 7 部分:在主页上搜索特定博客和注销功能
- 我们将在主页上搜索博客。
- 如果我们的应用程序中的博客很少,那么手动搜索博客很容易。但是当我们有 1000 个博客然后搜索一个特定的博客时会发生什么,这成为一项非常复杂且耗时的任务。
- 这就是我们实施此功能以使用提供的标题或描述搜索博客的原因。
- 此外,我们在本文中实现了注销功能。
第 8 部分:显示所有注册用户
- 我们将显示我们应用程序的所有注册用户。
- 我们将在UsersFragment 中显示用户列表。
第 9 部分:从所有注册用户中搜索用户
- 我们将在用户页面上搜索用户。
- 如果在我们的应用程序中注册的人很少,那么很容易搜索一个人。
- 但是当我们在我们的应用程序中注册了 1000 个用户时会发生什么,然后搜索特定用户成为一项非常复杂且耗时的任务。
- 这就是我们实施此功能以使用提供的姓名或电子邮件搜索用户的原因。
第 10 部分:像博客文章一样
- 我们要为博客点赞。我们正在使用两个图像来实现此功能,一个是白色背景的按钮,另一个是蓝色背景的按钮。
- 当用户第一次点击按钮时,我们会将图像更改为背景颜色为蓝色的按钮并增加计数。当用户再次点击时,我们将减少计数并更改背景为白色的喜欢按钮。
第 11 部分:对特定博客的评论
- 我们将在博客上发表评论。
- 在这里,我们将写一条评论,然后我们将显示评论并更新评论计数。
- 评论功能是任何博客应用中最好的功能。它有助于与撰写博客的用户进行互动等等。
第 12 部分:显示在特定博客上点赞的所有用户
- 我们将查看喜欢特定博客的用户列表。
- 在点击 total 之后,我们将被重定向到 PostLikedBy.Activity。
- 在那,我们将使用回收者视图来显示喜欢帖子的用户列表。
- 我们还可以从PostDetailActivity.class 中查看喜欢我们帖子的所有用户的列表。
第 13 部分:删除博客文章
- 我们将删除用户写的博客。
- 博客只能由博客所有者删除。在博客的右上角,有一个按钮。
- 点击后会弹出一个删除按钮。点击删除后,博客将成功从博客中删除。
第 14 部分:在聊天中创建布局和发送消息
- 我们将为聊天创建一个布局并在聊天中发送消息。
- 用户可以发送消息或图像。
- 用户可以使用相机或图库发送图像。
- 首先,将要求许可请求使用图库或在使用相机单击图像后发送图像。
- 如果获得许可,则用户可以发送图像,否则它将再次请求请求许可。
第 15 部分:删除消息
- 我们将删除ChatActivity 中的消息。
- 我们将删除文本和图像消息。当我们点击一个文本时,就会出现一个AlertBox 。
- 有两个选项可以删除该消息或取消该事件。点击删除后,两边的消息都会被删除。
第 16 部分:检索用户个人资料上的博客
- 我们将检索用户在其个人资料片段上撰写的博客。
- 如前所述,我们已经在 Profile Fragment 中添加了用户数据,例如电子邮件、姓名和个人资料图片。
- 在这里,我们还将检索当前用户在其个人资料上撰写的博客。
- 让我们看看显示当前用户写的博客的实现。