The problem is she just won't focus and I don't know how to teach that at this point.
Clicker train it. When I get a new puppy I wear my treat bag all the time, and I have a clicker attached to it I set aside a couple of short sessions every day where I hang out with puppy and whenever s/he does something I like (look at me? come towards me? lay down on the floor? sit?) I click and toss a treat. The more I reward these behaviors the more the puppy starts offering them up. I don't say ANYTHING, I simply wait for the dog to do them. This is called "capturing" behaviors. Usually by the time we're in puppy class a few weeks later I've got a dog that will lay on the floor and stare at me for hours if I toss an occasional treat.
If she isn't food motivated (what have you tried as training treats?), make her work for her meals - a piece of kibble for eye contact. Work with her in every room in your house, in the garage if you have one, and then outside on leash in a boring part of your yard. Don't say her name, don't ask for attention, just stand or sit with her calmly and wait. I sit on the floor with the puppy a few feet away and food in my hand. I wait for them to stop mugging me for the treat and to stop looking at it. At some point they look up at me and I mark it (with the clicker, or your voice if you prefer - "yes!") and give it to them.
Work up to walks by having her sit at your side on leash by the front door, then with the door open, then a few feet outside the door. Wait for eye contact and reward it. Over and over again. Every so often on the walk stop and wait. It may take awhile at first, but eventually she'll probably sit and look at you as if to figure out what the heck you're doing! Reward it and continue the walk. If you simply can't get her to do anything for a food reward, no matter how yummy or how hungry she is, use her ball.
The problem you have right now is that she's learned to tune you out and she's learned that she can ignore you with no consequences. The reason capturing is good is because she can't ignore a command if you don't give a command. You're building default behaviors, things you expect her to do automatically, without being told. You can add a cue later (I use "watch"), but for now I wouldn't bother. And when you do add a command, go back to step one and work in the house first, gradually building up to more distracting environments. It's great that she obeys indoors, but unfortunately that's not carrying over to outdoors so you need more work on focus in general.
Require eye contact for EVERYTHING. She wants go go outside for come inside? She sits and looks at you first. You have her food bowl in your hand? Wait for her to sit and look at you before setting it on the floor. Going for a walk? She sits and looks at you before you open the door. She wants you to throw her ball for her? She asks for it by sitting and looking at you - every single time.
And finally - get better treats!!!!