Мне нужна помощь с сервером, и я новичок в этом. Получил помощь от моего друга, но все еще не может работать. Я не могу войти При запуске приложения нет ошибки, которая называется «обнаружена». Я не могу войти Каким-то образом соединение не было правильно установлено.
Это мой файл Java, открытый в Eclipse;
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
});
}
}
Каждый раз, когда я запускаю свое приложение, появляется тост с сообщением error2
после отображения http://172.27.32.251:9090/jsp-examples/ferryhub
и toast1
.
Если я не ошибаюсь, проблема в том, что нет успешного подключения к сервлету. Надеюсь вскоре услышать хорошие советы. Спасибо, что прочитали мой вопрос.
-Dayne
Привет еще раз
Я снова запустил программу без редактирования и проверил logcat. Я не могу найти никаких ошибок ..
вот как это выглядит:
08-24 07:52:37.875: INFO/NotificationService(54): enqueueToast pkg=log1.log2 callback=android.app.ITransientNotification$Stub$Proxy@43904308 duration=0
08-24 07:52:37.895: INFO/NotificationService(54): enqueueToast pkg=log1.log2 callback=android.app.ITransientNotification$Stub$Proxy@43925200 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 callback=android.app.ITransientNotification$Stub$Proxy@438ad2c8 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