android程序的相关问题记录(一键发送“说说”新浪微博,QQ空间等社交媒体)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">本人由于在本学期选修了Android课程,所以在学期末要设计一个Android的小应用,我因为在生活中发现我有的同学会把同样的“说说”发送到人人,QQ空间,新浪微博,微信朋友圈上面。问过他们,他们都表示是“一个一个发的”,作为程序猿,天生就是为了偷懒,这怎么可以偷懒!!!所以我就想到正好利用这学期的Android课程,就实现一下我的这个想法,把我们要说的话通过我写的App一键发送到各种社交媒体,因为各社交媒体现在都有了供开发者使用的API,所以现在使用还是很方便的。但是在具体的实施过程中,我还是遇到了一些问题。目前为止,我只实现了sina的发送微博功能,其他的等以后有时间就写。现在把一些问题记下来,方便以后查询,也防止自己忘掉:</span>

1.关于新浪的开发者文档《微博Android平台SDK文档V3.0.0.pdf》

,警察蜀黍就他,看到没有,就是他,耽误了我很多时间。作为官方文档,你居然有很多类、方法居然木有用!新浪你这么粗心你知道吗?!你让我很揪心你知道吗?

2.就发送微博来说,我写了一个函数sendWibo(View view),这只是一个测试的函数,用作图片的onClick事件,我们在使用时可以把它替换成sendWeibo(String str),这个函数供大家参考吧。

public void sendWeibo(View view) {
		try {
			String string = "陈";
			// 组织post参数
			List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
			params.add(new BasicNameValuePair("status", string));
			params.add(new BasicNameValuePair("access_token", mAccessToken
					.getToken()));

			final HttpClient httpClient = new DefaultHttpClient();

			// 传入post方法的请求地址,即发送微博的api接口
			final HttpPost postMethod = new HttpPost(
					"https://api.weibo.com/2/statuses/update.json");
			postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8"));
			new Thread(new Runnable() {

				@Override
				public void run() {
					// TODO Auto-generated method stub
					HttpResponse httpResponse;
					try {
						httpResponse = httpClient.execute(postMethod);
						String resultStr = EntityUtils.toString(httpResponse
								.getEntity());
						Log.e(TAG, resultStr);

						// 从json字符串中建立JSONObject
						JSONObject resultJson;
						try {
							resultJson = new JSONObject(resultStr);
							if (resultJson.has("error")) {

							} else {

							}
						} catch (JSONException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}

						// 如果发送微博失败的话,返回字段中有"error"字段,通过判断是否存在该字段即可知道是否发送成功

					} catch (ClientProtocolException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}

					// 将返回结果转为字符串,通过文档可知返回结果为json字符串,结构请参考文档

				}

			}).start();

		} catch (Exception e) {
			AlertDialog.Builder build = new AlertDialog.Builder(this);
			AlertDialog dialog = build.create();
			dialog.setTitle(e.getMessage());
			dialog.show();
		}
	}
我们可以看到,官方提供的方法是:

我的亲爹呀,您提供的statusAPI=new StatusesAPI(acessToken);我发现木有用啊(如果是我错的话,原谅我的无知),无奈到网上搜了一下,才发现用Http是可以的,感谢那位大神给我指明了方向。

好啦,今天就写到这了,以后再补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值