If you're just operating a smartphone, I'd use servos for both jobs. They're easily capable of the sort of force and distance you're talking about here, and far easier to control than solenoids and motors and so on. Just remember that the servos need a separate power supply which must be grounded to the Arduino ground.