아 이게 몇일째인지 모르겠네요 ㅠㅠ 도움받고 받고 받아서~ 여기까지 왔는데 잘된건지 잘못된건지도 모르겠고. 도움요청합니다~


제가 원하는건 로그인유지와 걍 로그인을 하는건데요  무슨 말이냐 하면..
액티비티로 아이디 패스워드 입력 로그인 버튼누름 -> 웹싸이트접속 그다음 쿠키만 저장하고 이저장된 쿠키를 쿠키매니저로 등록후 -> loadurl로 웹싸이트에 접속을 해서 웹뷰에 뿌리면(로그인된 화면) 마치 액티비티로그인을 통해서 로그인 된 것처럼 보이겠죠? 

즉 액티비티에 의한 로그인을 만들려고 합니다 물론 나중에는 로그인 구현할꺼구요

초보라서 이곳저곳 구해서 조합을 했긴했는데 맞는지 모르겠네요..ㅠ 제가 원하는 소스는 없더라 구요.. 검토 부탁드려요~

* login_page.xml : 로그인 화면
* tab1 : login_page.xml에 입력값을 받고 httpclient를 통해 접속후 쿠키값을 얻음, 쿠키값을 얻은후 쿠키매니저에 넣음. 그후 tab2를 바로 연다..

* tab2는: 웹뷰와 loadurl(http://192.168.0.0)만 구현되있음. 즉 tab2액티비티를 바로 실행하면 loadurl에 적힌 싸이트로 바로 이동하게되있음.
-----------------------------------------------------------------------------------------------------------------



--- tab1.java

package com.tabhostbottom;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;

public class Tab1 extends Activity 
{
public static WebView webview;
public HttpClient httpclient =  new DefaultHttpClient();  //멤버변수로 선언
public CookieManager cookieManager;
public String domain = "http://192.168.0.0";
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_page);
        
        CookieSyncManager.createInstance(this);
        cookieManager = CookieManager.getInstance();
        CookieSyncManager.getInstance().startSync();
    }
    public void onResume() 
    {
        super.onResume();
        CookieSyncManager.getInstance().startSync();
    }

public void onPause() {
        super.onPause();
        
        if (CookieSyncManager.getInstance() != null) {
        CookieSyncManager.getInstance().stopSync();
        }
}
protected void onDestroy() {
        super.onDestroy();
        
        if (cookieManager != null) {
        cookieManager.removeAllCookie();
        }
}
public void setSyncCookie() {
        Log.e("surosuro", "token transfer start ---------------------------");
        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("id", "idtest"));// 넘길 파라메터 값셋팅token=TEST
            nameValuePairs.add(new BasicNameValuePair("pw", "8888"));// 넘길 파라메터 값셋팅token=TEST
            
            
            HttpParams params = new BasicHttpParams();
            
            HttpPost post = new HttpPost(domain+"/androidToken.jsp");
            post.setParams(params);
            HttpResponse response = null;
            
            BasicResponseHandler myHandler = new BasicResponseHandler();
            String endResult = null;

            try {
                post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }

            try {
                response = httpclient.execute(post);
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            try {
                endResult = myHandler.handleResponse(response);
            } catch (HttpResponseException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            List<Cookie> cookies = ((DefaultHttpClient)httpclient).getCookieStore().getCookies();
            
            if (!cookies.isEmpty()) {
                for (int i = 0; i < cookies.size(); i++) {
                    // cookie = cookies.get(i);
                    String cookieString = cookies.get(i).getName() + "="
                            + cookies.get(i).getValue();
                    Log.e("surosuro", cookieString);
                    cookieManager.setCookie(domain, cookieString);
                }
            }
            Thread.sleep(500);
        } catch (Exception ex) 
        
        {
            ex.printStackTrace();
        }
    }
}
-------- tab2.java
package com.tabhostbottom;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.Toast;
import android.graphics.Bitmap;

public class Tab2 extends Activity 
{
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
    WebView webview;
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.good);

        webview=new WebView(this);
        webview.setWebViewClient(new WebViewClient());
        setContentView(webview);
        WebSettings set = webview.getSettings();
        set.setJavaScriptEnabled(true);
/*        set.setBuiltInZoomControls(true);*/
        webview.loadUrl("http://192.168.0.0);
     
}

------ login_page.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <TextView android:id="@+id/welcome_text"
    android:text = "Welcome to My Application!n"
    android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
    />

    <TextView android:id="@+id/username_text"
    android:text = "username:"
    android:layout_centerHorizontal="true"
    android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/welcome_text"
    />

    <EditText android:id="@+id/txt_username"
              android:layout_height="wrap_content"
              android:layout_width="250px"
              android:layout_centerHorizontal="true"
              android:layout_below="@+id/username_text"
              android:singleLine="true" /> 

    <TextView android:id="@+id/password_text"
    android:text = "password:"
    android:layout_centerHorizontal="true"
    android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txt_username"
    />

    <EditText android:id="@+id/txt_password"
     android:password="true"
              android:layout_height="wrap_content"
              android:layout_width="250px"
              android:layout_centerHorizontal="true"
              android:layout_below="@+id/password_text"
              android:singleLine="true" /> 

<Button android:id="@+id/login_button"
android:text="Login!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/txt_password"
/>

</RelativeLayout>