This still leaves your coins vulnerable because if someone gets access to your phone, they can steal them. I'm talking someone hacks their way into your phone in some manner. Not physically grabbing it from your hands.
Your idea may work if your phone didn't have service and when you wanted to transfer your coins you would turn on the service and transfer the coins.
I'm looking for 100% way to pull my bitcoins from internet/computer and put them onto a USB drive so only way to get access to them is to have the USB drive.
Well no one can access your phone unless you install some rougue app, for more security you can turn off that phone when you are not using it.
Your method is good but what if you need to spend bitcoins, that time you need to plug it in some pc and copy your wallet there.
I don't know why you want to do that but If you are worried about viruses/trojans etc use linux.
Ps: Your method is ok, but make sure to take a backup because incase it gets damaged or lost or something bad happens, you will loose your all bitcoins.
I'm storing them on USB so no one can gain access to them unless they have my USB stick(savings account). I'll keep most BTC on the USB so I know they are safe and then leave smaller denominations in my wallet to use for buying/trading(debit account).
If I want to be extra safe I can copy the wallet.dat onto 2 external storage devices before deleting the original from my wallet. If one fails or gets damaged I could always use the other.
All I have to do access the coins is plug the USB back in and replace current wallet.dat with saved wallet.dat from USB.
If there are any flaws in this someone please point them out.