基于即时通信软件聊天界面的设计

一、实现目标

通过这一学期的移动终端设计课程的学习,我逐渐得对老师所讲的Android studio这一开发类软件产生浓厚的兴趣。它那界面的设计非常的标准化,各种开发内容应有尽有,并且我可以自行设计一款适合自己风格的APP。Andorid studio 学习过程中知识点繁多,难以熟练的应用,不经过很长一段时间很难以熟练地运用自己所学的知识,所以并不是那么的一帆风顺,难免有各种困难的出现。如,我在b站上面学习Android studio的教程的时候,刚开始接触这类软件,使我要掌握很多基础的相关知识来应对学习过程中所出现的问题,所以那时的学习就显得非常的吃力,每一次的掌握需要花费大量的时间,让我非常的这也使得我在这一软件上花费的时间很多,一遍在上网寻找学习关于Android studio的教程,一遍又与同学之间相互交流,但是却也带给我巨大的收获,让我自己也尤为惊讶。
在本学期的结束,我利用我所学习的知识做了一个简易的仿QQ界面,来证明我的学习成果。

二、程序设计

随着智能系统的高速发展,人机交互越来越受到重视,APP 应用开发在智能终端系统中也越来越普及,本设计基于 Android Studio 设计了一款高仿的QQ基本的界面。

1.Android Studio

Android Studio是一个全新的Android开发环境,基于IntelliJ IDEA类似Eclipse ADT,Android Studio 提供了集成的Android开发工具用于开发和调试。
2017年6月,英创公司在ESM6802+10.1”LCD的硬件平台上成功运行Android 7.1.1原生操作系统。2017年8月,ESM6802 Android 版可以支持GPIO、串口、以太网、U盘。后续将进一步完善对CAN、SPI、I2C、WIFI、4G等接口的支持。
Google公司专门为开发Android应用程序提供了集成开发环境Android Studio,涵盖了所有Android应用开发相关的功能。Android应用程序主要使用Java语言编写,要用到开发工具集SDK(Software Development Kit,提供java编译工具、Android系统API等,可以直接在Android Studio中下载)。当应用程序中要直接访问硬件,或者需要提高运行效率时,需要将访问硬件、复杂逻辑部分使用C/C++实现。要在Android Studio中开发编译C/C++代码,需要用到工具集NDK(Native Development Kit,提供C/C++编译工具、API、打包工具等,可直接在Android Studio中下载)。使用NDK可以将C/C++源码编译成动态链接库,供Java调用。由于Java语言要调用C/C++函数需要用到JNI(Java Native Interface)技术,这就要求使用NDK开发C/C++时,C/C++源码要符合JNI规范要求。
Android Studio 是基于 IntelliJ IDEA 且适用于开发 Android 应用的官方集成开发环境 (IDE)。除了 IntelliJ 强大的代码编辑器和开发者工具,Android Studio 还提供更多可提高 Android 应用编译效率的功能,例如:
(1)基于 Gradle 的灵活编译系统
(2)快速且功能丰富的模拟器
(3)统一的环境(供您开发适用于所有 Android 设备的应用)
(4)Apply Changes 功能可将代码和资源更改推送给正在运行的应用,而无需重启应用
(5)代码模板和 GitHub 集成,可协助您打造常见的应用功能及导入示例代码
(6)大量的测试工具和框架
(7)Lint 工具,能够找出性能、易用性和版本兼容性等方面的问题
(8)C++ 和 NDK 支持
(9)内置对 Google Cloud Platform 的支持,可轻松集成 Google 云消息传递和 App Engine
为方便Android用户专注于Android 应用层(Java语言)的开发,英创公司对所支持的硬件接口均提供了符合JNI规范的C/C++动态链接库,用户只需要加载英创的动态链接库,就可以在纯Java语言环境中调用动态链接库中的函数,达到访问硬件资源的目的。如图1所示,用户的工作只是应用层的java程序,英创已完成了其他部分工作。

基于即时通信软件聊天界面的设计

四、运行结果及分析

