Android开发Tips

欢迎Follow我的GitHub, 关注我的CSDN.

介绍一些, 在Android开发中, 会经常使用的小知识点.

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是否安装
private boolean appInstalledOrNot(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"

继承样式

    <!--按钮-->
    <style name="PersonInfoButton" parent="@android:style/ButtonBar">
        <item name="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 class android.util.Log { *; }
-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** e(...);
}

9. 简化数据库的使用

在使用数据库时, 操作有些复杂, Sugar库简化使用方法. 参考.

compile ‘com.github.satyan:sugar:1.3‘

10. 点击被填充链接的EditView.

通过在结尾处添加一个不占位的空格(“\u200B”).

    // 设置可以点击和编辑的EditText
    private void setEditClickable() {
        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);
    }

OK. That’s all!

时间: 2024-12-27 08:18:37

Android开发Tips的相关文章

Android开发Tips(2)

欢迎Follow我的GitHub, 关注我的CSDN. 我会介绍关于Android的一些有趣的小知识点. 上一篇. 1. Dagger2的开发顺序 Module -> Component -> Application 首先模块(Module)创建须要提供的类实例, 其次把模块加入到组件(Component)中并提供须要注入的类, 最后把组件加入到应用(Application)中并提供接口. // 模块 @Module public class TestAppModule { private f

Android开发Tips(3)

欢迎Follow我的GitHub, 关注我的CSDN. 我会介绍关于Android的一些有趣的小知识点. 本文是第三篇, 其余第一篇, 第二篇. 1. UIAutomatorViewer 自动化测试是Android测试的趋势, 稳定\复用, 最常用的工具就是Espresso. 使用UIAutomatorViewer获取资源的Id, 位置/android-sdk/tools/uiautomatorviewer, 点击即可使用. 2. GitHub标签 网址, 比如: 3. 有趣的修改SVG库 地址

如何紧跟android开发的潮流

title: 如何紧跟android开发的潮流 date: 2015-08-26 20:53:39 categories: 翻译 文章出处:转载自 微凉一季 的blog,转载注明出处 而且 本文翻译来自外文 今天看了篇文章,开发如何跟上发展的潮流,跟我的感受不谋而合,故整理翻译一下,以飨他人. android在世界上发展的非常迅猛,作为一个android 开发者,很重要的一件事就是要跟上前沿潮流,每次主要的发布都带来一堆新特性,工具不断改善,每周都有新lib的不断诞生,每天都有不错的博客帖子发布

Android 开发最佳实践

从Futurice公司Android开发者中学到的经验. 遵循以下准则,避免重复发明轮子.若您对开发iOS或Windows Phone 有兴趣, 请看iOS Good Practices 和 Windows client Good Practices 这两篇文章.摘要 ??? 使用 Gradle 和它推荐的工程结构??? 把密码和敏感数据放在gradle.properties??? 不要自己写 HTTP 客户端,使用Volley或OkHttp库??? 使用Jackson库解析JSON数据???

Android开发学习---使用Intelij idea 13.1 进行android 开发

原文:Android开发学习---使用Intelij idea 13.1 进行android 开发 1.为什么放弃eclipse?太卡!! 实在受不了eclipse的卡了,运行WEB项目还好,但android开发实在太慢,太慢!经常卡死,CPU经常被占满! 看网上很多人都说比Intelij idea好用,就试下,目前还在test阶段,总之是各种不习惯,很多快捷键之类的跟eclipse完全不一样.还要多熟悉! 另外android studio 也比较卡,而且用起来相当难受,完全是intelij 的

Android开发性能优化总结(一)

安卓开发应用首先要讲究良好的用户体验,如果一款软件卡顿现象严重,不流畅,经常崩溃,那么将给用户带来极不良好的体验,从而损失用户. 在实际开发和学习中,我总结了一下关于安卓性能的优化,供大家参考交流. 应用程序的性能问题体现在很多方面, 比如第一次启动速度慢,或者进入某一界面速度慢:动画执行过程不流畅,或者动画执行卡顿时间长:ListView列表滑动过程中卡顿,不流畅:应用程序自定义的某特定界面执行速度慢:响应某一用户事件时长时间无响应(ANR):操作数据库时,执行大量数据的增删改查操作,执行速度

Android开发人员必知的开发资源

developer.android.com 官方开发人员网站推荐资源 在动手编写第一个 Android 应用之前,用心读一读 Android Design 章节.尤其是以下的这些文章: Devices and Displays  (设备和显示) Touch Feedback(触摸反馈) Metrics and Grids (度量和网格) Iconography (图像研究) 同一时候也请下载 Downloads 部分的代码,这些代码囊括了 Android 图标和控件的设计模板,源文件.样式以及无

[Xamarin.Android] Fragment Tips

[Xamarin.Android] Fragment Tips Fragment用途 快速搞懂 Fragment的用途,可以参考下列文章: Android Fragment 使用心得 Android 3.0之前版本加入Fragment 因为在Android 3.0之后,才支持Fragment功能.所以在Xamarin中要开发3.0之前版本的APP,依照下列文章的步骤,就可以在APP中使用Fragment功能: Supporting pre-Honeycomb Android using Supp

android开发开源宝贝——持续更新。。。

2016年11月11日更新 http://www.apkbus.com/forum-417-1.html http://p.codekk.com/detail/Android/hejunlin2013/LivePlayback www.codekk.com https://github.com/Trinea/android-open-project Android 开源项目分类汇总 我们的微信公众号:codekk.二维码如下: 专注于 Android 开源分享.源码解析.框架设计.Android