关于新浪微博客户端架构及Menu的实现,上下文菜单的实现等

1要实现微博客户端,需要考虑许多方面,比如需要开通子线程来做联网的事,需要更新主UI,需要完成数据保存,需要做各个窗口的跳转,需要创建很多activity,因此,做架构如下:

构建AndroidClient端开发基本构架:

 

微博接口处理各个api的调用,但具体的调用是由底层网络通讯模块(在下载的sdk中,有一个http的包,这个包对网络通讯模块做了封装),在UI中发送任务,然后传给核心调度模块,核心调度模块来请求网络,返回数据后再调用主窗口的更新方法,把数据传给窗口

2首页需求功能描述()

1)呈现用户微博首页信息,显示所有关注微博的最新信息,是各种操作的中心窗口

2)点击刷新获取最新数据

3)点击更多内容获取下一页

4)左上角图标出现发表微博窗口

5)右上角为刷新窗口按钮

6)按下Menu出现内容

跳转流程:

   可以跳转到各个子功能窗口,用户按下返回键弹出对话框提示用户是否退出

3 Menu的实现

在想实现Menuactivity中复习两个成员函数

public boolean onCreateOptionsMenu(Menu menu){

 Menu.add(1,1,1,””).setlcon(R.drawable.menu.exit(即选项对应图片))

····

Return super.onCreateOptionsMenu(menu);

}

Public boolean onMenuItemSelected(int featureld,MenuItem item){

//switch来确定选择的是哪一项

Switch(item.getItemId())

{

Case 1 :

·····

break;

····

}

Return super.onMenuItemSelected(featureld,item);

}

4上下文菜单的实现

首先需要注册上下文菜单在onCreate()方法中

  registerForContextMenu(mallStatusLV);//括号内参数是列表对象

要在微博首页中,用户按着某一条时,可以实现转发,收藏等,需要实现上下文菜单,这个也需要在想要实现这个功能的activity中覆盖两个方法

//初始化上下文菜单

@Override

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)

{

// TODO Auto-generated method stub

super.onCreateContextMenu(menu, v, menuInfo);

AdapterContextMenuInfo lm=(AdapterContextMenuInfo)menuInfo;

menu.setHeaderTitle("弹出菜单");

menu.add(1, 1, 1, lm.id+"转发");

menu.add(1, 2, 2, lm.id+"评论");

menu.add(1, 3, 3, lm.id+"收藏");

menu.add(1, 4, 4, lm.id+"查看信息");

}

//用户触发了上下文菜单的某一项

public boolean onContextItemSelected(MenuItem item) {

// TODO Auto-generated method stub

//得到菜单项信息

AdapterContextMenuInfo lm=(AdapterContextMenuInfo)item.getMenuInfo();

Toast.makeText(this, ""+lm.id, 1000).show();

switch(item.getItemId())

{case 1://转发

// Intent it=new Intent(this,reweetActivity.class);

// it.getExtras().putLong("statusId", lm.id);

// startActivityforResult(it,0);

break;

case 2://评论

case 3://收藏

case 4://查看信息

}

return super.onContextItemSelected(item);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值