java - Reading file returns null Android -
i have app saves options in text file called options.txt save more info in file called cards.txt in oncreate checks both files, , if cards.txt not exist creates , same options.txt, write default options automaticly. problem is, when read options.txt options, returns null however, utilize same reading technique cards.txt , works dont know if way write file or way read have done?
readcards() reading cards.txt, readcolor() reading options.txt
code:
bundle com.example.auticards; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; import java.util.arraylist; import android.annotation.targetapi; import android.app.activity; import android.content.context; import android.content.intent; import android.graphics.color; import android.graphics.point; import android.os.build; import android.os.bundle; import android.os.handler; import android.view.display; import android.view.motionevent; import android.view.view; import android.view.viewgroup.layoutparams; import android.widget.framelayout; import android.widget.textview; import com.example.auticards.util.systemuihider; public class mainactivity extends activity { textview boldtext; view menu; view indicator; view scroll; view card_time_out; boolean menuvis = false; framelayout mainview; view controlsview; display display; point size = new point(); boolean alter = true; int count = 0; int scrollsize; int position = 0; fileoutputstream fos; fileinputstream fis; arraylist<string> cards = new arraylist<string>(); private static boolean auto_hide = true; private static final int auto_hide_delay_millis = 3000; private static final boolean toggle_on_click = true; private static final int hider_flags = systemuihider.flag_hide_navigation; private systemuihider msystemuihider; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); controlsview = findviewbyid(r.id.fullscreen_content_controls); boldtext = (textview) findviewbyid(r.id.fullscreen_content); menu = findviewbyid(r.id.menu); indicator = findviewbyid(r.id.indicator); display = getwindowmanager().getdefaultdisplay(); display.getsize(size); scroll = findviewbyid(r.id.scroll); mainview = (framelayout) findviewbyid(r.id.mainlayout); checkfile("cards.txt"); checkfile("options.txt", "color:red sound:true"); mainview.setbackgroundcolor(colorconvert(readcolor())); cards.add("i need time out"); cards.add("toilet"); cards.add("help me"); cards.add("i need attention"); cards.add("look @ this!"); refresh(); // set instance of systemuihider command scheme ui // activity. msystemuihider = systemuihider.getinstance(this, boldtext, hider_flags); msystemuihider.setup(); msystemuihider .setonvisibilitychangelistener(new systemuihider.onvisibilitychangelistener() { int mcontrolsheight = 0; int mshortanimtime = 0; @override @targetapi(build.version_codes.honeycomb_mr2) public void onvisibilitychange(boolean visible) { if (build.version.sdk_int >= build.version_codes.honeycomb_mr2) { if (mcontrolsheight == 0) { mcontrolsheight = controlsview.getheight(); } if (mshortanimtime == 0) { mshortanimtime = getresources().getinteger( android.r.integer.config_shortanimtime); } controlsview .animate() .translationy(visible ? 0 : mcontrolsheight) .setduration(mshortanimtime); } else { controlsview.setvisibility(visible ? view.visible : view.gone); } if (visible && auto_hide) { delayedhide(auto_hide_delay_millis); } } }); boldtext.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { if (change) { if (toggle_on_click) { msystemuihider.toggle(); } else { msystemuihider.show(); } } } }); findviewbyid(r.id.cards).setontouchlistener( mdelayhidetouchlistener); findviewbyid(r.id.options).setontouchlistener( mdelayhidetouchlistener); findviewbyid(r.id.exit).setontouchlistener( mdelayhidetouchlistener); } @override protected void onpostcreate(bundle savedinstancestate) { super.onpostcreate(savedinstancestate); delayedhide(100); } view.ontouchlistener mdelayhidetouchlistener = new view.ontouchlistener() { @override public boolean ontouch(view view, motionevent motionevent) { if (auto_hide) { delayedhide(auto_hide_delay_millis); } homecoming false; } }; handler mhidehandler = new handler(); runnable mhiderunnable = new runnable() { @override public void run() { msystemuihider.hide(); } }; private void delayedhide(int delaymillis) { mhidehandler.removecallbacks(mhiderunnable); mhidehandler.postdelayed(mhiderunnable, delaymillis); } public void showmenu (view v) { refresh(); scrollsize = display.getwidth() / cards.size(); layoutparams params = indicator.getlayoutparams(); params.width = scrollsize; indicator.setlayoutparams(params); if (menuvis) { auto_hide = true; alter = true; menu.setvisibility(view.gone); controlsview.setvisibility(view.visible); delayedhide(0); menuvis = false; } else { auto_hide = false; msystemuihider.show(); alter = false; mhidehandler.removecallbacks(mhiderunnable); menu.setvisibility(view.visible); boldtext.settext(cards.get(0)); controlsview.setvisibility(view.gone); menuvis = true; } } public void exit (view v) { finish(); } public void nextcard (view v) { count ++; if (count >= cards.size()) { count = 0; indicator.setx(0); } else { indicator.setx(indicator.getx() + scrollsize); } boldtext.settext(cards.get(count)); } public void prevcard (view v) { count --; if (count < 0) { count = cards.size() - 1; indicator.setx(display.getwidth() - scrollsize); } else { indicator.setx(indicator.getx() - scrollsize); } boldtext.settext(cards.get(count)); } public void write (string text, string filename) { seek { fos = openfileoutput(filename, context.mode_private); fos.write(text.getbytes()); fos.close(); } grab (exception e) { e.printstacktrace(); } } public string[] readcards () { string peices = null; arraylist<string> puzzle = new arraylist<string>(); string holder = ""; system.out.println("read: test1"); seek { fis = openfileinput("cards.txt"); byte[] buffer = new byte[fis.available()]; int check; while ((check = fis.read(buffer)) != -1) { if (check == 0) { break; } peices = new string(buffer); } fis.close(); char[] chars = peices.tochararray(); (char c : chars) { if (c != '^') { holder += c; } else { puzzle.add(holder); holder = ""; } } } grab (ioexception e) { system.err.println("couldn't find cards.txt!"); e.printstacktrace(); } grab (exception e) { e.printstacktrace(); } string[] result = new string[puzzle.size()]; int count = 0; (string : puzzle) { result[count] = i; count ++; } homecoming result; } public void startoptions (view v) { intent in = new intent(this, optionsactivity.class); startactivity(in); } public void refresh () { string[] customcards = readcards(); (string : customcards) { if (!cards.contains(i)) { cards.add(i); } } } public boolean checkfile (string filename) { boolean madenew = true; file f = new file(getfilesdir(),filename); if (!f.exists()) { seek { madenew = false; f.delete(); f.createnewfile(); } grab (ioexception e) { system.err.println("error while creating file"); e.printstacktrace(); } } homecoming madenew; } public boolean checkfile (string filename, string defaulttext) { boolean madenew = true; file f = new file(getfilesdir(),filename); //if (!f.exists()) { seek { madenew = false; f.delete(); f.createnewfile(); write(filename, defaulttext); system.out.println("made new file options " + f.exists()); system.out.println(read("cards.txt")); } grab (ioexception e) { system.err.println("error while creating file"); e.printstacktrace(); } //} homecoming madenew; } public string read (string filename) { string peices = null; seek { fis = openfileinput(filename); byte[] buffer = new byte[fis.available()]; int check; while ((check = fis.read(buffer)) != -1) { if (check == 0) { break; } peices = new string(buffer); system.out.println("woah"); system.out.println(peices); } fis.close(); } grab (exception e) { system.out.println("errooror"); e.printstacktrace(); } homecoming peices; } public string readcolor () { string peices = null; string color = null; seek { fis = openfileinput("options.txt"); byte[] buffer = new byte[fis.available()]; int check; while ((check = fis.read(buffer)) != -1) { if (check == 0) { break; } peices = new string(buffer); system.out.println("woah"); system.out.println(peices); } system.out.println("dsabdsak " + peices); fis.close(); peices = peices.replace("color:", ""); peices = peices.replace("sound:", ""); peices = peices.replace("true", ""); peices = peices.replace("false:", ""); peices = peices.replace(" ", ""); if (peices.equals("red")) { color = "#aa3322"; //#992211 } else if (peices.equals("blue")) { color = "#2233aa"; //#992211 } else if (peices.equals("green")) { color = "#22aa33"; //#992211 } else if (peices.equals("yellow")) { color = "#ffff00"; //#992211 } else if (peices.equals("purple")) { color = "#fb00ff"; //#992211 } else if (peices.equals("brown")) { color = "#8b6407"; //#992211 } else if (peices.equals("orange")) { color = "##ff9e00"; //#992211 } } grab (exception e) { e.printstacktrace(); } homecoming color; } public int colorconvert(string colorstr) { homecoming color.rgb( integer.valueof( colorstr.substring( 1, 3 ), 16 ), integer.valueof( colorstr.substring( 3, 5 ), 16 ), integer.valueof( colorstr.substring( 5, 7 ), 16 ) ); } } java android file io
No comments:
Post a Comment