我想通过使用asp.net WCF服务并从android类发送数据到wcf来登录android应用程序? [英] i want to make login android application by consuming asp.net WCF services and send data to wcf from android class ?
本文介绍了我想通过使用asp.net WCF服务并从android类发送数据到wcf来登录android应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请帮我制作这个应用程序。我试过了。这是我的代码..
Kindly help me in making my this application. I have tried. here is my code..
package com.example.servesh.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
public class Login_Activity extends ActionBarActivity implements View.OnClickListener {
ConnectionClass connectionClass;
CallWS CS = new CallWS();
EditText edtuserid,edtpass;
Button btnlogin;
ProgressBar pbbar;
TextView tvRegisterLink;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_);
edtuserid = (EditText) findViewById(R.id.edtuserid);
edtpass = (EditText) findViewById(R.id.edtpass);
btnlogin = (Button) findViewById(R.id.btnlogin);
tvRegisterLink = (TextView) findViewById(R.id.tvRegisterLink);
tvRegisterLink.setOnClickListener(this);
pbbar = (ProgressBar) findViewById(R.id.pbbar);
pbbar.setVisibility(View.GONE);
btnlogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DoLogin doLogin = new DoLogin();
doLogin.execute("");
}
});
}
public class DoLogin extends AsyncTask<String,String,String>
{
String z = "";
Boolean isSuccess = false;
String userid = edtuserid.getText().toString();
String password = edtpass.getText().toString();
@Override
protected void onPreExecute() {
pbbar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r) {
pbbar.setVisibility(View.GONE);
Toast.makeText(Login_Activity.this,r,Toast.LENGTH_SHORT).show();
if(isSuccess) {
Intent i = new Intent(Login_Activity.this, PADB.class);
startActivity(i);
finish();
}
}
@Override
protected String doInBackground(String... params) {
if(userid.trim().equals("")|| password.trim().equals(""))
z = "Please enter User Id and Password";
else
{
try {
System.out.println("Returned Connection "+CS );
if (CS == null) {
z = "Error in connection with webservice";
}
else {
//String query = "select CustomerId from AccountCustomer";
userid = CS.CustomerID( "response");
password = CS.Password("response");
if(userid.trim().equals("customerID") && password.trim().equals("pass") )
{
// System.out.println("Result Set OK and firstname is "+rs.getString(1) );
//System.out.println("Result Set OK and lastname is "+rs.getString(2) );
z = "Login successfull";
isSuccess=true;
}
else
{
//System.out.println("Result Set NOt OK " );
z = "Invalid Credentials";
isSuccess = false;
}
}
}
catch (Exception ex)
{
isSuccess = false;
z = "Exceptions";
}
}
return z;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tvRegisterLink:
startActivity(new Intent(this, Register.class));
break;
}
}
}
package com.example.servesh.myapplication;
import android.widget.TextView;
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;
/**
* Created by Administrator on 19-11-2015.
*/
public class CallWS {
public String Password(String password)
{
String NAMESPACE = "http://10.1.15.47/Android";
String URL = " http://alok-pc.intranet.nic.in/Android/customer.svc?wsdl";
String SOAP_ACTION = "http://10.1.15.47/Android/customer.svc";
String METHOD_NAME = "Password";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String pass = "nic123";
PropertyInfo passProp =new PropertyInfo();
passProp.setName("password");
passProp.setValue(pass);
passProp.setType(String.class);
request.addProperty(passProp);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
SoapPrimitive response = null;
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
response = (SoapPrimitive)envelope.getResponse();
androidHttpTransport.debug = true;
}
catch (Exception e)
{
e.printStackTrace();
}
return androidHttpTransport.responseDump;
}
public String CustomerID(String custid)
{
String NAMESPACE = "http://10.1.15.47/Android";
String URL = " http://alok-pc.intranet.nic.in/Android/customer.svc?wsdl";
String SOAP_ACTION = "http://10.1.15.47/Android/customer.svc";
String METHOD_NAME = "CustomerID";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String customerID = "CCBS";
PropertyInfo custProp =new PropertyInfo();
custProp.setName("custid");//Define the variable name in the web service method
custProp.setValue(customerID);//Define value for fname variable
custProp.setType(String.class);//Define the type of the variable
request.addProperty(custProp);//Pass properties to the variable
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
SoapPrimitive response = null;
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
response = (SoapPrimitive)envelope.getResponse();
androidHttpTransport.debug = true;
}
catch (Exception e)
{
e.printStackTrace();
}
return androidHttpTransport.responseDump;
}
}
推荐答案
试试这些链接 -
WCF和Android第一部分 [ ^ ]
带有WCF服务的Android [ ^ ]
视频 [ ^ ]
Try these links -
WCF and Android Part I[^]
Android with WCF Services[^]
Video[^]
我认为,你应该研究一下restful service和json因为json和restful将成为跨平台的标准
i think, you should study about restful service and json because of json and restful will become standard for cross platform
这篇关于我想通过使用asp.net WCF服务并从android类发送数据到wcf来登录android应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文