之前的我们已经通过OAuth认证,通过了新浪的授权并且取得了用户相关的信息。今天开始我们来发送一条微博试试。首先是发送微博界面的布局设计。先看布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/White"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg"
android:gravity="center"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/send_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/pre" >
</ImageButton>
<LinearLayout
android:id="@+id/send_middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/send_right"
android:layout_toRightOf="@id/send_left"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/newstatus"
android:gravity="center" >
</ImageButton>
</LinearLayout>
<ImageButton
android:id="@+id/send_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/send" >
</ImageButton>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
<EditText
android:id="@+id/editStatus"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dip"
android:background="@color/White"
android:gravity="top"
android:hint="您想说点什么呢...">
</EditText>
<ImageView
android:id="@+id/thumbImage"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="3dip"
android:layout_alignBottom="@id/editStatus"
android:layout_alignLeft="@id/editStatus" />
<TextView
android:id="@+id/statusCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/editStatus"
android:layout_alignRight="@id/editStatus" />
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<GridView
android:id="@+id/statusTool"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@drawable/maintab_toolbar_bg"
android:gravity="center"
android:numColumns="4" >
</GridView>
</LinearLayout>
</LinearLayout>
我们为底部的GridView添加一个适配器,用来显示底部按钮相关内容
/*
* 发送微博,评论,转发页面底部GridView工具栏Adapter
*/
public class BottomBarAdapter extends BaseAdapter{
private ArrayList<HashMap<String,Object>> data;
private Context context;
private String[] menuNameArray;
private int[] imageResourceArray;
public BottomBarAdapter(String[] menuNameArray,
int[] imageResourceArray, Context context){
this.imageResourceArray = imageResourceArray;
this.menuNameArray = menuNameArray;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageResourceArray.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return imageResourceArray[arg0];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater flater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = flater.inflate(R.layout.bottombar, null);
TextView textview = (TextView)convertView.findViewById(R.id.buttombarText);
ImageView imageview = (ImageView)convertView.findViewById(R.id.buttombarImage);
// HashMap<String,Object> button = data.get(position);
String name = menuNameArray[position];
int pic = imageResourceArray[position];
if(name!=""){
textview.setText(name);
}else{
textview.setVisibility(View.GONE);
}
imageview.setImageResource(pic);
return convertView;
}
}
接下来在addStatusActivity上我们来实现这个布局,并为GridView添加适配器
public class AddStatusActivity extends Activity {
private Context context;
private GridView statusTool;
/** 底部菜单图片 **/
int[] detail_toolbar_image_array = { R.drawable.pic, R.drawable.at,
R.drawable.topic, R.drawable.face };
/** 底部菜单文字 **/
String[] detail_toolbar_name_array = { "", "", "", "" };
private final int TOOLBAR_ITEM_PIC = 0;// 图片
private final int TOOLBAR_ITEM_AT = 1;// @
private final int TOOLBAR_ITEM_TOPIC = 2;// 话题
private final int TOOLBAR_ITEM_EMMOTION = 3;// 表情
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addstatus);
this.context = this;
setView();
}
/*
* 建立视图
*/
private void setView() {
statusTool = (GridView) findViewById(R.id.statusTool);
statusTool.setAdapter(new BottomBarAdapter(detail_toolbar_name_array,detail_toolbar_image_array, context));
}
}
注: 我们可以在布局文件中看到有一个id为thumbImage的ImageView,以及一个id为statusCount的TextView。这两个控件分别是用来显示在写微博时添加的图片,以及统计微博已经输入的字数。具体的实现方法将在后面的几篇博文中提到。我们先来看看效果图
- 大小: 34.4 KB
- 大小: 33.8 KB
分享到:
相关推荐
基于此,我们的课题计划开发一款专为Android平台设计的优化版新浪微博客户端。目标是降低准入门槛,提供即时通讯的原创体验,增强互动性,同时避免过多广告干扰。我们将考虑以下几个关键点: 1. **准入门槛低**:...
iPhone和Android智能手机客户端软件技术方案主要针对的是集成了Web2.0技术,并融合了BBS、SNS、博客、微博等多种网络应用的大学生互动网站。方案从整体上讲解了客户端开发的方式、系统支持的运行版本,以及技术方案...
然而,现有的Android版新浪微博客户端存在广告过多和界面设计不够新颖的问题,这为新应用的开发提供了机遇。 2.2 微博简介: 微博是一种短小精悍的社交形式,用户可以随时随地分享自己的动态,支持多媒体内容发布。...
现有的Android微博客户端虽功能完备,但广告繁多和界面设计保守导致用户满意度不高,因此开发一款优化用户体验、无广告的微博客户端显得尤为必要。 微博作为一种微型博客,具有准入门槛低、即时通讯和强互动性的...
针对现有Android平台的新浪微博客户端存在的问题,如广告过多和界面设计保守,本课题旨在开发一款优化用户体验、无广告干扰的Android微博客户端。该客户端将注重用户体验,提供高效、简洁的界面设计,同时确保功能...
本报告主要针对基于 Android 的 SNS(Social Networking Service)社交网络客户应用进行需求调研,旨在开发一款满足用户需求的、无广告干扰的、具有创新界面设计的新浪微博客户端。 一、同类产品分析 1. 微信: ...
《人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS》这本书主要聚焦于构建社交网络服务(SNS)平台,通过结合多种技术实现Web端和移动端的应用开发。以下是书中涉及的主要知识点: 1. **EXT.JS**: EXT....
《Android社交网络客户端开发详解》 在当今数字化时代,社交网络已经成为了人们日常生活的一部分,而Android作为全球最大的智能手机操作系统,其上的社交网络客户端更是扮演着举足轻重的角色。本项目"sns_SNS_...
综上所述,为了满足Android用户对于SNS社交应用的需求,开发者需要关注用户体验、功能实用性以及与现有社交网络的融合,打造出一个功能齐全、用户界面友好、交互性强的微博客户端。通过这样的应用,用户不仅可以方便...
在Android平台上,开发一款社交网络应用(SNS)如豆瓣网的移动客户端,涉及到许多关键技术和概念。这个项目"Android---Douban-SNS.zip"很可能是为了教学或实践目的,提供了一个完整的讲解和源代码资源,让我们来深入...
在国内,新浪微博在移动端的需求尤为强烈,但现有客户端广告较多,界面设计保守,引发了用户不满。 - **微博简介**:微博是一种短格式的在线社交服务,允许用户快速发布和分享信息,每条不超过140字。它具有低准入...
### ExtJS+Android+SSH整合开发Web与移动SNS #### 一、概述 随着互联网技术的不断发展,Web应用及移动应用的需求日益增加。在众多的技术栈中,ExtJS、Android以及SSH(Struts2 + Spring + Hibernate)是构建高质量...
源码中的各个部分揭示了从客户端界面到服务器端运维的完整开发流程,对于学习和理解SNS系统的构建有着极高的参考价值。通过深入研究这些源码,开发者不仅能提升技术能力,还能洞悉社交网络服务的设计理念和实践方法...
整合开发Web与移动SNS,实际上就是将Web前端的ExtJS界面、SSH框架的后台逻辑以及Android客户端结合起来,形成一套完整的用户体验。这不仅需要前端和后端开发的技能,还需要移动开发的经验以及对网络通信协议的了解。...
Android SDK提供了开发环境和工具,开发者可以使用Java语言编写应用,并通过Android Studio进行编译和调试。 结合这些技术,"人人都玩开心网"实现了Web与移动平台的无缝集成。在Web端,Ext JS确保了用户界面的流畅...
总的来说,"SNS驴友系统"项目涵盖了Android开发的众多关键技术和最佳实践,包括服务器端架构设计、数据库管理、客户端UI设计、网络通信、数据模型、推送通知、地图服务以及性能优化。深入研究这个项目,不仅可以提升...
今天我们将探讨的是一个名为“嘀咕客户端”的Android源代码,它为我们提供了一个宝贵的参考资料,特别是对于那些希望深入理解Android应用开发,或者想要构建社交网络服务(SNS)应用的开发者来说。 “嘀咕客户端”...
记事狗微博系统采用php mysql开发并开源发布,可承载千万级用户,其支持Wap、3G、Android客户端、iphone客户端、短信、微信等多种方式发布内容,并可选择同步到主流的微博平台(也支持微博帐户登录),内置的插件和...
【Android开发-Kotlin开发】 在Android开发领域,Kotlin已经成为主流的编程语言,以其简洁、安全和富有表现力的语法深受开发者喜爱。本项目“轻境界”充分利用了Kotlin的优势,构建了一个现代化的社交网络服务(SNS...