Форум программистов, компьютерный форум CyberForum.ru

Ошибка при открытии новой activity - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android ScrollView для Dialog http://www.cyberforum.ru/android-dev/thread1603725.html
Ребят столкнулся с проблемой при создании диалога с динамические элементами, не могу добавить в него Scrollview Спасибо заранее
Программирование Android Как правильно хранить и обрабатывать TouchEvent в OpenGL-потоке? Привет Описание: 1) События касания TouchEvent добавляются в коллекцию (асинхронный буфер). Это происходит не в GL-потоке. 2) Во время цикла обновления состояния OpenGL.onDraw копирую всю коллекцию записанных событий из буфера (addAll) и вызываю для него clear(). Раньше пользовался Collections.synchronizedList( new ArrayList<TouchEvent> ) для создания асинхронной коллекции, но в момент... http://www.cyberforum.ru/android-dev/thread1603656.html
Программирование Android Запись и чтение из внутренней памяти
Здравствуйте. На WinPhone есть класс с двумя методами, которые сохраняют во внутреннюю память данные и загружают из неё: public static class ToolsRsue { /// <summary> /// Запись Json-файла в внутреннюю память /// </summary> /// <param name="jsonString">строка с Json-файлом</param> /// <param name="fileName">имя файла для запоминания</param>
OnDown OnUp на View Программирование Android
Привет. Мне дали задание сделать событие при клике на кнопку и событие отпускания пальца с кнопки. OnClick элементарно, все понятно. Вопрос про отпускание пальца с кнопки, реализовать это событие можно только через OnTouch в ручную или есть какие еще механизмы? Добавлено через 2 часа 17 минут OnTouch прекрасно работает, написал.
Программирование Android Настроить Android Studio Emmet Everywhere http://www.cyberforum.ru/android-dev/thread1603581.html
Гуру, посоветуйте... Кто знает как эту чуду настроить/подключить??? (или посоветуйте альтернативу) Мне посоветовали Emmet Everywhere (начинающий разработчик pyton из других редакторов) как знаменитый "универсальный" механизм для авто-заполнения текста "заготовками" Нашел его здесь: https://plugins.jetbrains.com/plugin/7450?pr= А вот как использовать...
Программирование Android Не работает клиент/ сервер на физической машине Дорогие форумчане, можете помочь мне реализовать перенос программы на физическую машину. После переноса программа не работает хотя на эмуляторе работала. Программа работает через порт 14444. Если есть идеи как пробросить или изменить на другой работающий порт. Прошу прощение если повторяюсь. подробнее

Показать сообщение отдельно
Shiman_Gleb
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 51

Ошибка при открытии новой activity - Программирование Android

06.12.2015, 14:04. Просмотров 337. Ответов 6
Метки (Все метки)

Здравствуйте, уважаемые программисты. У меня возник вопрос: пишу приложение под Android, которое , при нажатии на кнопку, получает от сервера три строки и присваивает их значения radioButton, находящимся в новой activity. Проблема в том, что до открытия новой activity происходит ошибка и работа программы прекращается. Думал, дело в сокете (особенно учитывая что без него всё работает), поскольку открываю соединение с сервером сразу после открытия activity, но при отладке я до этого места даже не дохожу. Фактически, при вызове любой функции, содержащей сокет, приложение закрывается. Можете подсказать, в чём ошибка?
Код первой activity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.example.ibookpc.kanjiq;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //Метод кнопки, которая должна открывать новую activity.
    public void onStartButtonClick(View view) {
        startActivity(new Intent(this, QuestingActivity.class));
    }
}
Код второй activity (которая должна открываться, но вместо этого выдаёт ошибку):
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.example.ibookpc.kanjiq;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.util.ArrayList;
 
public class QuestingActivity extends AppCompatActivity {
 
    boolean answered = false;
    boolean correct = false;
    ArrayList<String> words=new ArrayList<String>();
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_questing);
        //На объявлении сокета я ставил точку остановки отладки, но до неё отладчик даже не доходил.
        Socket clientSocket;
        try {
            clientSocket = new Socket("localhost", 2015);
            BufferedReader in  = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            words.add(in.readLine());
            words.add(in.readLine());
            words.add(in.readLine());
        } catch(IOException e)
        {
 
        }
        RadioButton case1 = (RadioButton) findViewById(R.id.radioButton1);
        RadioButton case2 = (RadioButton) findViewById(R.id.radioButton2);
        RadioButton case3 = (RadioButton) findViewById(R.id.radioButton3);
        case1.setText(words.get(1));
        case2.setText(words.get(2));
        case3.setText(words.get(3));
    }
 
    public void onNextButtonClick(View view)
    {
        if (answered==true){
            startActivity(new Intent(this, QuestingActivity.class));
        }
        else {
            Button button = (Button) findViewById(R.id.button3);
            button.setText("Next");
            answered = true;
        }
    }
}
Код сервера:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package serverPackage;
 
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.Random;
 
public class Server {
    static public ArrayList<String> words=new ArrayList<String>();
    
    public static void main(String[] args) throws IOException {
        ServerSocket servers=null;
        Socket fromClient=null;
        BufferedReader in = null;
        PrintWriter    out= null;
        File file = new File( "words.txt" );
        BufferedReader br = new BufferedReader (
            new InputStreamReader(
                new FileInputStream( file ), "UTF-8"
            )
        );
        String line = null;
        while ((line = br.readLine()) != null) {
            words.add(line);
        }
        br.close();
        
        servers=new ServerSocket(2015);
        fromClient=servers.accept();
            
        in  = new BufferedReader(new 
        InputStreamReader(fromClient.getInputStream()));
        out = new PrintWriter(fromClient.getOutputStream(),true);
        String input, output;
        Random rand=new Random();
        int firstWordIndex=rand.nextInt(words.size());
        int secondWordIndex=firstWordIndex;
        do
        {
            secondWordIndex=rand.nextInt(words.size());
        }
        while (secondWordIndex==firstWordIndex);
        int thirdWordIndex=firstWordIndex;
        do
        {
            thirdWordIndex=rand.nextInt(words.size());
        }
        while (thirdWordIndex==firstWordIndex || thirdWordIndex==secondWordIndex);      
        out.println(words.get(firstWordIndex));
        out.println(words.get(secondWordIndex));
        out.println(words.get(thirdWordIndex));     
        
        
        in.close();
        out.close();
        in.close();
        fromClient.close();
            servers.close();
                
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru