IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【无标题】杭电信工----安卓大作业模拟设计与实现手机微信APP -> 正文阅读

[移动开发]【无标题】杭电信工----安卓大作业模拟设计与实现手机微信APP

模拟设计与实现手机微信APP或QQ APP系统,具体要求:?

1)??登陆界面使用SharedPreference记住密码和账号。

2)??主界面包含顶部选项菜单、底部导航菜单

3)??使用RecyclerView显示页码主要内容

4)????不同页面之间可以导航和跳转

5)??可以模拟发送消息、添加、搜索好友等

6)??使用SQLite保存主要数据信息

7) ?写WORD报告介绍系统功能结构、设计类、数据库表、界面效果截图等。

  1. 程序设计

1.模块设计

设计六个模块

分别为:注册,登陆,首页,通讯录,发现,我,个人信息,更多。

2.界面设计

本程序主要设计六个界面为:注册界面,登陆界面,首页,消息界面,笔记界面,我的界面。

给界面设计图如图1,图2,图3,图4,图5,图6,图7所示。

?

图 2注册界面设计图

图 3登陆界面设计图

?

?

图 4首页界面设计图

?

?

图 5通讯录界面设计图

?

图 6发现界面设计图

?

图 7发现界面设计图

图 8个人信息界面设计图

?

?

图 9更多 信息界面设计图

?

图 10发送信息界面设计图

?

  1. 核心程序代码

?注册界面代码:

?

@Override

public void onClick(View view) {

??????switch (view.getId()){

??????????case R.id.img_back:

??????????????Utils.finish(RegisterActivity.this);

??????????????break;

??????????case R.id.btn_send:

???????????????if (mc == null) {

???????????????????mc = new MyCount(60000, 1000); //第一个参数是总的时间,第二个参数是间隔时间

???????????????}

???????????????????break;

??????????case R.id.btn_register:

??????????????startActivity(new Intent(RegisterActivity.this, LoginActivity.class));

??????????????overridePendingTransition(R.anim.push_up_in,R.anim.push_up_out);

??????????????Toast.makeText(this,"注册成功",Toast.LENGTH_SHORT).show();

??????????????break;

??????????default:

??????????????break;

??????}

}

登陆界面代码:

@Override

protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????setContentView(R.layout.wechat_login);

????//获取实例对象

????sp = this.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

????initControl();

????initData();

????initView();

????setListener();

????//监听记住密码多选框按钮事件

????mermorize_password.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

????????@Override

????????public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

????????????if (mermorize_password.isChecked()){

????????????????System.out.println("记住密码已选中");

????????????????sp.edit().putBoolean("ISCHECK",true).commit();

????????????}else{

????????????????System.out.println("记住密码未选中");

????????????????sp.edit().putBoolean("ISCHECK",false).commit();

????????????}

????????}

????});

????//监听自动登录多选框按钮事件

????auto_login.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

????????@Override

????????public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

????????????if (auto_login.isChecked()){

????????????????System.out.println("自动登录已选中");

????????????????sp.edit().putBoolean("AUTO_ISCHECK",true).commit();

????????????}else{

????????????????System.out.println("自动登录未选中");

????????????????sp.edit().putBoolean("AUTO_ISCHECK",false).commit();

????????????}

????????}

????});

}

首页代码:

@Override

protected void onCreate(Bundle savedInstanceState) {

????super.onCreate(savedInstanceState);

????ActivityCollector.add(this);

????setContentView(R.layout.wechat_chat);

???initControls();

}

????@Override

????public void onBackPressed() {

????????Intent intent ?=new Intent();

????????if (chatEditView.getText().toString() != null){

????????????intent.putExtra("msg",chatEditView.getText().toString());

????????????intent.putExtra("friend",friend);

????????}

????????setResult(10,intent);

????????finish();

????}

????/**

?????* 插入数据

?????*/

????private void initMessage() {

????????String name = getIntent().getStringExtra("friend");

????????if (name.equals("小李")){

????????????News message1 = new News(0,"吃饭了吗?", BitmapFactory.decodeResource(getResources(),R.drawable.image1));

????????????newsArrayList.add(message1);

????????}

????????else if(name.equals("小芳")){

????????????News message1 = new News(0,"天天开心哈,祝你安卓老师问的都对哈", BitmapFactory.decodeResource(getResources(),R.drawable.image2));

????????????newsArrayList.add(message1);

????????}

????????else if(name.equals("小文")){

????????????News message1 = new News(0,"有空一起出来聚聚呗", BitmapFactory.decodeResource(getResources(),R.drawable.image3));

????????????newsArrayList.add(message1);

????????}

????????else if(name.equals("张凡")){

????????????News message1 = new News(0,"你今天过的怎麽样", BitmapFactory.decodeResource(getResources(),R.drawable.image4));

????????????newsArrayList.add(message1);

????????}

????}

????@Override

????public void onClick(View view) {

????????switch (view.getId()) {

????????????case R.id.img_back:

????????????????Intent intent = new Intent(ChatActivity.this, WeixinFragment.class);

????????????????overridePendingTransition(R.anim.push_left_in,R.anim.push_left_out);

????????????????startActivity(intent);

????????????????break;

????????????default:

????????????????break;

????????}

????}

????@Override

????protected void onDestroy() {

????????super.onDestroy();

????????ActivityCollector.remove(this);

????}

}

发消息界面代码:

?//3.创建ViewHolder

????@NonNull

????@Override

????public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

????????//将条目布局文件填充成View对象

????????View itemView= View.inflate(parent.getContext(),R.layout.wechat_message,null);

????????ViewHolder holder=new ViewHolder(itemView);

????????return holder;

????}

????//4.给相应ViewHolder中的控件设置数据内容

????//数据从List中第position个元素中拿到

????@Override

????public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

????????final Message msg=msgList.get(position);

????????holder.iv_head.setImageResource(msg.getImg_head());

????????holder.friend.setText(msg.getFriend());

????????holder.message.setText(msg.getMsg());

????????holder.time.setText(msg.getTime());

????????holder.itemView.setOnClickListener(new View.OnClickListener() {

????????????@Override

????????????public void onClick(View view) {

????????????????Intent intent=new Intent(view.getContext(), ChatActivity.class);

????????????????intent.putExtra("friend",msg.friend);

????????????????((Activity)view.getContext()).startActivityForResult(intent,1);

????????????}

????????});

????????holder.iv_head.setOnClickListener(new View.OnClickListener() {

????????????@Override

????????????public void onClick(View view) {

????????????????Toast.makeText(view.getContext(),

????????????????????????"你点击了"+msg.getFriend()+"头像", Toast.LENGTH_SHORT).show();

????????????}

????????});

????}

????//5.获取条目个数=List元素个数

????@Override

????public int getItemCount() {

????????return msgList.size();

????}

}

我的界面代码:

????@Override

????protected void onCreate(Bundle savedInstanceState) {

????????super.onCreate(savedInstanceState);

????????setContentView(R.layout.wechat_myinfo);

??????RelativeLayout myinfo_more = ?findViewById(R.id.re_temp_more);

????????myinfo_more.setOnClickListener(new View.OnClickListener() {

????????????@Override

????????????public void onClick(View view) {

???????????????startActivity(new Intent(MyInfoActivity.this,MyInfoMoreActivity.class));

????????????}

????????});

????}

}

  1. 结果示意图

结果示意图如图8,图9所示。

?

图 8 添加好友功能实现

?

图 9 搜索好友界面

???????源码见主页

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:40:23  更:2022-09-21 00:44:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 5:20:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码