webview 는 로그 인 정 보 를 자동 으로 저장 하 는 방법 에 대한 자세 한 정 보 를 저장 합 니 다.
13687 단어 webView
GridView 레이아웃 과 인터페이스 에 대한 점프http://www.eoeandroid.com/thread-201252-1-1.html
안 드 로 이 드 폭포 흐름 로 딩 이미지 효과 인 스 턴 스http://www.eoeandroid.com/thread-176638-1-1.html
이것 은 사용자 이름 비밀번호 로그 인 인증 후 세 션 저장
// URL
HttpPost httppost = new HttpPost(Constants.ServerUrl.WEB_URL + url);
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
// Your DATA
nameValuePairs.add(new BasicNameValuePair("UserName", map
.get("UserName")));
nameValuePairs.add(new BasicNameValuePair("Password", map
.get("Password")));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response;
response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() == 200) {
//
String result = EntityUtils.toString(response.getEntity());
// SharedPreferences preferences = context.getSharedPreferences(
// "login", Context.MODE_PRIVATE);
// Editor editor = preferences.edit();
// String handlers = "";
String cookie = "";
Date sessionTime = new Date();
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (!cookies.isEmpty()) {
for (int i = 0; i < cookies.size(); i++) {
cookie = cookies.get(i).getName() + "="
+ cookies.get(i).getValue() + ";domain="
+ cookies.get(i).getDomain();
;
sessionTime = cookies.get(i).getExpiryDate();
}
}
// session
PersistentConfig config = new PersistentConfig(context);
config.setCookie(cookie);
config.setSessionTime(sessionTime.getTime());
// for (int i = 0; i < response.getAllHeaders().length; i++) {
// if (response.getAllHeaders()<i>.toString().contains(
// "set-cookie")) {
// handlers += response.getAllHeaders()<i>.toString();
// break;
// }
// }
//
// editor.putString("cookies",
// response.getHeaders("Set-Cookie")[0].toString());
// editor.commit();
return result;
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}</i></i>
웹 뷰 요청 사이트 에서 Session 을 사용 하 는 방법
//webview
main_view = (WebView) findViewById(R.id.main_webview);
new WebViewTask().execute();
private class WebViewTask extends AsyncTask<Void, Void, Boolean> {
String sessionCookie;
CookieManager cookieManager;
@Override
protected void onPreExecute() {
CookieSyncManager.createInstance(MainActivity.this);
cookieManager = CookieManager.getInstance();
sessionCookie = new PersistentConfig(getApplicationContext())
.getCookieString();
if (sessionCookie != null) {
// delete old cookies
cookieManager.removeSessionCookie();
}
super.onPreExecute();
}
protected Boolean doInBackground(Void... param) {
// this is very important - THIS IS THE HACK
SystemClock.sleep(1000);
return false;
}
@Override
protected void onPostExecute(Boolean result) {
if (sessionCookie != null) {
cookieManager.setCookie(Constants.ServerUrl.WEB_URL,
sessionCookie);
CookieSyncManager.getInstance().sync();
}
main_view.setScrollbarFadingEnabled(true);
main_view.getSettings().setPluginsEnabled(true);
main_view.getSettings().setPluginState(PluginState.ON);
main_view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
WebSettings webSettings = main_view.getSettings();
webSettings.setJavaScriptEnabled(true);
//
webSettings.setAllowFileAccess(true);
//
webSettings.setBuiltInZoomControls(true);
main_view.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public void onLoadResource(WebView view, String url) {
// history();
}
});
main_view.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//Change
}
});
ShowUrlView(Constants.ServerUrl.INDEX);
}
}
이렇게 하면 페이지 를 새로 고 칠 때마다 session 을 가지 고 사용자 정 보 를 저장 하려 면 옛날 방법 인 Shared Preferences 를 요청 할 수 있 습 니 다.
링크
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
DatePicker를 스피너 지정해도 캘린더 부분이 사라지지 않는다 (Tablet 단말 전용?)에뮬레이터 및 실제 기기에서 검증 (API 28 이상) html을 WebView로 표시 (Chrome for android) DatePicker를 스피너 만 표시하고 싶었습니다. 결과적으로 스피너 만의 표시를 포기하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.