1.主界面以比较简易的画面出现在首部。内容包含了主要的登录和注册功能,需要输入正确的用户名和密码。采用简约风格的图片作为背景。如图所示。

基于即时通信软件聊天界面的设计
3.当你想找该软件的其他功能时,只需要触摸屏幕向右滑整个屏幕的2/3,即可侧滑进入下个界面。该界面有个人主页、QQ钱包、我的收藏、我的相册、关于我们这几个模块,如下图所示。
基于即时通信软件聊天界面的设计
基于即时通信软件聊天界面的设计

五、总结

随着 APP 应用开发在智能终端系统中也越来越普及,本设计基Android Studio 设计了一款简易的聊天软件。对于本学期的移动终端设计学习,这个课设成为了我对Android Studio学习的证明。虽然过程很是辛苦,一遍又一遍的去b站上看教程,看不懂就再看一遍,然后自己又重新再操作一遍,出现问题,又需要去百度上面查找,非常的耗费时间,但是那又怎样,虽是万事开头难,却有皇天不负有心人,我通过自己的努力一点一点的学习和积累,又在老师和同学的帮助下,我将自己的课设终于完成,这一步步的走来,辛苦是有,但是收获确实非常的巨大。
对于Android Studio的学习,我有了很深的理解,对于其软件的基本操作都掌握的比较好,如一款软件的布局需要用到不同的布局控件,有Linearlayout和Relativelayout,还有一些控件的学习也都非常的熟悉,如TextView、EditText、Button、CheckBox等,于此,我也是非常的感兴趣对于这个页面的布局,因为我可以设计自己所想的布局格式。
而这款软件的缺陷也是非常的大,关于聊天与联系人之间的设置无法衔接在一起;在设置的界面也有一些不足,设置界面选用了单选框和复选框两个功能来搭建起设置的功能。
通过设计,对安卓程序设计和 APP 的开发有了更加深刻的理解,对基础的程序设计也有了更加灵活的掌握,对今后的就业和学习有很大的帮助。随着智能系统的发展,我想人机交互一定会越来越受到重视,APP 应用开发在智能终端系统中也越来越普及,对于我们来说,掌握一项编程的技能十分有必要。

六、致谢

通过大三上这半年时间移动终端设计设计的学习,我学习到了很多知识,虽然在这期间内很是辛苦,但是有老师和同学的陪伴,我觉得自己的学习过程还是比较的充实。每次都抓紧上课的时间与老师交流,不懂得问题都及时的问老师;下课时间我也积极地与同学相互探讨,或者翻阅书籍、上网查询等弄懂一切问题,克服一切困难。
在此,感谢曾今帮助过我的老师与同学们!

附录

MainActivity:
package com.example.administrator.android1;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.example.administrator.android1.util.ToastUtil;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

//匹配对应的用户名和密码才能进行登录操作
mBtnlogin.setOnClickListener(this);

// Toast toastCenter = Toast.makeText(getApplicationContext(),fail,Toast.LENGTH_SHORT);
// toastCenter.setGravity(Gravity.CENTER,0,0);
// toastCenter.show();

}

Classifyactivity:

package com.example.administrator.android1;

import android.app.ExpandableListActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ClassifyActivity extends ExpandableListActivity {
/**
* 创建一级条目容器
/
List> gruops = new ArrayList>();
/
*
* 存放内容, 以便显示在列表中
*/
List>> childs = new ArrayList>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play2);

}
关于侧滑程序,我借鉴的是:
https://blog.csdn.net/weixin_43589465/article/details/106530099ps_request_misc=%257B%2522request%255Fid%2522%253A%2522163206191616780264031237%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163206191616780264031237&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-106530099.pc_search_es_clickV2&utm_term=%E5%B0%8F%E5%B0%8F%E5%B0%8F%E7%99%BD%E5%86%B7%E4%BE%A7%E6%BB%91%E7%95%8C%E9%9D%A2&spm=1018.2226.3001.4187

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中

来源:莫陌尛.

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月26日
下一篇 2022年2月26日

相关推荐