Программирование на Android с помощью сокетов - PullRequest
0 голосов
/ 20 января 2012

В настоящее время я пытаюсь написать очень простое приложение, которое отправляет объект с помощью сокетов с моего телефона на мой простой сервер. Я написал сервер для получения объекта, который на данный момент получает только объект Date, проверил его с помощью простой клиентской программы с моего ноутбука, и сервер работает, но я не могу подключить версию для Android. Если бы я мог получить некоторые рекомендации, был бы очень признателен. Я предоставил свой код ниже. Спасибо.

    public class Test03 extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.test03);

            final Button gpsSend = (Button)findViewById(R.id.gpsSend);

            gpsSend.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            // Contact Date Server
            ObjectOutputStream oos = null;
            ObjectInputStream ois = null;
            Socket socket = null;
            Date date = null;

            try{
                socket = new Socket("igor.gold.ac.uk", 3000);
                oos = new ObjectOutputStream(socket.getOutputStream());
                ois = new ObjectInputStream(socket.getInputStream());
                date = (Date) ois.readObject();
                DateFormat formatter = new SimpleDateFormat("dd-MMM-yy");
                textView.setText(formatter.format(date));
                oos.close();
                ois.close();
            }
            catch(Exception e){
                textView.setText(e.getMessage());
            }
        }
    });
}
}

Спасибо за помощь, оказывается, что Jin35 был прав. Я не включил интернет-разрешения в файл манифеста.

Так что для любых других новичков вы должны добавить следующую строку в manifest.xml

    <uses-permission android:name="android.permission.INTERNET" /> 

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Спасибо за помощь, оказывается, что Jin35 был прав.Я не включил интернет-разрешения в файл манифеста.

Так что для любых других новичков вы должны добавить следующую строку в manifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
0 голосов
/ 20 января 2012

используйте e.printStacktrace () вместо getMessage ().Лучше отлаживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...