2010-08-24 7 views
3

나는 서버에 대한 도움이 필요하며 그것에 익숙하다. 내 친구에게서 도움을 받았지만 여전히 일할 수 없습니다. 로그인 할 수 없습니다. 응용 프로그램을 실행할 때 '탐지 됨'이라는 오류가 없습니다. 로그인 할 수 없습니다. 어떻게 든 연결이 제대로 이루어지지 않았습니다.안드로이드 서버; 로그인 페이지

이것은 내 Java 파일 이클립스에서 열립니다.

package log1.log2; 



import java.io.ObjectOutputStream; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import java.util.Vector; 

import android.app.Activity; 
import android.content.Intent; 
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; 
import android.widget.Toast; 
import java.io.ObjectInputStream; 





public class Login extends Activity { 


DBAdapter db = new DBAdapter(this); 
/** Called when the activity is first created. */ 

private EditText etUsername; 
private EditText etPassword; 
private Button btnLogin; 
private Button btnRegister; 
private TextView lblResult; 
private String username; 
private String password; 
private String user; 
private String value; 
Vector SendVEctor = new Vector(); 
Vector receiveVEctor = new Vector(); 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 

     // Get the EditText and Button References 
     etUsername = (EditText)findViewById(R.id.usernametxt); 
     etPassword = (EditText)findViewById(R.id.passwordtxt); 
     btnLogin = (Button)findViewById(R.id.btnLogin); 
     btnRegister = (Button)findViewById(R.id.btnRegister); 
     lblResult = (TextView)findViewById(R.id.msglbl); 

     //Cursor c = (Cursor) db.getAllTitles(); 

     //Button btnArrival = (Button) findViewById(R.id.btnRegister); 
    //btnArrival.setOnClickListener(this); 


    // Set Click Listener 

     btnRegister.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent(Login.this,Register.class); 
      startActivity(intent); 

     } 
     }); 

    btnLogin.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) 
{ 


    String a = "http://172.27.32.251:9090/jsp-examples/ferryhub"; 
    URL url = null; 
     HttpURLConnection httpurlconnection = null; 
     try { 
     url = new URL(a); 
     httpurlconnection = (HttpURLConnection) url 
     .openConnection(); 
     httpurlconnection.setDoOutput(true); 
     httpurlconnection.setRequestMethod("POST"); 



     Toast.makeText(Login.this, a, Toast.LENGTH_SHORT).show(); 
     Toast.makeText(Login.this, "Toast1", Toast.LENGTH_SHORT).show(); 
     ObjectOutputStream dos = new ObjectOutputStream(httpurlconnection.getOutputStream()); 
     SendVEctor.add(etUsername.getText().toString());//foodname 
     SendVEctor.add(etPassword.getText().toString());//foodname 

     dos.writeObject(SendVEctor); 

       dos.close(); 


       ObjectInputStream ois = new ObjectInputStream(httpurlconnection.getInputStream()); 

       receiveVEctor = (Vector)ois.readObject(); 

     Toast.makeText(Login.this, receiveVEctor.get(0).toString(), Toast.LENGTH_SHORT).show(); 

     if(receiveVEctor.equals("Login Success")) 
     { etUsername.setText(""); 
     etPassword.setText(""); 
     Toast.makeText(Login.this, receiveVEctor.get(0).toString(), Toast.LENGTH_SHORT).show(); 
     Intent myIntent = new Intent(((View) v).getContext(),Register.class); 
    startActivityForResult(myIntent, 1); 

     }//end inner if 
     else if(receiveVEctor.equals("Login Fail")) 
     { etUsername.setText(""); 
     etPassword.setText(""); 
     Toast.makeText(Login.this, receiveVEctor.get(0).toString(), Toast.LENGTH_SHORT).show(); 


     }//end inner if 



     else 
     { 
     Toast.makeText(Login.this, "error", Toast.LENGTH_SHORT).show(); 
     } 


     }//end try 
     catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(Login.this, "error2", Toast.LENGTH_SHORT).show(); 

     }//end catch 
     finally { 
     if (httpurlconnection != null) 
     httpurlconnection.disconnect(); 
     }//end finally 
    }//end else 






    }); 
} 

} 

매번 내가 내 응용 프로그램을 실행할 때, 토스트는 http://172.27.32.251:9090/jsp-examples/ferryhubtoast1을 표시 한 후 메시지 error2 나타납니다.

내가 잘못하지 않았다면 문제는 서블릿에 성공적으로 연결되어 있지 않다는 것입니다. 곧 좋은 조언을 듣고 싶습니다. 제 질문을 읽어 주셔서 감사합니다.


안녕하세요

-Dayne

다시

내가 편집없이 프로그램을 다시 실행하고 로그 캣을 확인했습니다. 나는 오류를 찾을 수 없습니다 ..

여기처럼 보이는 방법은 다음과 같습니다 당신이 실제 오류를 지적 할 수 나를 어떻게해야합니까에게 희망

