2016-09-14 3 views
-1

Ich versuche, eine Post-Verbindung mit einigen Parametern zu machen, und ich möchte ein Token ich auf gemeinsame Präferenz gespeichert anhängen und es als eine Autorisierungsheader anhängen Im, ein neues werden, finden Sie weiter unten meinen CodeWie Autorisierung Header auf Android, Token ist auf gemeinsame Präferenz gespeichert

JSON-Parser Klasse

public class JSONParser {

static InputStream is = null; 
static JSONObject jObj = null; 
static String json = ""; 
static int statusCode ; 
// constructor 
public JSONParser() { 

} 
public int getStatusCode(){ 
    return statusCode; 
} 




// function get json from url 
// by making HTTP POST or GET mehtod 
public JSONObject makeHttpRequest(String url, String method, 
     List<NameValuePair> params) { 



    // Making HTTP request 
    try { 

     // check for request method 
     if(method == "POST"){ 


      // request method is POST 
      // defaultHttpClient 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 
      httpPost.setEntity(new UrlEncodedFormEntity(params)); 

      HttpResponse httpResponse = httpClient.execute(httpPost); 

      HttpEntity httpEntity = httpResponse.getEntity(); 
      is = httpEntity.getContent(); 
      statusCode = httpResponse.getStatusLine().getStatusCode(); 


     }else if(method == "GET"){ 
      // request method is GET 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      String paramString = URLEncodedUtils.format(params, "utf-8"); 
      url += "?" + paramString; 
      HttpGet httpGet = new HttpGet(url); 

      HttpResponse httpResponse = httpClient.execute(httpGet); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      is = httpEntity.getContent(); 
      statusCode = httpResponse.getStatusLine().getStatusCode(); 
     }   

    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    try { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8), 8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     is.close(); 
     json = sb.toString(); 
    } catch (Exception e) { 
     Log.e("Buffer Error", "Error converting result " + e.toString()); 
    } 

    // try parse the string to a JSON object 
    try { 
     jObj = new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1)); 
    } catch (JSONException e) { 
     Log.e("JSON Parser", "Error parsing data [" + e.getMessage()+"] "+json); 
    } 

    // return JSON String 
    return jObj; 

} 

MainActivity Klasse

Klasse MainActivity erstreckt AsyncTask {

final String email = editTextEmail.getText().toString(); 
    final String name = editUser_name.getText().toString(); 
    final String phone = mPhoneEdit.getText().toString(); 
    String image = getStringImage(bitmap); 
    final String gen = gender; 
    final String dob = dateOfBirth.getText().toString(); 
    final String industry = in; 
    final String school = sc; 

// Fetching Token aus dem gemeinsamen Vorl SharedPreferences sharedPreferences = getSharedPreferences (Config.SHARED_PREF_NAME, Context.MODE_PRIVATE); Zeichenfolge token = sharedPreferences.getString (Config.TOKEN_SHARED_PREF, "");

Die Frage ist, wie füge ich das Token als eine Autorisierung Header während der Herstellung der Post-Verbindung? Vielen Dank im Voraus

Antwort

0

Hey für die

String accessToken = "Bearer " + MyPreference.getString(context, "access_token"); 
httppost.setHeader("Authorization", "Bearer "+accessToken); 

Hoffe, dass es Ihnen helfen, unter Codezeile hinzuzufügen.

+0

Ja, es funktioniert. Danke, Mann. ich schätze – Skills

Verwandte Themen