RabbitMQ Android Error: Basic Publish to java file - PullRequest
0 голосов
/ 20 февраля 2012

Следующий код выдает сообщение «невозможно открыть трассировку стека». Я пытаюсь отправить данные из клиента Java на Android в файл Java (https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/java/Recv.java)

Я также включил разрешения "write_external_storage" и "internet". Если я отключу «handler.post (send)», он не выдаст ошибку, но работа не будет выполнена.

Код Android:

TextView mOutput;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mOutput =  (TextView) findViewById(R.id.output);

        Handler handler = new Handler();

        Runnable send = new Runnable(){         
            public void run() {
                // TODO Auto-generated method stub
                send();
            }
            };
            mOutput.append("/nBefore");
            handler.post(send);
            mOutput.append("/nAfter");
    }

private void send(){
    Thread thread = new Thread(){
        @Override
        public void run(){
            ConnectionFactory factory = new ConnectionFactory();
            factory.setHost("sethost");
            Connection connection = null;
            try {
                connection = factory.newConnection();
                mOutput.append("/ninstance1");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                Channel channel = null;
                try {
                    mOutput.append("/ninstance2");
                    channel = connection.createChannel();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }    

                try {
                    mOutput.append("/ninstance3");
                    channel.queueDeclare("hello", false, false, false, null);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                String message = "Kamran Android E";
                try {
                    mOutput.append("/ninstance4");
                    channel.basicPublish("logs","hello", null, message.getBytes());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }           
        }
    };
    thread.start();
}
}

Трассировка стека:

Android Launch!
[2012-02-20 18:21:28 - rabbitandroid] adb is running normally.
[2012-02-20 18:21:28 - rabbitandroid] Performing com.example.rabbitmq.RabbitandroidActivity activity launch
[2012-02-20 18:21:28 - rabbitandroid] Automatic Target Mode: launching new emulator with compatible AVD '21'
[2012-02-20 18:21:28 - rabbitandroid] Launching a new emulator with Virtual Device '21'
[2012-02-20 18:21:36 - Emulator] emulator: WARNING: Unable to create sensors port: Unknown error
[2012-02-20 18:21:36 - rabbitandroid] New emulator found: emulator-5554
[2012-02-20 18:21:36 - rabbitandroid] Waiting for HOME ('android.process.acore') to be launched...
[2012-02-20 18:22:08 - rabbitandroid] HOME is up on device 'emulator-5554'
[2012-02-20 18:22:08 - rabbitandroid] Uploading rabbitandroid.apk onto device 'emulator-5554'
[2012-02-20 18:22:08 - rabbitandroid] Installing rabbitandroid.apk...
[2012-02-20 18:22:33 - rabbitandroid] Success!
[2012-02-20 18:22:33 - rabbitandroid] Starting activity com.example.rabbitmq.RabbitandroidActivity on device emulator-5554
[2012-02-20 18:22:36 - rabbitandroid] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.rabbitmq/.RabbitandroidActivity }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...