So the way to approach this would be to export data from the Arduino into my code for the app to interpret and output accordingly.
If that means what I think it means then it is all wrong.
The code for your app is written once and then the app is uploaded to your phone. I presume you will wish the Arduino to send data to the app lots of times. That means that the app must contain the necessary code to receive data from the Arduino. Using Bluetooth may be the simplest way but WiFi is another obvious choice.
Are there any app development softwares you would recommend? Also my preferred language is C++ but I am open to to others. Thanks.
A lot depends on the eventual artistic quality of the app that you want to create. If you want to create a polished app that looks good enough that someone would pay money for it then you will probably need to use one of the advanced app creation systems. You should use Google to find them. I suspect they will all have a steep learning curve. I don't think any of them use C++. Java is the standard Android language. I believe there is a newer language called Kotlin that is claimed to be easier to use - but I suspect it is just easier relative to the very arcane Java.
Another thing to be conscious of is the requirement of Android apps (I have no experience of iPhone stuff) to obtain "permissions" for the use of various features on the phone. This is very different from the free-and-easy way that PC programs can be created and distributed.
If you just want to create a simple app for your own use and are more concerned that it be functional rather than beautiful I suggest that you use Pydroid or QPython (which use the Python language) and create an app that uses the browser as the display mechanism. That way the visual design can be done with HTML and CSS. You can use the Python Bottle web framework with Pydroid and QPython. I think Pydroid is slightly easier to use. The other convenient thing is that you could probably create the whole thing on your PC with regular Python and then copy it over to your phone - maybe with some minor tweaking needed.
There is also a Python library called Kivy that allows you to create native Android (and IPhone) apps but, again, there is a steep learning curve and I have so far have had no need to create a native app.
Finally, if you are content to run the program on your PC and just view it on your phone's browser (via WiFi) then, of course, there is no need for any app on the phone. That would avoid any requirement for the Arduino to communicate with the phone.