Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨java类发送cookie值-Android_Java_Android_Cookies - Fatal编程技术网

跨java类发送cookie值-Android

跨java类发送cookie值-Android,java,android,cookies,Java,Android,Cookies,我想知道在android中如何将会话cookie的值从一个类发送到另一个类 这是我的Cookie活动,我想从中获取另一个类中Cookie的值: class MyCookieStore implements CookieStore { String TAG = "Cookie"; String cookie_object = null; /* * The memory storage of the cookies */ private Map<URI, List<HttpCook

我想知道在android中如何将会话cookie的值从一个类发送到另一个类

这是我的Cookie活动,我想从中获取另一个类中Cookie的值:

class MyCookieStore implements CookieStore {

String TAG = "Cookie";
String cookie_object = null;
/*
 * The memory storage of the cookies
 */
private Map<URI, List<HttpCookie>> mapCookies = new HashMap<URI, List<HttpCookie>>();
/*
 * The instance of the shared preferences
 */
private final SharedPreferences spePreferences;

/*
 * @see java.net.CookieStore#add(java.net.URI, java.net.HttpCookie)
 */
public void add(URI uri, HttpCookie cookie) {

    System.out.println("add");
    System.out.println(cookie.toString());

    List<HttpCookie> cookies = mapCookies.get(uri);
    if (cookies == null) {
        cookies = new ArrayList<HttpCookie>();
        mapCookies.put(uri, cookies);
    }
    cookies.add(cookie);

    SharedPreferences.Editor ediWriter = spePreferences.edit();
    HashSet<String> setCookies = new HashSet<String>();
    setCookies.add(cookie.toString());

    Log.d(TAG,cookie.toString());
    cookie_object = cookie.toString();
    Log.d("Cookie object",cookie_object);

    ediWriter.putStringSet(uri.toString(), spePreferences.getStringSet(uri.toString(), setCookies));
    ediWriter.commit();



}

/*
 * Constructor
 *
 * @param  ctxContext the context of the Activity
 */
@SuppressWarnings("unchecked")
public MyCookieStore(Context ctxContext) {

    spePreferences = ctxContext.getSharedPreferences("CookiePrefsFile", 0);
    Map<String, ?> prefsMap = spePreferences.getAll();

    for(Map.Entry<String, ?> entry : prefsMap.entrySet()) {

        for (String strCookie : (HashSet<String>) entry.getValue()) {

            if (!mapCookies.containsKey(entry.getKey())) {

                List<HttpCookie> lstCookies = new ArrayList<HttpCookie>();
                lstCookies.addAll(HttpCookie.parse(strCookie));

                try {

                    mapCookies.put(new URI(entry.getKey()), lstCookies);

                } catch (URISyntaxException e) {

                    e.printStackTrace();

                }

            } else {

                List<HttpCookie> lstCookies = mapCookies.get(entry.getKey());
                lstCookies.addAll(HttpCookie.parse(strCookie));

                try {

                    mapCookies.put(new URI(entry.getKey()), lstCookies);
                    Log.d(TAG, lstCookies.toString());

                } catch (URISyntaxException e) {

                    e.printStackTrace();

                }

            }

            System.out.println(entry.getKey() + ": " + strCookie);

        }

    }

}

/*
 * @see java.net.CookieStore#get(java.net.URI)
 */
public List<HttpCookie> get(URI uri) {

    List<HttpCookie> lstCookies = mapCookies.get(uri);

    if (lstCookies == null)
        mapCookies.put(uri, new ArrayList<HttpCookie>());

    return mapCookies.get(uri);

}

/*
 * @see java.net.CookieStore#removeAll()
 */
public boolean removeAll() {

    mapCookies.clear();
    return true;

}

/*
 * @see java.net.CookieStore#getCookies()
 */
public List<HttpCookie> getCookies() {

    Collection<List<HttpCookie>> values = mapCookies.values();

    List<HttpCookie> result = new ArrayList<HttpCookie>();
    for (List<HttpCookie> value : values) {
        result.addAll(value);
    }

    return result;

}

/*
 * @see java.net.CookieStore#getURIs()
 */
public List<URI> getURIs() {

    Set<URI> keys = mapCookies.keySet();
    return new ArrayList<URI>(keys);

}

/*
 * @see java.net.CookieStore#remove(java.net.URI, java.net.HttpCookie)
 */
public boolean remove(URI uri, HttpCookie cookie) {

    List<HttpCookie> lstCookies = mapCookies.get(uri);

    if (lstCookies == null)
        return false;

    return lstCookies.remove(cookie);

}

}
类MyCookieStore实现CookieStore{
String TAG=“Cookie”;
字符串cookie_object=null;
/*
*cookies的内存存储
*/
private Map mapCookies=新HashMap();
/*
*共享首选项的实例
*/
私人最终共享参考资料;
/*
*@see java.net.CookieStore#add(java.net.URI,java.net.HttpCookie)
*/
公共void添加(URI、HttpCookie cookie){
系统输出打印项次(“添加”);
System.out.println(cookie.toString());
List cookies=mapCookies.get(uri);
如果(cookies==null){
cookies=新的ArrayList();
mapCookies.put(uri,cookies);
}
添加(cookie);
SharedReferences.Editor ediWriter=spePreferences.edit();
HashSet setCookies=新HashSet();
setCookies.add(cookie.toString());
Log.d(标记,cookie.toString());
cookie_object=cookie.toString();
Log.d(“Cookie对象”,Cookie\u对象);
ediWriter.putStringSet(uri.toString(),spePreferences.getStringSet(uri.toString(),setCookies));
ediWriter.commit();
}
/*
*建造师
*
*@param ctxContext活动的上下文
*/
@抑制警告(“未选中”)
公共MyCookieStore(上下文ctxContext){
spePreferences=ctxContext.getSharedReferences(“CookiePrefsFile”,0);
Map prefsMap=spePreferences.getAll();
对于(Map.Entry:prefsMap.entrySet()){
for(String strCookie:(HashSet)entry.getValue()){
如果(!mapCookies.containsKey(entry.getKey())){
List lstCookies=newarraylist();
addAll(HttpCookie.parse(strCookie));
试一试{
put(新URI(entry.getKey()),lstCookies);
}捕获(URISyntaxException e){
e、 printStackTrace();
}
}否则{
List lstCookies=mapCookies.get(entry.getKey());
addAll(HttpCookie.parse(strCookie));
试一试{
put(新URI(entry.getKey()),lstCookies);
Log.d(标记,lstCookies.toString());
}捕获(URISyntaxException e){
e、 printStackTrace();
}
}
System.out.println(entry.getKey()+“:”+strCookie);
}
}
}
/*
*@see java.net.CookieStore#get(java.net.URI)
*/
公共列表获取(URI){
List lstCookies=mapCookies.get(uri);
if(lstCookies==null)
put(uri,newArrayList());
返回mapCookies.get(uri);
}
/*
*@see java.net.CookieStore#removeAll()
*/
公共布尔removeAll(){
mapCookies.clear();
返回true;
}
/*
*@see java.net.CookieStore#getCookies()
*/
公共列表getCookies(){
集合值=mapCookies.values();
列表结果=新建ArrayList();
用于(列表值:值){
结果:addAll(值);
}
返回结果;
}
/*
*@see java.net.CookieStore#getURIs()
*/
公共列表getURIs(){
Set keys=mapCookies.keySet();
返回新的ArrayList(键);
}
/*
*@see java.net.CookieStore#remove(java.net.URI,java.net.HttpCookie)
*/
公共布尔删除(URI,HttpCookie cookie){
List lstCookies=mapCookies.get(uri);
if(lstCookies==null)
返回false;
返回并删除(cookie);
}
}

我想知道如何将cookie.toString()导出到android应用程序中的另一个java类

那看起来不像是活动课。如果您只是想向另一个活动发送一些字符串数据,您可以创建一个捆绑包来保存数据,并通过一个Intent将捆绑包传递给新活动。这不是活动类。它只是一个java类。这就是无法使用捆绑包和意图的原因。是否要将数据发送回您正在调用的活动..?不,我不想。我只想将数据发送到另一个类。