WCF С Android-обвързващ резултат с изглед на етикет или списък

  1. Създадох WCF, който приема 2 параметъра потребителско име и парола.
  2. Създадох потребителски интерфейс за Android, който приема потребителско име и парола и при щракване на бутон потребителското име и паролата съществуват, зададох статична стойност „Влезте успешно“ за етикет.

Имам нужда от насоки как мога да обвържа резултатния набор с етикет, вместо да предавам статична стойност към етикета.

публичен клас JSONSampleAppActivity extends Activity implements OnClickListener{ /** Извиква се при първото създаване на дейността. */

//Property declaration
Button btnLogin;
TextView lblStatus;
EditText txtUserName,txtPassword;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    btnLogin=(Button)findViewById(R.id.btnLogin);
    btnLogin.setOnClickListener(this);

    lblStatus=(TextView)findViewById(R.id.lblStatus);

    txtUserName=(EditText)findViewById(R.id.txtUserName);
    txtPassword=(EditText)findViewById(R.id.txtPassword);
}

@Override
public void onClick(View v) {

    switch(v.getId())
    {
        case R.id.btnLogin:
            String userName=txtUserName.getText().toString();
            String password=txtPassword.getText().toString();
            if(verifyLogin(userName,password))
            {

                lblStatus.setText("Login Successfully");
            }
            else
            {
                lblStatus.setText("Login Failed");
            }
            break;
    }
}

public static String convertStreamToString(InputStream is) 
{
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } 
    catch (IOException e) {
        e.printStackTrace();
    } 
    finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}

public static boolean verifyLogin(String UserName,String Password)
{
    try
    {
        System.out.println("guru");
        DefaultHttpClient httpClient=new DefaultHttpClient();

        //Connect to the server
        HttpGet httpGet=new HttpGet("http://xxxx/Service1.svc/checkLogin?name="+UserName+"&pass="+Password);
        //Get the response
        HttpResponse httpResponse = httpClient.execute(httpGet);
        HttpEntity httpEntity = httpResponse.getEntity();
        InputStream stream=httpEntity.getContent();

        //Convert the stream to readable format
        String result= convertStreamToString(stream);

        if(result.charAt(1)=='1')
        {

            return true;
        }
        else
        {
            return false;
        }
    }
    catch(Exception e)
    {
        return false;
    }

}

person user3597236    schedule 02.05.2014    source източник


Отговори (1)


person    schedule
comment
@ imran betara Този wcf връща повече от един ред и всеки ред има 2 колони. с горния код той свързва цялата стойност на колоните и я свързва с един етикет. Искам да свържа стойността на колона 1 с label1 и стойността на колона 2 с label2, вместо да свържа. Как мога да постигна тази задача. - person user3597236; 03.05.2014
comment
добре, когато резултатът пристигне по това време, можете да разделите низа, който има две стойности на колони, и да го съхраните в две променливи. Искам да кажа, че след String res=verifyLogin(userName,password) можете да разделите res и да съхранявате в две различни променливи и да показвате в два етикета - person Imran Betara; 04.05.2014
comment
това е моят код сега за свързване на резултат с етикет, String res= verifyLogin(p); lblStatus.setText(res); прекъсване; когато заменя стойността (p) с (потребителско име, парола), дава грешка. - person user3597236; 04.05.2014
comment
той взема параметър от потребителя - person user3597236; 04.05.2014