[英]how can i integrate a feedback form in my android app that should open when i click on log out button?
[英]Android : How can i Auto Log out from my app when i change my status to false in Sql server?
我在我的应用中使用了以下内容:1] MainActivity [登录页面] 2]欢迎使用[首页]
我使用了.NET Web服务和数据库:表名tblLogin字段是:id,名称,密码,状态
1] MainActivity.java
package com.example.yashdesai.myapplication;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
final String NAMESPACE = "http://tempuri.org/";
final String METHOD_NAME = "Login";
final String SOAP_ACTION = "http://tempuri.org/Login";
final String URL = "http://192.168.11.16/Lucky/WebService.asmx";
EditText tv;
EditText tv1;
Button btn;
TextView tv2;
SessionManager session;
@Override
public void onBackPressed() {
finish();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
session = new SessionManager(getApplicationContext());
tv = (EditText) findViewById(R.id.name);
tv1 = (EditText) findViewById(R.id.password);
tv2 = (TextView) findViewById(R.id.text);
btn = (Button) findViewById(R.id.button);
// sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Toast.makeText(getApplicationContext(), "User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG).show();
if(session.isLoggedIn()==true){
HashMap<String, String> user = session.getUserDetails();
String name = user.get(SessionManager.KEY_NAME);
String password = user.get(SessionManager.KEY_PASSWORD);
Intent i = new Intent(getApplicationContext(),welcome2.class);
i.putExtra("name",name);
startActivity(i);
}
// session.checkLogin();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
new MyTask().execute();
}
});
}
public class MyTask extends AsyncTask<Void, Void, String> {
String response = "";
public void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(Void... arg0) {
final SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("name", tv.getText().toString());
request.addProperty("password", tv1.getText().toString());
final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
response = result.toString();
Log.d("REsponse rsult: ", response.toString());
} catch (SoapFault soapFault) {
soapFault.printStackTrace();
} catch (IOException e) {
response = "1";
} catch (XmlPullParserException e) {
response = "2";
}
return response;
}
@Override
public void onPostExecute(String res) {
if(!(res.equalsIgnoreCase("")))
{
tv2.setText(res);
if(tv2.getText().toString().equalsIgnoreCase("not valid")){
Toast.makeText(getApplicationContext(), "Incorrect username or password!", 9000).show();
}
else {
session.createLoginSession(tv.getText().toString(), tv1.getText().toString());
Intent i=new Intent(getApplicationContext(),welcome2.class);
i.putExtra("name",tv.getText().toString());
startActivity(i);
}
}
}
}
}
2] Welcome2.java
public class welcome2 extends AppCompatActivity {
TextView t;
String user_status="off";
SessionManager session;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome2);
session = new SessionManager(getApplicationContext());
t=(TextView)findViewById(R.id.wname);
Intent intent = getIntent();
String value = intent.getStringExtra("name");
t.setText("Welcome: " + value);
}
public void logout(View view){
session.logoutUser();
}
timer = new CountDownTimer(1 *10 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
//Some code
// timer.start();
t.setText(Long.toString(millisUntilFinished/1000));
}
public void onFinish() {
if(tv.getText().toString().equalsIgnoreCase("not valid"))
if(tv1.getText().toString().equalsIgnoreCase("not valid"))
session.logoutUser();
else{}
}
}.start();}
希望这对你有用。!
private final Runnable m_Runnable = new Runnable()
{
public void run()
{
Toast.makeText(welcome2.this,"in runnable", Toast.LENGTH_SHORT).show();
// Toast.makeText(welcome2.this,"in runnable", Toast.LENGTH_SHORT).show();
//session.logoutUser();
//welcome2.this.mHandler.postDelayed(m_Runnable, 5000);
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.