package com.example.xiangmu_sinaweibob;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.params.HttpParams;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import org.json.JSONObject;import com.example.HTTP.DjHttpManager;import android.annotation.SuppressLint;import android.annotation.TargetApi;import android.app.Activity;import android.content.SharedPreferences;import android.os.Build;import android.os.Bundle;import android.os.StrictMode;import android.os.StrictMode.ThreadPolicy;import android.webkit.WebView;import android.webkit.WebViewClient;@TargetApi(Build.VERSION_CODES.GINGERBREAD)@SuppressLint("NewApi")public class DjOauth extends Activity{private WebView webView;private String url1 = "https://api.weibo.com/oauth2/authorize?client_id=3171700220&redirect_uri=http://www.eastmoney.com&display=mobile";private   String accessToken ="https://api.weibo.com/oauth2/access_token";public String accessTokenString;public Runnable downRunnable;//private String accessToken = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionDataset";@SuppressLint("NewApi")@TargetApi(Build.VERSION_CODES.GINGERBREAD)@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubStrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()        .detectDiskReads()        .detectDiskWrites()        .detectNetwork()   // or .detectAll() for all detectable problems        .penaltyLog()        .build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()        .detectLeakedSqlLiteObjects()        .detectLeakedClosableObjects()        .penaltyLog()        .penaltyDeath()        .build());super.onCreate(savedInstanceState);setContentView(R.layout.djoauth);webView = (WebView) findViewById(R.id.webView1);webView.getSettings().setJavaScriptEnabled(true);webView.getSettings().setBuiltInZoomControls(true);webView.setWebViewClient(new WebViewClient(){@Overridepublic void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubsuper.onPageFinished(view, url);if (url.contains("code=")) {String codeStrA[] = url.split("=");System.out.println(codeStrA[1]);accessTokenString = codeStrA[1];System.out.println("accessTokenString");getAccessToken(accessTokenString);}}});webView.loadUrl(url1);}public void getAccessToken(String codeStrA) {HttpPost httpPost = new HttpPost(accessToken);System.out.println("ffffffa");List paramsList = new ArrayList();paramsList.add(new BasicNameValuePair("client_id", "3171700220"));paramsList.add(new BasicNameValuePair("client_secret", "a49a7e4ea295e1d4d93eee7cc517c1dc"));paramsList.add(new BasicNameValuePair("grant_type", "authorization_code"));paramsList.add(new BasicNameValuePair("code", codeStrA));System.out.println(codeStrA);paramsList.add(new BasicNameValuePair("redirect_uri", "http://www.eastmoney.com"));try {httpPost.setEntity(new UrlEncodedFormEntity(paramsList,HTTP.UTF_8));Thread.sleep(1000);HttpResponse httpResponse  = new DefaultHttpClient().execute(httpPost);if (httpResponse.getStatusLine().getStatusCode() == 200) {String resulString = EntityUtils.toString(httpResponse.getEntity());System.out.println("resulString="+resulString);//将access_token的值从返回的jSOn数据中取出JSONObject jsonObject = new JSONObject(resulString);String access_tokenStr = jsonObject.getString("access_token");SharedPreferences sharedPreferences = getSharedPreferences("userInfo", MainActivity.MODE_PRIVATE);SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("access_token", access_tokenStr);editor.commit();System.out.println(access_tokenStr);DjHttpManager djHttpManager = new DjHttpManager();djHttpManager.getUserAttentionWeibo(access_tokenStr);}} catch (Exception e) {// TODO: handle exceptionSystem.out.println("e.toString() = "+e.toString());}}}


更多相关文章

  1. Android数据库SQLite基础
  2. android 页面跳转,数据回传
  3. Android(安卓)TelephonyManager类的介绍
  4. SharedPreferences在多进程中的使用的问题
  5. Android曲线图,柱状图,饼图
  6. 寒假练习一
  7. Android(安卓)Retrofit2网路编程实现方法详解
  8. Android: 渠道号获取
  9. Android中SharedPreference多进程数据共享出错

随机推荐

  1. android:clipChildren属性的分析——是否
  2. Android(安卓)drawableleft如何设置图片
  3. ArcGIS Runtime SDK for Android(安卓)10
  4. Android(安卓)studio gradle 无法获取 po
  5. BNR Android(安卓)Demo学习笔记(一)——Cri
  6. Android(安卓)的布局
  7. Android(安卓)动态添加View
  8. UICC
  9. android jni打印log
  10. Android(安卓)selector下的属性值