They can both be used to describe the same action, but they can also mean different things.
I need to first describe a different word before I get to input.
I am typing my number into her contact list.
This simply means that you entering the numbers on the keypad of your phone. You could also use the same verb when talking about calling someone:
I am typing her number into my phone's dialer.
When you type something in, there is no inherent concept of it being temporary or permanent. Whether the thing you type is remembered or not is based on context.
I am programming my number into her contact list.
The verb program is used in the sense of typing something in, but also with the implication that it will remain permanent.
When you program a number into something, you will not need to program it in again at some later date—unless something unexpected happens that makes the application forget the information.
In software terms, what you are doing could be considered the equivalent of teaching an application how to do something. You are defining the values of one or more variables to which it will refer back at a future date.
By extension, you would normally not say something like this and mean it to be taken literally:
I am programming her number into my phone's dialer.
This might sound a bit strange, because a dialer doesn't normally remember anything in the same sense that a contact list does. It might be assumed that if you said this you actually meant that you were programming the number into the contact list used by the dialer, but that's something different. Dialing applications often do remember the last number dialed—but unless you were somehow entering the number in such a way that it would never be forgotten, no matter how many different calls were made afterwards, it would be unusual to use programming rather than typing.
So, typing implies a simple action, while programming implies the same action but also results in a permanent result (the action is remembered so that it either doesn't need to be repeated later on, or so that the software behind the application knows to make use of it in some permanent way).
The use of input is ambiguous. It can be taken in the simple sense of typing, or it can be taken in the more permanent sense of programming. Which sense of the word is meant or understood is commonly conveyed through context.
I am inputting her number at the dialer prompt.
This implies that it's temporary and won't be remembered. It's the same thing as saying typing.
I am inputting her number into my contact list.
This implies that it's a number that will remembered for future use. It's the same things as saying programming.
After discussing all of that, the specific phrase I am programming some text into some app is a little unusual.
You may be typing some text into some app, but you wouldn't really say you are programming some text into it. Text represents something else. In the context of a contact list, when we say number, we actually mean phone number. But if we say text, it's not at all clear what piece of information that would represent.
(Even in the case of a text message, that's something we would type or send, not something that we would program to be remembered for later recovery, repetition, or retrieval.)
So, instead of this:
I am programming some text into my app.
I would say this:
I am programming [a name / an address / a number / a note / some piece of information] into my app.
The piece of information is represented by the text you are typing, but you are programming the information itself.