小知识汇总

来源:互联网 发布:sumts是什么网络类型 编辑:程序博客网 时间:2024/06/07 09:36
截取某个字符(不包括)的后半段
String str = "s\ziyuan";String newStr = str.subString(str.indexOf("\\"),str.length());
去掉标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
AutoCompleteTextView内容的监听
 /**         * 当输入关键字变化时,动态更新建议列表         */        mAtvAdr.addTextChangedListener(new TextWatcher() {            @Override            public void afterTextChanged(Editable arg0) {            }            @Override            public void beforeTextChanged(CharSequence arg0, int arg1,                                          int arg2, int arg3) {            }            @Override            public void onTextChanged(CharSequence cs, int arg1, int arg2,                                      int arg3) {                if (cs.length() <= 0) {                    return;                }//                String city = ((EditText) findViewById(R.id.city)).getText()//                        .toString();                /**                 * 使用建议搜索服务获取建议列表,结果在onSuggestionResult()中更新                 */                mSuggestionSearch                        .requestSuggestion((new SuggestionSearchOption())                                .keyword(cs.toString()).city(city));            }        });
实现这个接口可以监听控件获取焦点的情况并处理
View.OnFocusChangeListener
@Overridepublic void onFocusChange(View v, boolean hasFocus) {    if (hasFocus){        ivFace.setVisibility(View.VISIBLE);    }else {        ivFace.setVisibility(View.INVISIBLE);    }}
控制系统软键盘的代码
ivFace.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        if (isFace){            gvFace.setVisibility(View.VISIBLE);            //关闭软键盘            ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow                    (AddSaysayActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);            ivFace.setImageResource(R.drawable.chatting_setmode_keyboard_btn_normal);            isFace=false;        }else {            gvFace.setVisibility(View.INVISIBLE);            //更改软键盘状态,开启键盘            ((InputMethodManager)AddSaysayActivity.this.                    getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);            ivFace.setImageResource(R.drawable.chatting_biaoqing_btn_normal);            isFace=true;        }
WebView加载资源Gif图,也可加载本地Gif图
webView= (WebView) findViewById(R.id.webView);String file="file:///android_asset/test.gif";webView.loadUrl(file);

10、android软键盘把控件往上挤的解决办法:


  键盘区域外才是屏幕的边缘,定义布局文件时使用:android:gravity="bottom"的话就会被挤到上部!

  解决办法:

  在此工程的androidMainfest.xml文件中对应的Activity中写入 android:windowSoftInputMode="adjustPan"

  或者在配置文件中把布局文件的大小写死!

12.7
Uri
Bitmap photo = BitmapFactory.decodeFile(getIntent().getStringExtra("path"));
uri.getPath()   
Uri.parse("")
Uri.fromFile(file)

一些工具方法:
//获取时间差private String diff(String str1, String str2) {    String final_dif;    Date d1 = null;    Date d2 = null;    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    try {        d1 = sdf.parse(str1);        d2 = sdf.parse(str2);    } catch (ParseException e) {        e.printStackTrace();    }    Long diff = null;   //两时间差,精确到毫秒    if (d2 != null) {        diff = d2.getTime() - d1.getTime();    }    Long day = diff / (1000 * 60 * 60 * 24);          //以天数为单位取整    Long hour = (diff / (60 * 60 * 1000) - day * 24);             //以小时为单位取整    Long min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);    //以分钟为单位取整    Long secone = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);    if (day != 0) {        final_dif = day + "天前发布";    } else if (hour != 0) {        final_dif = hour + "小时前发布";    } else {        final_dif = min + "分钟前发布";    }    return final_dif;}private String FFLocal_time() {    SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    return sDateFormat.format(System.currentTimeMillis());}/** * 获取链接的后缀名 * * @return */public static String parseSuffix(String url) {    Matcher matcher = pattern.matcher(url);    String[] spUrl = url.toString().split("/");    int len = spUrl.length;    String endUrl = spUrl[len - 1];    if (matcher.find()) {        String[] spEndUrl = endUrl.split("\\?");        return spEndUrl[0].split("\\.")[1];    }    if (!endUrl.contains(".")){        return endUrl;    }else {        return endUrl.split("\\.")[1];    }}
获取cpu信息
private String[] getCpuInfo() {   String str1 = "/proc/cpuinfo";   String str2 = "";   String[] cpuInfo = {"", ""};  //1-cpu型号  //2-cpu频率   String[] arrayOfString;   try {      FileReader fr = new FileReader(str1);      BufferedReader localBufferedReader = new BufferedReader(fr, 8192);      str2 = localBufferedReader.readLine();      arrayOfString = str2.split("\\s+");      for (int i = 2; i < arrayOfString.length; i++) {         cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";      }      str2 = localBufferedReader.readLine();      arrayOfString = str2.split("\\s+");      cpuInfo[1] += arrayOfString[2];      localBufferedReader.close();   } catch (IOException e) {   }   LogUtil.log("cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);   return cpuInfo;}

0 0