2013-03-27 1 views
-1

방금 ​​누군가가 안드로이드 응용 프로그램에서 http 요청을 수행하는 방법을 설명하는 자습서를 발견했습니다. 이제 쿠키를 저장해야합니다. PersistentCookieStore myCookieStore = new PersistentCookieStore(this)으로 표시되었지만 public으로 처리해야하므로 this이 작동하지 않습니다./ 이 대신 작성해야 할 사람이 있습니까?Android Java는 http 요청의 쿠키를 저장합니다.

감사 필

PS : 튜토리얼은 여기 : http://loopj.com/android-async-http/

답변

0

튜토리얼에 따르면, PersistentCookieStore 인수로 "콘텍스트"를 필요로한다. PersistentCookieStore (YourActivity.isis) 또는 PersistentCookieStore (getApplicationContext())를 수행 할 수 있습니다. (YourActivity는 활동 제목입니다.) 희망이 도움이됩니다.

감사합니다.

다음은 간단한 예입니다.

package com.example.fixit; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import com.loopj.android.http.*; 
import android.util.Log; 
public class MainActivity extends Activity { 
    private static String TAG="MainActivity"; 
    private PersistentCookieStore myCookieStore; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    AsyncHttpClient client = new AsyncHttpClient(); 
    myCookieStore = new PersistentCookieStore(this); 
    client.setCookieStore(myCookieStore); 
    client.get("http://www.google.com", new AsyncHttpResponseHandler() { 
     @Override 
     public void onSuccess(String response) { 
      Log.i(TAG, response); 
     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 
} 
+0

흠, 그래서 내가'시도 그것을 나던 작업을 MainActivity.this'but MainActivity.java에서 오전 : '타입 MainActivity의 어떠한 둘러싸는 인스턴스가'getApplicationContext()'가 나던 작업과 scope'and에 액세스 할 수 없습니다 다음 중 하나 :'ContextWrapper 유형에서 getApplicationContext() 비 정적 메소드에 대한 정적 참조를 만들 수 없습니다 :/ – Phil

+0

코드를 게시하면 도움이 될 수 있습니다. 또는 메서드 시그니처에서 "정적"키워드를 제거하고 getApplicationContext가 작동해야합니다. – pt2121

+0

이것은 주 활동'public class MainActivity extends Activity의 시작 부분입니다. { \t AsyncHttpClient client = new AsyncHttpClient(); \t PersistentCookieStore myCookieStore = 새로운 PersistentCookieStore (getApplicationContext());'시작할 때 완전히 충돌합니다./ – Phil