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
Post a Comment