【无标题】杭电信工—-安卓大作业模拟设计与实现手机微信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所示。

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

图 2注册界面设计图

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

图 3登陆界面设计图

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

图 4首页界面设计图

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

图 5通讯录界面设计图

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

图 6发现界面设计图

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

图 7发现界面设计图

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

图 8个人信息界面设计图

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

图 9更多 信息界面设计图

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

图 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所示。

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

图 8 添加好友功能实现

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

图 9 搜索好友界面

​​​​​​​源码见主页

Original: https://blog.csdn.net/qq_57852196/article/details/126856478
Author: qq_57852196
Title: 【无标题】杭电信工—-安卓大作业模拟设计与实现手机微信APP

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815977/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球