- 浏览: 494848 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (301)
- Swing技术 (1)
- Linux (1)
- Javascript (22)
- 数据结构和算法 (3)
- J2SE (36)
- workflow (5)
- 设计模式 (14)
- web service (19)
- Ajax (14)
- 中间件 & 服务器 (8)
- 多线程 (9)
- Oracle (52)
- sys & soft (10)
- JMS (3)
- sso (9)
- android (11)
- struts2 (10)
- web协议 (2)
- 分布式 (2)
- PM (2)
- OLAP (3)
- Redis (2)
- Hibernate (7)
- ibatis (2)
- SQLServer (1)
- maven (3)
- Spring (7)
- Jsp (2)
- slf4j (1)
- jQuery (15)
- 权限 (1)
- 系统集成 (1)
- 笔记 (1)
- Freemarker (2)
- 项目管理 (1)
- eclipse (3)
- GIS (1)
- NoSql (3)
- win10 (1)
- win10网络 (2)
- 底层 (3)
- 数据库 (0)
最新评论
-
kabuto_v:
请问那种图,uml图是怎么画出来的呢?是您自己手工画的,还是有 ...
FastJSON 序列化、反序列化实现 -
梦行Monxin商城系统:
电商实例、业务并发、网站并发及解决方法 -
rockethj8:
client 㓟有一个参数是可以忽略一些URL 不进行验证登录 ...
SSO 之 (单点登录)实施中遇到的几个问题 -
mengxiangfeiyan:
好啊。。。。。
Oracle删除表,删除数据以及恢复数据、利用现有表创建新表
新浪微博:
包含功能:
1,新浪微博的登录
2,获取新浪用户的头像、昵称、性别
3,分享图片、文字到新浪微博
工程结构图:
[img]
[/img]
主类:
Java代码
1.package com.amaker.sina;
2.
3.import java.io.ByteArrayInputStream;
4.import java.io.ByteArrayOutputStream;
5.import java.io.File;
6.import java.io.FileNotFoundException;
7.import java.io.FileOutputStream;
8.import java.io.IOException;
9.import java.io.InputStream;
10.import java.lang.ref.SoftReference;
11.import java.net.MalformedURLException;
12.import java.net.URL;
13.import java.net.URLConnection;
14.import java.util.HashMap;
15.
16.import org.json.JSONObject;
17.
18.import com.weibo.net.AccessToken;
19.import com.weibo.net.AsyncWeiboRunner;
20.import com.weibo.net.DialogError;
21.import com.weibo.net.Utility;
22.import com.weibo.net.Weibo;
23.import com.weibo.net.WeiboDialogListener;
24.import com.weibo.net.WeiboException;
25.import com.weibo.net.WeiboParameters;
26.import com.weibo.net.AsyncWeiboRunner.RequestListener;
27.import com.weibo.util.Authorize;
28.import android.app.Activity;
29.import android.content.Intent;
30.import android.graphics.Bitmap;
31.import android.graphics.BitmapFactory;
32.import android.graphics.Bitmap.CompressFormat;
33.import android.graphics.drawable.BitmapDrawable;
34.import android.graphics.drawable.Drawable;
35.import android.os.Bundle;
36.import android.os.Environment;
37.import android.os.Handler;
38.import android.os.Message;
39.import android.text.TextUtils;
40.import android.util.Log;
41.import android.view.View;
42.import android.view.View.OnClickListener;
43.import android.widget.Button;
44.import android.widget.ImageView;
45.import android.widget.TextView;
46.import android.widget.Toast;
47.
48.public class SinaLoginActivity extends Activity implements RequestListener {
49. public static final String SAVE_PIC_PATH =
50. Environment.getExternalStorageDirectory() + "/meilijie/imgs/";
51. private HashMap<String, SoftReference<Drawable>> imageCache = new HashMap<String, SoftReference<Drawable>>();
52. private Button btn_login;
53. private Button btn_save;
54. private Button btn_share;
55. private ImageView img_sina;
56. private TextView txt_sina;
57. private TextView txt_sex;
58. private String uid;
59. private String pic_url = "http://img.imeilijie.com/type/bag/tid/235114.jpg";
60.
61.
62. @Override
63. public void onCreate(Bundle savedInstanceState) {
64. super.onCreate(savedInstanceState);
65. setContentView(R.layout.main);
66. init();
67. //登陆新浪微博
68. btn_login.setOnClickListener(new OnClickListener() {
69. @Override
70. public void onClick(View v) {
71.
72. LoginSina();
73.
74. }
75. });
76. //保存一张图片到SD卡
77. btn_save.setOnClickListener(new OnClickListener() {
78. @Override
79. public void onClick(View v) {
80.
81. Intent intent = new Intent(SinaLoginActivity.this,SavePictureActivity.class);
82. startActivity(intent);
83. }
84. });
85. //分享图片到新浪微博
86. btn_share.setOnClickListener(new OnClickListener() {
87. @Override
88. public void onClick(View v) {
89.
90. ShareToSina();
91.
92. }
93. });
94.
95. }
96.
97. // 初始化控件
98. public void init() {
99. btn_login = (Button) findViewById(R.id.btn_login);
100. btn_save = (Button) findViewById(R.id.btn_save);
101. btn_share = (Button) findViewById(R.id.btn_share);
102. img_sina = (ImageView) findViewById(R.id.img_sina);
103. txt_sina = (TextView) findViewById(R.id.txt_sina);
104. txt_sex = (TextView) findViewById(R.id.txt_sex);
105. }
106.
107. public void LoginSina() {
108. // Oauth2.0
109. // 隐式授权认证方式
110. // 获取微博实体类,传入appKey,appSecert,callback_url
111. Weibo weibo = Weibo.getInstance();
112. weibo.setupConsumerConfig(Authorize.CONSUMER_KEY,
113. Authorize.CONSUMER_SECRET);
114.
115. // 此处回调页内容应该替换为与appKey对应的应用回调页
116. weibo.setRedirectUrl("http://www.meilijie.com");
117. // 对应的应用回调页可在开发者登陆新浪微博开发平台之后,
118. // 进入我的应用--应用详情--应用信息--高级信息--授权设置--应用回调页进行设置和查看,
119. // 应用回调页不可为空
120.
121. // 启动认证
122. weibo.authorize(SinaLoginActivity.this, new AuthDialogListener());
123. }
124.
125. // 用于新浪登录
126. class AuthDialogListener implements WeiboDialogListener {
127. public void onComplete(Bundle values) {
128. String token = values.getString("access_token");
129. String expires_in = values.getString("expires_in");
130. AccessToken accessToken = new AccessToken(token,
131. Authorize.CONSUMER_SECRET);
132. accessToken.setExpiresIn(expires_in);
133. Weibo.getInstance().setAccessToken(accessToken);
134. uid = values.getString("uid");
135.
136. try {
137. getCounts(Weibo.getInstance());
138. } catch (Exception e) {
139. e.printStackTrace();
140. }
141. /*
142. * Intent intent = new Intent(MainActivity.this,SinaActivity.class);
143. * intent.putExtra("uid", uid + ""); startActivity(intent);
144. */
145. }
146.
147. public void onError(DialogError e) {
148. Toast.makeText(getApplicationContext(),
149. "Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
150. }
151.
152. public void onCancel() {
153. Toast.makeText(getApplicationContext(), "Auth cancel",
154. Toast.LENGTH_LONG).show();
155. }
156.
157. public void onWeiboException(WeiboException e) {
158. Toast.makeText(getApplicationContext(),
159. "Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
160. .show();
161. }
162. }
163.
164. // 新浪登录 获取用户资料
165. public String getCounts(Weibo weibo) throws Exception {
166. String url = Weibo.SERVER + "users/show.json";
167. WeiboParameters bundle = new WeiboParameters();
168. bundle.add("source", Weibo.getAppKey());
169. bundle.add("uid", uid);
170.
171. String rlt = weibo.request(this, url, bundle, "GET", weibo
172. .getAccessToken());
173.
174. JSONObject jsonObject = new JSONObject(rlt);
175. String name = jsonObject.getString("screen_name");
176. String pic = jsonObject.getString("profile_image_url");
177. String gender = jsonObject.getString("gender");
178. String sex;
179. if (gender.equalsIgnoreCase("m")) {
180. sex = "男";
181. } else if (gender.equalsIgnoreCase("f")) {
182. sex = "女";
183. } else {
184. sex = "未知";
185. }
186. Bitmap bitmap = Authorize.returnBitMap(pic);
187. img_sina.setImageBitmap(bitmap);
188. txt_sina.setText("用户名:" + name);
189. txt_sex.setText(" 性别:" + sex);
190. return rlt;
191. }
192. //新浪分享
193. public void ShareToSina(){
194. File file = Environment.getExternalStorageDirectory();
195. String sdPath = file.getAbsolutePath();
196. // 请保证SD卡根目录下有这张图片文件
197. String picPath = sdPath + "/meilijie/imgs/" + "test.jpg";
198. Log.i("test", "picPath:" + picPath);
199. File picFile = new File(picPath);
200. if (!picFile.exists()) {
201. Toast.makeText(SinaLoginActivity.this, "图片" + picPath + "不存在!",
202. Toast.LENGTH_SHORT).show();
203. picPath = null;
204. }
205. try {
206. String mContent = "测试图片新浪微博分享===李彩娜" +pic_url;
207. Weibo weibo = Weibo.getInstance();
208.
209. upload(weibo, Weibo.getAppKey(), picPath, mContent, "", "");
210. } catch (WeiboException e) {
211. e.printStackTrace();
212. }
213.
214. }
215. //新浪分享
216. private String upload(Weibo weibo, String source, String file, String status,
217. String lon, String lat) throws WeiboException {
218. String url = Weibo.SERVER + "statuses/upload.json";
219. WeiboParameters bundle = new WeiboParameters();
220. bundle.add("source", source);
221. //要上传的图片,仅支持JPEG、GIF、PNG格式,图片大小小于5M。
222. bundle.add("pic", file);
223. //要发布的微博文本内容,必须做URLencode,内容不超过140个汉字。
224. bundle.add("status", status);
225. if (!TextUtils.isEmpty(lon)) {
226. bundle.add("lon", lon);
227. }
228. if (!TextUtils.isEmpty(lat)) {
229. bundle.add("lat", lat);
230. }
231. String rlt = "";
232. AsyncWeiboRunner weiboRunner = new AsyncWeiboRunner(weibo);
233. weiboRunner.request(this, url, bundle, Utility.HTTPMETHOD_POST, this);
234.
235. return rlt;
236. }
237.
238.
239. @Override
240. public void onComplete(String response) {
241. }
242.
243. @Override
244. public void onError(WeiboException e) {
245. }
246.
247. @Override
248. public void onIOException(IOException e) {
249. }
250.
251.
252.}
SinaLoginTest.zip (757.9 KB)
http://dl.iteye.com/topics/download/c6b592be-ea70-334c-ab55-8517dc7e2686
包含功能:
1,新浪微博的登录
2,获取新浪用户的头像、昵称、性别
3,分享图片、文字到新浪微博
工程结构图:
[img]
[/img]
主类:
Java代码
1.package com.amaker.sina;
2.
3.import java.io.ByteArrayInputStream;
4.import java.io.ByteArrayOutputStream;
5.import java.io.File;
6.import java.io.FileNotFoundException;
7.import java.io.FileOutputStream;
8.import java.io.IOException;
9.import java.io.InputStream;
10.import java.lang.ref.SoftReference;
11.import java.net.MalformedURLException;
12.import java.net.URL;
13.import java.net.URLConnection;
14.import java.util.HashMap;
15.
16.import org.json.JSONObject;
17.
18.import com.weibo.net.AccessToken;
19.import com.weibo.net.AsyncWeiboRunner;
20.import com.weibo.net.DialogError;
21.import com.weibo.net.Utility;
22.import com.weibo.net.Weibo;
23.import com.weibo.net.WeiboDialogListener;
24.import com.weibo.net.WeiboException;
25.import com.weibo.net.WeiboParameters;
26.import com.weibo.net.AsyncWeiboRunner.RequestListener;
27.import com.weibo.util.Authorize;
28.import android.app.Activity;
29.import android.content.Intent;
30.import android.graphics.Bitmap;
31.import android.graphics.BitmapFactory;
32.import android.graphics.Bitmap.CompressFormat;
33.import android.graphics.drawable.BitmapDrawable;
34.import android.graphics.drawable.Drawable;
35.import android.os.Bundle;
36.import android.os.Environment;
37.import android.os.Handler;
38.import android.os.Message;
39.import android.text.TextUtils;
40.import android.util.Log;
41.import android.view.View;
42.import android.view.View.OnClickListener;
43.import android.widget.Button;
44.import android.widget.ImageView;
45.import android.widget.TextView;
46.import android.widget.Toast;
47.
48.public class SinaLoginActivity extends Activity implements RequestListener {
49. public static final String SAVE_PIC_PATH =
50. Environment.getExternalStorageDirectory() + "/meilijie/imgs/";
51. private HashMap<String, SoftReference<Drawable>> imageCache = new HashMap<String, SoftReference<Drawable>>();
52. private Button btn_login;
53. private Button btn_save;
54. private Button btn_share;
55. private ImageView img_sina;
56. private TextView txt_sina;
57. private TextView txt_sex;
58. private String uid;
59. private String pic_url = "http://img.imeilijie.com/type/bag/tid/235114.jpg";
60.
61.
62. @Override
63. public void onCreate(Bundle savedInstanceState) {
64. super.onCreate(savedInstanceState);
65. setContentView(R.layout.main);
66. init();
67. //登陆新浪微博
68. btn_login.setOnClickListener(new OnClickListener() {
69. @Override
70. public void onClick(View v) {
71.
72. LoginSina();
73.
74. }
75. });
76. //保存一张图片到SD卡
77. btn_save.setOnClickListener(new OnClickListener() {
78. @Override
79. public void onClick(View v) {
80.
81. Intent intent = new Intent(SinaLoginActivity.this,SavePictureActivity.class);
82. startActivity(intent);
83. }
84. });
85. //分享图片到新浪微博
86. btn_share.setOnClickListener(new OnClickListener() {
87. @Override
88. public void onClick(View v) {
89.
90. ShareToSina();
91.
92. }
93. });
94.
95. }
96.
97. // 初始化控件
98. public void init() {
99. btn_login = (Button) findViewById(R.id.btn_login);
100. btn_save = (Button) findViewById(R.id.btn_save);
101. btn_share = (Button) findViewById(R.id.btn_share);
102. img_sina = (ImageView) findViewById(R.id.img_sina);
103. txt_sina = (TextView) findViewById(R.id.txt_sina);
104. txt_sex = (TextView) findViewById(R.id.txt_sex);
105. }
106.
107. public void LoginSina() {
108. // Oauth2.0
109. // 隐式授权认证方式
110. // 获取微博实体类,传入appKey,appSecert,callback_url
111. Weibo weibo = Weibo.getInstance();
112. weibo.setupConsumerConfig(Authorize.CONSUMER_KEY,
113. Authorize.CONSUMER_SECRET);
114.
115. // 此处回调页内容应该替换为与appKey对应的应用回调页
116. weibo.setRedirectUrl("http://www.meilijie.com");
117. // 对应的应用回调页可在开发者登陆新浪微博开发平台之后,
118. // 进入我的应用--应用详情--应用信息--高级信息--授权设置--应用回调页进行设置和查看,
119. // 应用回调页不可为空
120.
121. // 启动认证
122. weibo.authorize(SinaLoginActivity.this, new AuthDialogListener());
123. }
124.
125. // 用于新浪登录
126. class AuthDialogListener implements WeiboDialogListener {
127. public void onComplete(Bundle values) {
128. String token = values.getString("access_token");
129. String expires_in = values.getString("expires_in");
130. AccessToken accessToken = new AccessToken(token,
131. Authorize.CONSUMER_SECRET);
132. accessToken.setExpiresIn(expires_in);
133. Weibo.getInstance().setAccessToken(accessToken);
134. uid = values.getString("uid");
135.
136. try {
137. getCounts(Weibo.getInstance());
138. } catch (Exception e) {
139. e.printStackTrace();
140. }
141. /*
142. * Intent intent = new Intent(MainActivity.this,SinaActivity.class);
143. * intent.putExtra("uid", uid + ""); startActivity(intent);
144. */
145. }
146.
147. public void onError(DialogError e) {
148. Toast.makeText(getApplicationContext(),
149. "Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
150. }
151.
152. public void onCancel() {
153. Toast.makeText(getApplicationContext(), "Auth cancel",
154. Toast.LENGTH_LONG).show();
155. }
156.
157. public void onWeiboException(WeiboException e) {
158. Toast.makeText(getApplicationContext(),
159. "Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
160. .show();
161. }
162. }
163.
164. // 新浪登录 获取用户资料
165. public String getCounts(Weibo weibo) throws Exception {
166. String url = Weibo.SERVER + "users/show.json";
167. WeiboParameters bundle = new WeiboParameters();
168. bundle.add("source", Weibo.getAppKey());
169. bundle.add("uid", uid);
170.
171. String rlt = weibo.request(this, url, bundle, "GET", weibo
172. .getAccessToken());
173.
174. JSONObject jsonObject = new JSONObject(rlt);
175. String name = jsonObject.getString("screen_name");
176. String pic = jsonObject.getString("profile_image_url");
177. String gender = jsonObject.getString("gender");
178. String sex;
179. if (gender.equalsIgnoreCase("m")) {
180. sex = "男";
181. } else if (gender.equalsIgnoreCase("f")) {
182. sex = "女";
183. } else {
184. sex = "未知";
185. }
186. Bitmap bitmap = Authorize.returnBitMap(pic);
187. img_sina.setImageBitmap(bitmap);
188. txt_sina.setText("用户名:" + name);
189. txt_sex.setText(" 性别:" + sex);
190. return rlt;
191. }
192. //新浪分享
193. public void ShareToSina(){
194. File file = Environment.getExternalStorageDirectory();
195. String sdPath = file.getAbsolutePath();
196. // 请保证SD卡根目录下有这张图片文件
197. String picPath = sdPath + "/meilijie/imgs/" + "test.jpg";
198. Log.i("test", "picPath:" + picPath);
199. File picFile = new File(picPath);
200. if (!picFile.exists()) {
201. Toast.makeText(SinaLoginActivity.this, "图片" + picPath + "不存在!",
202. Toast.LENGTH_SHORT).show();
203. picPath = null;
204. }
205. try {
206. String mContent = "测试图片新浪微博分享===李彩娜" +pic_url;
207. Weibo weibo = Weibo.getInstance();
208.
209. upload(weibo, Weibo.getAppKey(), picPath, mContent, "", "");
210. } catch (WeiboException e) {
211. e.printStackTrace();
212. }
213.
214. }
215. //新浪分享
216. private String upload(Weibo weibo, String source, String file, String status,
217. String lon, String lat) throws WeiboException {
218. String url = Weibo.SERVER + "statuses/upload.json";
219. WeiboParameters bundle = new WeiboParameters();
220. bundle.add("source", source);
221. //要上传的图片,仅支持JPEG、GIF、PNG格式,图片大小小于5M。
222. bundle.add("pic", file);
223. //要发布的微博文本内容,必须做URLencode,内容不超过140个汉字。
224. bundle.add("status", status);
225. if (!TextUtils.isEmpty(lon)) {
226. bundle.add("lon", lon);
227. }
228. if (!TextUtils.isEmpty(lat)) {
229. bundle.add("lat", lat);
230. }
231. String rlt = "";
232. AsyncWeiboRunner weiboRunner = new AsyncWeiboRunner(weibo);
233. weiboRunner.request(this, url, bundle, Utility.HTTPMETHOD_POST, this);
234.
235. return rlt;
236. }
237.
238.
239. @Override
240. public void onComplete(String response) {
241. }
242.
243. @Override
244. public void onError(WeiboException e) {
245. }
246.
247. @Override
248. public void onIOException(IOException e) {
249. }
250.
251.
252.}
SinaLoginTest.zip (757.9 KB)
http://dl.iteye.com/topics/download/c6b592be-ea70-334c-ab55-8517dc7e2686
发表评论
-
移动签章资料
2014-05-11 22:06 0移动签章: http://oa.goldgrid.com:70 ... -
Android 之 快速开发框架 afinal
2014-02-20 17:15 1998http://www.oschina.net/p/afina ... -
android 之 PhoneGap+jQuery Mobile+Rest 访问远程数据
2014-02-16 01:54 2500http://www.apkbus.com/android- ... -
android 之 使用Dreamweaver 5.5 + JQuery + PhoneGap 开发手机应用程序(一)
2014-02-13 17:47 900http://bbs.phonegapcn.com/threa ... -
android 之 QVGA、WVGA、VGA、WQVGA、SQVGA等几种手机分辨率
2014-02-10 00:31 1085http://blog.csdn.net/johnny901 ... -
Android 之 实现推送方式解决方案
2014-02-10 00:12 23http://my.oschina.net/damihui ... -
android 之 服务器主动向手机端推送消息-windows下Androidpn环境搭建
2014-02-10 00:06 1273http://blog.csdn.net/attitudei ... -
android 之 Androidpn 消息推送总结
2014-02-09 23:51 1196http://www.cnblogs.com/sunzn/a ... -
android 之 专题
2013-12-06 17:48 1103百度地图 http://developer.baidu.com ... -
android 之 adb shell的使用
2013-12-06 17:45 1696[size=large]1,android list avd: ... -
Android 之 开发资源完全汇总
2013-11-27 21:05 933http://android.group.iteye.com ... -
android培训
2013-05-25 00:56 735android源码下载 http://rgruet.free ...
相关推荐
教程名称:Android平台新浪微博开发实战视频教程(10集)教程目录:【】Android项目_-6(上)【】Android项目_新浪微博-4(上)【】Android项目_新浪微博Android客户端开发ppt【】Android项目_新浪微博OAuth认证-4(下)...
基于Android的新浪微博系统开发01-开发概述 基于Android的新浪微博系统开发02-下载微博sdk 基于Android的新浪微博系统开发03-微博客户端主架构 基于Android的新浪微博系统开发04-微博客户端主架构 基于Android的新浪...
教程名称: 新浪微博Android版实例开发视频教程【】3G手机Android应用新浪微博:发布01-开发概述【】3G手机Android应用新浪微博:发布02-下载微博sdk【】3G手机Android应用新浪微博:发布03-微博客户端主架构【】3G...
【描述】:“新浪微博客户端 android平台新浪微博客户端 android平台新浪微博客户端 android平台新浪微博客户端 android平台新浪微博客户端 android平台” 描述中的重复内容强调了这是针对Android平台的新浪微博...
### Android开发新浪微博客户端知识点梳理 #### 一、项目概述与准备 - **开发背景与目的**:本项目旨在通过开发一款Android版新浪微博客户端,作为学习Android开发技能的实践案例。作者初涉Android开发领域,希望...
【标题】:“005基于安卓Android的新浪微博系统.rar”揭示了一个项目,旨在开发一个运行在Android平台上的新浪微博客户端应用。这个应用允许用户在移动设备上实现与新浪微博平台的交互,包括浏览、发布、转发微博,...
本项目聚焦于“基于Android的新浪微博项目开发”,旨在教你如何构建一个完整的微博客户端应用,实现用户登录、发布、浏览及互动等功能。以下是这个项目涉及到的关键知识点: 1. **Android SDK**:Android软件开发...
Android实现新浪微博那种样式的底部标签 Android实现新浪微博那种样式的底部标签 Android实现新浪微博那种样式的底部标签 亲 效果真滴灰常不错 不用不知道 一用吓一跳 放心 是惊喜 不是惊吓
Android 仿新浪微博加号弹出界面动画。
android新浪微博源码(应该是仿新浪微博吧)
本文将深入探讨如何在Android平台上使用新浪提供的API,特别是基于OAuth2.0授权机制的Android版新浪微博API。这个API允许开发者构建应用程序,与微博用户进行互动,包括发布和获取微博信息、管理用户关注关系、获取...
【Android 新浪微博客户端】 Android 新浪微博客户端是一款专为Android操作系统设计的应用程序,它允许用户在移动设备上轻松访问和交互微博平台。这款客户端集成了新浪微博的核心功能,包括发布和阅读微博、查看...
在Android平台上,实现新浪微博分享是一项常见的社交功能,它允许用户将内容快速地推送到自己的微博账号,以便与好友们分享信息、图片或者链接。本文将详细介绍如何在Android应用中集成新浪微博分享功能,包括授权...
这个项目"Android新浪微博完整例子"是一个很好的实践,可以帮助开发者深入理解Android应用开发的全貌,从用户交互到后端数据处理的每一个环节。通过学习和分析这个项目,开发者可以提升自己的技能,为未来更复杂的...
【Android最新版新浪微博】 在移动互联网时代,社交媒体平台如微博成为了人们日常获取信息、交流观点的重要渠道。Android版新浪微博作为一款专门为安卓用户设计的应用程序,它集成了多种功能,包括实时推送、信息...
在Android应用开发中,创建一个类似新浪微博的TabBar是一个常见的需求,这有助于提供多视图导航,提升用户体验。本文将详细介绍如何使用Android的TabHost和RadioButton来实现这一功能。 首先,`TabHost`是Android ...
android对接新浪微博实现登录发送微博
在Android平台上开发新浪微博客户端是一项常见的任务,涉及到许多关键的技术点和流程。本资源提供了一个完整的开发攻略和源码,帮助开发者深入理解并实践这一过程。以下是对这些知识点的详细阐述: 1. **Android ...
在本文中,我们将深入探讨如何使用Android平台进行新浪微博客户端的开发。这是一项涉及移动应用开发、网络通信以及用户界面设计的综合性任务。首先,我们来理解Android开发的基础知识。 Android是一种开源的操作...