- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang viết một ứng dụng cần trao đổi dữ liệu với thiết bị Bluetooth 2.1. Tôi đã làm điều đó nhiều lần, nhưng lần này có điều gì đó kỳ lạ đã xảy ra.
Log.d("TAG", "connectToDevice");
if(macAddress != null)
deviceToConnect = mBluetoothAdapter.getRemoteDevice(macAddress);
Log.d("TAG", "macAddress != null");
if(deviceToConnect != null)
thử {
btSocket = deviceToConnect.createRfcommSocketToServiceRecord(UUID.fromString(SharedIncludes.SPP_UUID));
} catch (IOException e) {
btSocket = null;
e.printStackTrace();
}
Log.d("TAG", "deviceToConnect != null");
if(btSocket != null){
thử {
inputStream = btSocket.getInputStream();
Log.d("TAG", "inputStream OK");
} catch (IOException e) {
inputStream = null;
Log.d("TAG", "inputStream KO");
e.printStackTrace();
}
thử {
đầu raStream = btSocket.getOutputStream();
Log.d("TAG", "outputStream OK");
} catch (IOException e) {
đầu raStream = null;
Log.d("TAG", "outputStream KO");
e.printStackTrace();
}
}
Log.d("TAG", "btSocket != null");
Log.d("TAG", "onConnectionEstablished");
Sau giai đoạn khám phá, tôi nhận được BluetoothDevice mà tôi cần kết nối, sau đó tôi nhận được các luồng ổ cắm, đầu vào và đầu ra.
Sau đó, tôi có một chuỗi đọc từ luồng đầu vào.
int byteRead;
trong khi (nghe) {
thử {
if(inputStream!=null){
Log.d("TAG", "inputStream: " +inputStream);
byteRead = inputStream.read();
}khác{
Log.d("TAG", "inputStream là null!");
continue;
} // Phần còn lại của mã ở đây
tôi đang thực hiện inputStream.read()
Tôi gặp lỗi này khi chạy:
java.lang.NullPointerException: Cố gắng gọi phương thức ảo 'int java.io.InputStream.read(byte[], int, int)' trên tham chiếu đối tượng null
tại android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:427)
tại android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:60)
tại com.me.testapplication.Connection_BT21.run(Connection_BT21.java:152)
Câu hỏi 1: Nếu tôi đang kiểm tra inputStream != null, tại sao tôi lại nhận được NullPointerException?
Câu hỏi 2: Nếu tôi thử gọi read(), tại sao lại đọc(byte[], int, int)?
câu trả lời hay nhất
Tôi đã gặp lỗi, bạn vẫn ổn: ổ cắm có lỗi. Tôi cần gọi socket.connect()!
if(macAddress != null)
deviceToConnect = mBluetoothAdapter.getRemoteDevice(macAddress);
Log.d("TAG", "macAddress != null");
if(deviceToConnect != null)
thử {
btSocket = deviceToConnect.createRfcommSocketToServiceRecord(UUID.fromString(SharedIncludes.SPP_UUID));
} catch (IOException e) {
btSocket = null;
e.printStackTrace();
}
Log.d("TAG", "deviceToConnect != null");
if(btSocket != null){
//Đây là dòng bị thiếu!
btSocket.connect();
thử {
inputStream = btSocket.getInputStream();
Log.d("TAG", "inputStream OK");
} catch (IOException e) {
inputStream = null;
Log.d("TAG", "inputStream KO");
e.printStackTrace();
}
thử {
đầu raStream = btSocket.getOutputStream();
Log.d("TAG", "outputStream OK");
} catch (IOException e) {
đầu raStream = null;
Log.d("TAG", "outputStream KO");
e.printStackTrace();
}
}
Đó là lý do tại sao inputStream chưa sẵn sàng và tôi gặp lỗi đó.
Xin lỗi, tôi chỉ không nhìn thấy nó.. Hy vọng nó sẽ giúp được người khác!
Về android - inputStream.read() gây ra NullPointerException (sau khi kiểm tra inputStream !=null), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24267671/
Tôi có hai phương thức trong một lớp: Private static inputStream getSongStream(String ip, String id){ try { U
Tôi đã tạo một lớp mới mở rộng inputStream và phải @Override read(). Tôi đang cố gắng sử dụng phương thức read(int b) nhưng khi tôi sử dụng nó lại chuyển sang phương thức read() và tôi không thể sử dụng các tham số, tôi
Tôi đang cố gắng viết một hàm sẽ chấp nhận một Dòng đầu vào có dữ liệu tệp nén và trả về một Dòng đầu vào khác có dữ liệu được giải nén. File nén sẽ chỉ chứa một file nên không cần tạo thư mục, v.v... Tôi đã thử
Tôi tự hỏi liệu có cách lý tưởng nào để xâu chuỗi nhiều luồng đầu vào thành một luồng đầu vào liên tục trong Java (hoặc Scala) hay không. Tôi cần nó để phân tích các tệp phẳng mà tôi tải qua mạng từ máy chủ FTP.
Điều tôi muốn làm là: mở inputStream của một tệp lớn, đọc nó theo khối 10MB, tải lên một khối, đọc khối tiếp theo. val chunkCount = Math.ceil(tổng
Tôi không biết hiểu thế nào: { if (inputStream **!= null**) { inputStream.close(); Từ ví dụ đó: public c
Tôi muốn biết liệu inputStream có trống không khi không sử dụng phương thức read(). Có cách nào để biết nó có trống mà không cần đọc không? Câu trả lời hay nhất Không, bạn không thể. inputStream được thiết kế để xử lý các tài nguyên từ xa, vì vậy trước khi thực sự đọc nó
Tôi đã tạo một trình nghe luồng đầu vào bluetooth và chỉ hỏi if(InputStream.isAvailable > 0) để kiểm tra xem có dữ liệu đến không, sau đó tạo một vòng lặp để lưu trữ dữ liệu đến vào int[] cho đến khi không còn nữa và nó hoạt động Hoàn hảo
Đây là luồng mã của tôi, nội dung tệp bị thiếu, tôi nghĩ có thể có vấn đề với dòng IOUtils.toByteArray(), vui lòng hướng dẫn điều gì thực sự đang xảy ra ở đây. Nội dung tệp bị mất: Dòng inputStream = someCl
Tôi bắt đầu với phản hồi của một yêu cầu HTTP: inputStream replyInputStream = reply.getEntityInputStream() Tôi cần gzip phản hồi này
Một người dùng tải một tệp lớn lên trang web của tôi và tôi muốn gzip tệp đó và lưu trữ nó trong một blob. Vì vậy, tôi có một Dòng đầu vào không nén và blob cần một Dòng đầu vào. tôi biết cách sử dụng
Tôi đang gọi một dịch vụ trả về một tệp nén. Tôi đang nhận dữ liệu từ phản hồi dưới dạng inputStream (được cung cấp bởi javax.activation.DataHandler.getInputStream(); ). Điều tôi muốn làm là
Tôi đang cố gắng nén một Dòng đầu vào và trả về một Dòng đầu vào: nén Đầu vào công khai (InputStream in){ // Đọc "trong
Gần đây tôi thấy mã trong Kotlin đọc toàn bộ nội dung của một inputStream thành một chuỗi, ví dụ: // input thuộc loại inputStream val baos = Byte
Tôi đang cố đọc Dòng đầu vào từ IHTTPSession.getInputStream() bằng mã sau đây nhưng mã này luôn đưa ra Ngoại lệ về thời gian chờ cắm. riêng tư
Như đã đề cập trong Cách sử dụng thiết bị chặn Jersey để nhận nội dung yêu cầu, tôi đang sửa đổi EntityInput trong ContainerRequestFilter
Tôi đang viết một ứng dụng cần trao đổi dữ liệu với thiết bị Bluetooth 2.1. Tôi đã làm điều đó nhiều lần, nhưng lần này có điều gì đó kỳ lạ đã xảy ra. Log.d("TAG", "connectToDevice");
Tôi chỉ đang tự hỏi liệu đây là ý tưởng hay hay ý tưởng tồi: inputStreamReader in = new inputStreamReader(socket.getInputStream());
Tôi đang phát triển một ứng dụng Android có Chế độ xem chứa nhiều phòng trưng bày. Nội dung của thư viện (bitmap) có màu đỏ từ Internet. Đối với thư viện đầu tiên, mọi thứ đều hoạt động tốt, nhưng khi cố tải xuống hình ảnh đầu tiên của thư viện thứ hai, Bitm
Trong Dart tôi muốn đọc BMP, vì vậy có thể là tệp LỚN. Tôi làm như thế này: var inputStream = imageFile.openInputStream();
Tôi là một lập trình viên xuất sắc, rất giỏi!