android - Saving data internally to a text file from keyboard input -


i new android studio , built keyboard following tutorial. trying capture timestamped event. when button pressed timestamp. tried using sqlite database having issues it. trying create text file , save data file. wondering if able me this.

i did research on , found documentation saving data external sdcard , when tried modify code did not work.

import android.content.context; import android.inputmethodservice.inputmethodservice; import android.inputmethodservice.keyboard; import android.inputmethodservice.keyboardview; import android.media.audiomanager; import android.view.keyevent; import android.view.view; import android.view.inputmethod.inputconnection;  import java.io.file; import java.io.fileoutputstream; import java.io.filewriter;  public class simpleime extends inputmethodservice         implements keyboardview.onkeyboardactionlistener {      private keyboardview kv;     private keyboard keyboard;      private boolean caps = false;      @override     public view oncreateinputview() {          kv = (keyboardview)getlayoutinflater().inflate(r.layout.keyboard, null);         keyboard = new keyboard(this, r.xml.qwerty);         kv.setkeyboard(keyboard);         kv.setonkeyboardactionlistener(this);          return kv;     }      private void playclick(int keycode){         audiomanager = (audiomanager)getsystemservice(audio_service);         switch(keycode){             case 32:                 am.playsoundeffect(audiomanager.fx_keypress_spacebar);                 break;             case keyboard.keycode_done:             case 10:                 am.playsoundeffect(audiomanager.fx_keypress_return);                 break;             case keyboard.keycode_delete:                 am.playsoundeffect(audiomanager.fx_keypress_delete);                 break;             default: am.playsoundeffect(audiomanager.fx_keypress_standard);         }     }      @override     public void onkey(int primarycode, int[] keycodes) {         inputconnection ic = getcurrentinputconnection();         playclick(primarycode);         switch(primarycode){             case keyboard.keycode_delete :                 ic.deletesurroundingtext(1, 0);                 break;             case keyboard.keycode_shift:                 caps = !caps;                 keyboard.setshifted(caps);                 kv.invalidateallkeys();                 break;             case keyboard.keycode_done:                 ic.sendkeyevent(new keyevent(keyevent.action_down, keyevent.keycode_enter));                 break;             default:                 char code = (char)primarycode;                 if(character.isletter(code) && caps){                     code = character.touppercase(code);                 }                 ic.committext(string.valueof(code),1);         }     } 

to write text file can use java's inbuilt filewriter or fileoutputstream.

file root = new file(directory_path); file mfile = new file(root, "samples.txt"); filewriter writer = new filewriter(gpxfile); writer.append("string write."); writer.flush(); writer.close(); 

it has been answered here before: how write .txt file in android?

to timestamp, suggest using calendar , simpledateformat such.

simpledateformat sdf = new simpledateformat("yyyy.mm.dd g 'at' hh:mm:ss z"); sdf.format(calendar.getinstance()); //returns string 

Comments