title: Getting a char array from the user without using a String
body: <p>I want to acquire a password string from the user on Android.</p>
  
  <p>I do not want this string to be stored in a Java String at any point in the process from when the user types it, to where it arrives in my code in a char or byte array.</p>
  
  <p>The reason for this is Sun's injunction against using Java Strings for sensitive data.
  <em>"Objects of type String are immutable, i.e., there are no methods defined that allow you to change (overwrite) or zero out the contents of a String after usage. This feature makes String objects unsuitable for storing security sensitive information such as user passwords. You should always collect and store security sensitive information in a char array instead."</em>
  <a href="http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx" rel="noreferrer">http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx</a> </p>
  
  <p>So I can't use EditText, because that uses Strings internally (even though it returns an Editable which could conceivably be backed by char[] or Char[]?).</p>
  
  <p>What is the simplest way to accept a char array from the user?  I'm guessing a Canvas on which I listen for key events?</p>