08-24 07:52:37.875: INFO/NotificationService(54): enqueueToast pkg=log1.log2 [email protected] duration=0 
08-24 07:52:37.895: INFO/NotificationService(54): enqueueToast pkg=log1.log2 [email protected] duration=0 
08-24 07:52:37.945: WARN/System.err(216): java.net.SocketException: Permission denied (maybe missing INTERNET permission) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.platform.OSNetworkSystem.createSocketImpl(Native Method) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.platform.OSNetworkSystem.createSocket(OSNetworkSystem.java:85) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.net.PlainSocketImpl2.create(PlainSocketImpl2.java:59) 
08-24 07:52:37.975: WARN/System.err(216):  at java.net.Socket.checkClosedAndCreate(Socket.java:829) 
08-24 07:52:37.975: WARN/System.err(216):  at java.net.Socket.connect(Socket.java:984) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:67) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager$ConnectionPool.getHttpConnection(HttpConnectionManager.java:151) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionManager.getConnection(HttpConnectionManager.java:73) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getHTTPConnection(HttpURLConnection.java:826) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:812) 
08-24 07:52:37.975: WARN/System.err(216):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1153) 
08-24 07:52:37.984: WARN/System.err(216):  at log1.log2.Login$2.onClick(Login.java:95) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.View.performClick(View.java:2344) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.View.onKeyUp(View.java:3939) 
08-24 07:52:37.984: WARN/System.err(216):  at android.widget.TextView.onKeyUp(TextView.java:4413) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.KeyEvent.dispatch(KeyEvent.java:895) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.View.dispatchKeyEvent(View.java:3647) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:746) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:746) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:746) 
08-24 07:52:37.984: WARN/System.err(216):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:746) 
08-24 07:52:37.984: WARN/System.err(216):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1708) 
08-24 07:52:37.984: WARN/System.err(216):  at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1197) 
08-24 07:52:37.994: WARN/System.err(216):  at android.app.Activity.dispatchKeyEvent(Activity.java:1967) 
08-24 07:52:37.994: WARN/System.err(216):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1684) 
08-24 07:52:37.994: WARN/System.err(216):  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2329) 
08-24 07:52:37.994: WARN/System.err(216):  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2299) 
08-24 07:52:37.994: WARN/System.err(216):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1621) 
08-24 07:52:37.994: WARN/System.err(216):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-24 07:52:37.994: WARN/System.err(216):  at android.os.Looper.loop(Looper.java:123) 
08-24 07:52:37.994: WARN/System.err(216):  at android.app.ActivityThread.main(ActivityThread.java:4203) 
08-24 07:52:37.994: WARN/System.err(216):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-24 07:52:37.994: WARN/System.err(216):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-24 07:52:37.994: WARN/System.err(216):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
08-24 07:52:37.994: WARN/System.err(216):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
08-24 07:52:37.994: WARN/System.err(216):  at dalvik.system.NativeStart.main(Native Method) 
08-24 07:52:38.004: INFO/NotificationService(54): enqueueToast pkg=log1.log2 [email protected] duration=0 
08-24 07:52:38.206: INFO/ARMAssembler(54): generated scanline__00000077:03515104_00001A01_00000000 [ 46 ipp] (68 ins) at [0x2ac120:0x2ac230] in 1976229 ns 

.

내 게시물을 읽어 주셔서 감사합니다.

-Dayne


안녕하세요 다시

인터넷 허가 문에 관해서는, 나는 내 매니페스트 XML 파일의 해당 행에했다. 다음과 같이 로그인 활동에 삽입합니다.

<activity android:name="Login"> 
      <intent-filter> 
       <action android:name="android.intent.action.EDIT" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <uses-permission android:name="android.permission.INTERNET"/> 
     <activity android:name="AdminMain"> 
      <intent-filter> 
       <action android:name="android.intent.action.EDIT" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

내가 누락 된 다른 가능한 점이 있습니까? 나 한테 한두 가지 말해 주길 바래. 고맙습니다.

-Dayne

+0

완벽한 stacktrace는 'error2'보다 더 재미 있습니다. – BalusC

+0

내 코드에서 stacktrace를 적용하는 법을 모르겠습니다. – Dayne

+0

Eclipse에서'adb logcat', DDMS 또는 DDMS 퍼스펙티브를 사용하여 LogCat을보고 자바 스택 추적을 검사하십시오. – CommonsWare

답변

0

그것은 모든있다 :

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

확인 페이지 : http://developer.android.com/reference/android/Manifest.permission.html

당신은 당신의 manifest.xml 파일에 추가 "android.permission.INTERNET은"을 필요로 , 전체 라인이 이것을 <uses-permission android:name="android.permission.INTERNET" />으로보아야합니다.

+0

안녕 나는 이미 인터넷 허가서를 매니페스트에 삽입했다. 왜 아직도 작동하지 않는 다른 아이디어? – Dayne

+0

지금 당장은 아니지만 왜 "허가"오류가 계속 발생하는지 궁금합니다. POST를 보내고있는 서비스가 반환하지 않는 것이 확실합니까? – Select0r

+0

당신은 그것이 인터넷 서비스 제공 업체 때문이라고 말하고 있습니까? 처음에는 내가 캠퍼스의 인터넷을 사용하고 있었기 때문에 그런 것 같습니다. 하지만 집에서도 내 자신의 인터넷을 사용하고 있기 때문에 그 문제는 여전히 남아 있습니다. – Dayne