2012-07-23 45 views
13

Başarılı bir giriş formu geliştirdim. Ama şimdi oturumu yönetemiyorum ... ayrıca daha fazla oturum konsepti okudum. Ama bunu yapamıyorum. Lütfen ayrıntılı olarak açıklayın. Bu benim kodum. Lütfen Oturum bölümünü buradan nasıl kullanabileceğime bakın.Android oturum açma/oturum açma oturumunu nasıl yönetebilirim?

Bu benim kodlama parçasıdır:

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

Eğer tüketen web hizmeti, Bunu kod tabanına erişimi var mı? ya da öyle mi kullanıyorsunuz? me.please beni açıklamak için – Waqas

+0

onay bu bağlantıyı http://stackoverflow.com/questions/4224913/android-session-management –

+0

Yukarıdaki bağlantı benim kodlama bölümünü parçalardan biri olan kodlama oturumu eklemek nasıl yararlı değildir. –

cevap

2

onay bu bir .. Eğer

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

Android App Strategy for keeping track of a login session (bu bağlantıyı tüm yönleriyle gösterecektir Android'de oturumları korumak için yardımcı olacaktır oturum açma/oturum kapatma oturumları sürdürmenin -terms.

Ben y yardımcı olacaktır sanırım ou.

+0

logout..but bir çıkıştan sonra düğmesi i eğer ihtiyaç isteyen activity.but ben görüntülenen kullanıcı adı görüntülenir demektir benim emülatörünüzde Etkinliğime geri ll activity.now giriş gitmek demektir kadar tutmak kullanıcı adı için yararlıdır geri dönün, giriş etkinliğine yönlendirmek anlamına gelir. Burada oturum kavramlarını yönetiriz. Ayrıca, tıklatılmış oturum kapatma düğmesinden sonra oturum konseptlerini yönetmeyi lütfen açıklayınız. –

12

açık aktivite yığın çıkış işlemi yaparak. etkinlik yığını temizlenir beri

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

Sonra geri düğmesi LoginActivity kalacak. Sanırım size yardımcı olacak.

1

Sen logout düğme kullanma yolu tıklandığında kez

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

sadece finish() dediğimiz gibi sevdiği oturumu temizleyebilirsiniz:

etkinlik çağrısı ==> parçası çağrısında finish();

yılında = =>context.finish();

yardımcı olacağını umuyorum.

+0

Bu çözüm benim için çok çalıştı .. – EaBangalore