介绍
如何在android中对饼干进行读写?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
读取饼干:
试一试 ,,,{ ,,,,DefaultHttpClient httpclient =, new DefaultHttpClient (); ,,,,HttpGet HttpGet =, new HttpGet (“http://www.hlovey.com"); ,,,,HttpResponse response =, httpclient.execute (httpget); ,,,,HttpEntity entity =, response.getEntity (); ,,,,List, cookies =, httpclient.getCookieStore () .getCookies (); ,,,,if (entity !=, null), { ,,,,,,entity.consumeContent (); ,,,,} ,,,, ,,,,if (cookies.isEmpty ()), { ,,,,,Log.i(标签,,“NONE"); ,,,,},{else ,,,,,,for (int 小姐:=,0;,小姐:,lt;, cookies.size();,我+ +),{,,,,,, ,,,,,,,Log.i(标签,“安康;domain “, +, cookies.get (i) .getDomain ()); ,,,,,,,Log.i(标签,“安康;path “, +, cookies.get (i) .getPath ()); ,,,,,,,Log.i(标签,“安康;value “, +, cookies.get (i) .getValue ()); ,,,,,,,Log.i(标签,“安康;name “, +, cookies.get (i) . getname ()); ,,,,,,,Log.i(标签,“安康;port “, +, cookies.get (i) .getPorts ()); ,,,,,,,Log.i(标签,“安康;comment “, +, cookies.get (i) .getComment ()); ,,,,,,,Log.i(标签,“安康;commenturl", +, cookies.get (i) .getCommentURL ()); ,,,,,,,Log.i(标签,“安康;all “, +, cookies.get (i) .toString ()); ,,,,,,} ,,,,} ,,,,httpclient.getConnectionManager () .shutdown (); ,,,, ,,,}捕捉(Exception e) { ,,,//Todo 最后,,,}{ ,,,//Todo ,,,, ,,,}
通过分析com.android。浏览器的源码,发现android默认的浏览器增加饼干是在数据库中增加记录,和窗口不同,赢是采用一个txt文本文件的形式来存储饼干。而android是将饼干存储在数据库中,具体的介绍在《android饼干存储位置》一文中有介绍。我们都知道,android每个应用程序的存储空间都是独立的。不管使用偏好还是数据库存储,都会在每个/数据/数据/包名称/下面进行存储(偏好存储在/数据/数据/包名称/shared_prefs/xxxx。xml)。前面也说到饼干是存在数据库中,那么如果采用非浏览器访问网络需要保留饼干的话我们就应该在数据库中建立cookie表,并且存入相应的饼干数据。仿照默认浏览器的代码:
/* *声明一些数据库操作的常量*/,private static  SQLiteDatabase mDatabase =,空; ,private static  final String  DATABASE_FILE =,“webview.db"; ,private static  final String  COOKIES_NAME_COL =,“name"; ,private static  final String  COOKIES_VALUE_COL =,“value"; ,private static  final String  COOKIES_DOMAIN_COL =,“domain"; ,private static  final String  COOKIES_PATH_COL =,“path"; ,private static  final String  COOKIES_EXPIRES_COL =,“expires"; ,private static  final String  COOKIES_SECURE_COL =,“secure"; 时间=mDatabase LoginApiActivity.this.openOrCreateDatabase (DATABASE_FILE, 0,, null);//创建饼干数据库 if 才能;(mDatabase !=, null), { ,,//cookie ,,mDatabase.execSQL (“CREATE  TABLE IF NOT EXISTS cookies “ ,,,,,,+,“,(_id INTEGER  PRIMARY 关键,,, ,,,,,,+,COOKIES_NAME_COL +,,,,,,, + COOKIES_VALUE_COL ,,,,,,和,,,,,,,+,COOKIES_DOMAIN_COL +,,,,,, ,,,,,,+,COOKIES_PATH_COL +,,,,,,, + COOKIES_EXPIRES_COL ,,,,,,+,“,整数,,,,+,COOKIES_SECURE_COL +,“, INTEGER", +,“);“); null null null null null null null null null null null null null null null null null null null null null null null如何在android中对饼干进行读写