2012-07-23 13 views
13

मैंने सफलतापूर्वक एक लॉगिन फॉर्म विकसित किया। लेकिन अब मैं सत्र का प्रबंधन करने में सक्षम नहीं हूं ... मैंने भी अधिक सत्र अवधारणाओं को पढ़ा है। लेकिन मैं इसे नहीं कर सकता। कृपया मुझे विस्तार से समझाएं। यह मेरा कोड है। कृपया यहां सहायता करें कि मैं यहां सत्र भाग का उपयोग कैसे कर सकता हूं।मैं एंड्रॉइड लॉगिन/लॉगआउट में सत्र कैसे प्रबंधित कर सकता हूं?

यह मेरा कोडिंग हिस्सा है:

package com.androidlogin.ws; 

import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.PropertyInfo; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapPrimitive; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.HttpTransportSE; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class AndroidLoginExampleActivity extends Activity { 
private final String NAMESPACE = "http://ws.userlogin.com"; 
private final String URL = "http://111.223.128.10:8085/AndroidLogin/services/Login?wsdl"; 
private final String SOAP_ACTION = "http://ws.userlogin.com/authentication"; 
private final String METHOD_NAME = "authentication"; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button login = (Button) findViewById(R.id.btn_login); 
    login.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View arg0) { 
    loginAction(); 

    } 
    }); 
    } 

private void loginAction(){ 
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    EditText userName = (EditText) findViewById(R.id.tf_userName); 
    String user_Name = userName.getText().toString(); 
    EditText userPassword = (EditText) findViewById(R.id.tf_password); 
    String user_Password = userPassword.getText().toString(); 

    //Pass value for userName variable of the web service 
    PropertyInfo unameProp =new PropertyInfo(); 
    unameProp.setName("userName");//Define the variable name in the web service method 
    unameProp.setValue(user_Name);//set value for userName variable 
    unameProp.setType(String.class);//Define the type of the variable 
    request.addProperty(unameProp);//Pass properties to the variable 

    //Pass value for Password variable of the web service 
    PropertyInfo passwordProp =new PropertyInfo(); 
    passwordProp.setName("password"); 
    passwordProp.setValue(user_Password); 
    passwordProp.setType(String.class); 
    request.addProperty(passwordProp); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.setOutputSoapObject(request); 
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

    try{ 
     androidHttpTransport.call(SOAP_ACTION, envelope); 
      SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); 

      TextView result = (TextView) findViewById(R.id.tv_status); 
      result.setText(response.toString()); 

    } 
    catch(Exception e){ 

    } 
    } 

    } 
+0

आपके द्वारा उपभोग की जाने वाली वेब सेवा, आपके पास कोड कोड तक पहुंच है? या आप इसका इस्तेमाल इस तरह से करना है? – Waqas

+0

जांच के लिए इस लिंक http://stackoverflow.com/questions/4224913/android-session-management –

+0

ऊपर के लिंक कैसे भाग मेरी कोडिंग हिस्सा कोडिंग है सत्र जोड़ने के लिए मेरी तरफ मुझे समझाने उपयोगी नहीं है। –

उत्तर

2

जांच यह एक .. यह मदद से आप एंड्रॉयड में सत्र बनाए रखने के लिए

https://stackoverflow.com/a/6112799/1358004

Android App Strategy for keeping track of a login session (इस लिंक में सभी पहलुओं को प्रदर्शित करेगा लॉगिन/लॉगआउट के लिए सत्र बनाए रखने के चरण।

मुझे लगता है कि यह वाई की मदद करेगा कहां।

+0

यह लॉगआउट तक उपयोगकर्ता नाम रखने के लिए उपयोगी है .. लेकिन लॉगआउट बटन के बाद इसका मतलब है कि यह लॉगिन गतिविधि पर जा रहा है। अब मैं अपने एमुलेटर पर अपनी गतिविधि पर वापस जाऊंगा, इसका मतलब है कि यह प्रदर्शित उपयोगकर्ता नाम गतिविधि प्रदर्शित होता है। लेकिन अगर मैं चाहता हूं तो मुझे इसकी आवश्यकता है वापस जायेंगे इसका मतलब है कि यह लॉगिन गतिविधि पर रीडायरेक्ट है .. इसलिए यहां सत्र अवधारणाओं का प्रबंधन होगा .. इसलिए लॉगआउट बटन पर क्लिक करने के बाद प्रबंधन सत्र अवधारणाओं को भी समझाएं। –

12

लॉगआउट ऑपरेशन करते समय गतिविधि साफ़ करें।

Intent intent = new Intent(this, LoginActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

फिर बैक बटन लॉग इन एक्टिविटी पर रहेगा क्योंकि गतिविधि स्टैक साफ़ हो गया है। मुझे लगता है कि यह आपकी मदद करेगा।

1

आप की तरह के रूप में

MySession session = MySession .getInstance(MainActivity.this); 
        session.clear(); 
        Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(intent); 
        finish(); 
1

सिर्फ finish() फोन एक बार logout बटन का उपयोग करने के लिए रास्ता क्लिक किया जाता है अपने सत्र स्पष्ट कर सकते हैं:

गतिविधि कॉल ==>finish();

टुकड़ा कॉल में

में = =>context.finish();

उम्मीद है कि मदद करता है।

+0

इस समाधान ने मेरे लिए बहुत धन्यवाद धन्यवाद .. – EaBangalore