Android有用代码片段01
2016-06-22 16:38
447 查看
1. Download文件夹
绝对路径/storage/emulated/0/Download/xxx
遍历
File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); File[] files = file.listFiles(); for (int i = 0; i < files.length; ++i) { Log.e(TAG, files[i].getAbsolutePath()); }
2. ButterKnife多参数
绑定多个参数@OnClick({ R.id.dialog_dau_share_wx, R.id.dialog_dau_share_wx_timeline, R.id.dialog_dau_share_weibo, R.id.dialog_dau_share_qq })
3. submodule的使用方法
submodule与git可以保持实时同步.添加
git submodule add https://github.com/SpikeKing/DroidPlugin.git DroidPlugin
使用
git submodule update--init --recursive
导入, 路径多于一个, 前面不添加冒号(:).
include':app', 'DroidPlugin:project:Libraries:DroidPlugin'
引用
compile project(':DroidPlugin:project:Libraries:DroidPlugin')
4. 更新Github的Fork库
参考5. 检测App是否安装
使用PackageManager.// 检查App是否安装privatebooleanappInstalledOrNot(String uri){ PackageManager pm = getPackageManager(); boolean app_installed; try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); app_installed = true; } catch (PackageManager.NameNotFoundException e) { app_installed = false; } return app_installed; }
6. Canvas重绘
invalidate(). 参考.7. 按钮的默认点击效果
波纹效果(5.0+), 阴影效果(5.0-).android:background="?android:attr/selectableItemBackground"
继承样式
<!--按钮--><stylename="PersonInfoButton"parent="@android:style/ButtonBar"> <itemname="android:layout_width">@dimen/d80dp</item> <item name="android:layout_height">@dimen/d32dp</item> <item name="android:textSize">@dimen/d14sp</item> </style>
注意: @android:style/ButtonBar
8. Proguard去除Log信息
默认删除log.i, .v, 可以指定删除.d, .e. 参考.# 删除Log -assumenosideeffects classandroid.util.Log{ *; } -assumenosideeffects classandroid.util.Log{ publicstatic *** d(...); publicstatic *** e(...); }
9. 简化数据库的使用
在使用数据库时, 操作有些复杂, Sugar库简化使用方法. 参考.compile 'com.github.satyan:sugar:1.3'
10. 点击被填充链接的EditView.
通过在结尾处添加一个不占位的空格("\u200B").// 设置可以点击和编辑的EditTextprivatevoidsetEditClickable() { mEtEditText.setMovementMethod(LinkMovementMethod.getInstance()); Spannable spannable = new SpannableString("http://www.baidu.com"); Linkify.addLinks(spannable, Linkify.WEB_URLS); // 添加了零宽度空格(\u200B), 才可以点击到最后的位置, 否则会触发链接 CharSequence text = TextUtils.concat(spannable, "\u200B"); mEtEditText.setText(text); }
11。时间戳转换
SimpleDateFormat dateFm = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.ENGLISH); 1.出现错误有可能是因为Locale问题,比如用你的代码输出当前时间,后面得到了“午后”两个汉字。(我是中文系统) 2.HH 是 0-23 h 是0-12 这样就没有问题了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories