2011-03-17 59 views
0
package com.login.android; 

import java.net.InetSocketAddress; 
import java.net.Socket; 
import java.nio.ByteBuffer; 
import java.nio.channels.SocketChannel; 

import com.login.android.R; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class login extends Activity { 
    // Declare our Views, so we can access them later 
    private EditText etUsername; 
    private EditText etPassword; 
    private Button btnLogin; 
    private Button btnCancel; 
    private TextView lblResult; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Set Activity Layout 
     setContentView(R.layout.main); 

     // Get the EditText and Button References 
     etUsername = (EditText)findViewById(R.id.username); 
     etPassword = (EditText)findViewById(R.id.password); 
     btnLogin = (Button)findViewById(R.id.login_button); 
     btnCancel = (Button)findViewById(R.id.cancel_button); 
     lblResult = (TextView)findViewById(R.id.result); 

     // Set Click Listener 
     btnLogin.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // Check Login 
       SocketChannel sock = SocketChannel.open(new InetSocketAddress("www.abcd.com", 80)); 

       String data = etUsername + "|" + etPassword; 
       sock.write(ByteBuffer.wrap(data.getBytes())); 

       ByteBuffer result = ByteBuffer.allocate(8); // 8 byte-large container for result 
       fSocket.read(result); 

       if (result.get(0) == 1) 
         { 
              lblResult.setText("Login successful."); 

        } else { 

            lblResult.setText("Login failed. Username and or password doesn't match."); 
       } 
      } 
      }); 

     btnCancel.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // Close the application 
       finish(); 
      } 
     }); 
    } 
} 

当我运行这个时,我得到fSocket错误。 FSocket cannot be resolved。请告诉我我在这里犯了什么错误。Android Web服务执行

回答

1

你在哪里声明fSocket变量?

+0

这是一个错误。由于我们使用“袜子”,使用它来调用!没有fSocket,它的sock.read(结果);我错误地使用了fSocket。 – 2011-03-18 05:32:26