You should use TextReader.Read instead of TextReader.ReadLine. Basic4android - Files (Core)
Read a single character each time. You should do it in a loop while TextReader.Ready is true.
Another option which would is usually better is to use AsyncStreams instead of polling the port.
There is no real difference between using AsyncStreams with a Bluetooth connection or a TCP/IP connection. So the tutorial is relevant. There are several related threads here: Basic4android Search: AsyncStreams Bluetooth