webview 는 로그 인 정 보 를 자동 으로 저장 하 는 방법 에 대한 자세 한 정 보 를 저장 합 니 다.

13687 단어 webView
Linux 에서 Android 시 뮬 레이 터 에 SD 카드 를 사용 합 니 다http://www.eoeandroid.com/thread-201250-1-1.html
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 를 요청 할 수 있 습 니 다.
링크
 

좋은 웹페이지 즐겨찾기