Android开发Tips(1)

作者: SpikeKing | 来源:发表于2016-01-08 10:30 被阅读2496次

    欢迎Follow我的GitHub, 关注我的简书.

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

    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!

    相关文章

      网友评论

      本文标题:Android开发Tips(1)

      本文链接:https://www.haomeiwen.com/subject/faifkttx.html