标签:发微博
如果插入话题和插入@符号:
final class TopicHelper { private static final String TOPIC = "#请插入话题名称#"; private WriteBlog activity; public void insertText() { final EditText editText = activity.etMblog; final int selectionStart = editText.getSelectionStart(); final int secletionEnd = editText.getSelectionEnd(); final String text = editText.getText().toString(); if (selectionStart == -1 || secletionEnd == -1 || selectionStart > secletionEnd) { activity.etMblog.append(TopicHelper.TOPIC); final int totalLength = activity.etMblog.getText().toString() .length(); activity.etMblog.setSelection( totalLength - TopicHelper.TOPIC.length() + 1, totalLength - 1); }else { final StringBuilder sb = new StringBuilder(); sb.append(text.substring(0, selectionStart)); sb.append(TOPIC); sb.append(text.substring(secletionEnd)); editText.setText(sb.toString()); Selection.setSelection(editText.getText(), selectionStart + 1, selectionStart + TOPIC.length() - 1); } } TopicHelper(WriteBlog activity) { super(); this.activity = activity; } }
final class AtEditHelper { private static final String AT = "@请输入用户名 "; private WriteBlog activity; public void insertText() { final EditText editText = activity.etMblog; final int selectionStart = editText.getSelectionStart();//获取光标所在位置 final int secletionEnd = editText.getSelectionEnd(); final String text = editText.getText().toString(); if (selectionStart == -1 || secletionEnd == -1 || selectionStart > secletionEnd) { activity.etMblog.append(AtEditHelper.AT); final int totalLength = activity.etMblog.getText().toString() .length(); activity.etMblog .setSelection(totalLength - AtEditHelper.AT.length() + 1, totalLength - 1); }else { final StringBuilder sb = new StringBuilder(); sb.append(text.substring(0, selectionStart)); sb.append(AtEditHelper.AT); sb.append(text.substring(secletionEnd)); editText.setText(sb.toString()); Selection.setSelection(editText.getText(), selectionStart + 1, selectionStart + AtEditHelper.AT.length() - 1); } } AtEditHelper(WriteBlog activity) { super(); this.activity = activity; } }
// DEFAULT_DRAFT_TEXT_PATH = getFilesDir().getAbsolutePath()+ "/draft/text.dat"; private boolean saveDraft(String text) { try { File f = new File(DEFAULT_DRAFT_TEXT_PATH); FileUtils.makesureFileExist(DEFAULT_DRAFT_TEXT_PATH); FileUtils.saveObject(text, new FileOutputStream( DEFAULT_DRAFT_TEXT_PATH)); } catch (final Exception e) { } return false; } //这个方法是保证path存在 public static void makesureFileExist(String path) { String separator = File.separator; int index = path.lastIndexOf(separator); path = path.substring(0,index); File f = new File(path); f.mkdirs(); File f1 = new File(path); try { f1.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } public static void saveObject(String text, FileOutputStream fos) { try { ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(text); oos.flush(); oos.close(); } catch (IOException ex) { ex.printStackTrace(); } }
// path1和path2都应该是File的path public static void copy(String inputFilePath, String path2) { String separator = File.separator; int index = path2.lastIndexOf(separator); String path = path2.substring(0, index); File temp = new File(path); if (!temp.exists()) { temp.mkdirs(); } File tempFile = new File(path2); try { tempFile.createNewFile(); } catch (IOException e1) { e1.printStackTrace(); } FileInputStream inputStream = null; FileOutputStream outputStream = null; try { inputStream = new FileInputStream(inputFilePath); outputStream = new FileOutputStream(path2); byte buffer[] = new byte[4 * 1024]; int len = -1; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } outputStream.flush(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
// defaultDraftPath = activity.getFilesDir().getAbsolutePath()+ "/draft/bitmap_temp.jpg"; // defaultTempPath = activity.getFilesDir().getAbsolutePath()+ "/pic/" + System.currentTimeMillis() + ".jpg"; void saveDraft() { FileUtils.copy(defaultTempPath, defaultDraftPath); }
private void loadDraft() { String str = FileUtils.loadObject(DEFAULT_DRAFT_TEXT_PATH); etMblog.setText(str); etMblog.setSelection(str.length()); if (mImageLoadingHelper.doesDraftExist()) { mImageLoadingHelper.loadDraft(); } } public static String loadObject(String str) { Object obj = null; File f = new File(str); try { FileInputStream fis = new FileInputStream(f); ObjectInputStream ois = new ObjectInputStream(fis); obj = ois.readObject(); } catch (Exception ex) { ex.printStackTrace(); } return (String)obj; } void loadDraft() { FileUtils.copy(defaultDraftPath, defaultTempPath); activity.displayInsertBitmap(); }
如何写一个发微博的页面(包括插入图片,插入表情,插入话题,插入Location,代码全) (三),布布扣,bubuko.com
如何写一个发微博的页面(包括插入图片,插入表情,插入话题,插入Location,代码全) (三)
标签:发微博
原文地址:http://blog.csdn.net/baidu_nod/article/details/38355867