美文网首页我爱编程
Kongzue安卓框架开发指导意见

Kongzue安卓框架开发指导意见

作者: kongzue | 来源:发表于2018-05-27 13:44 被阅读196次

    详情请参考:https://kongzue.github.io/

    开始

    打开 Android Studio,版本号3.1.2

    框架

    根据需求引入包如下:

    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
    //对话框
        implementation 'com.kongzue.dialog:dialog:2.2.0'
    //基础框架
        implementation 'com.kongzue.baseframework:baseframework:6.3.0'
    //是否需要更新组件及模块:
        implementation 'com.kongzue.kongzueupdatesdk:kongzueupdatesdk:1.4.0'
    //是否需要选择图片、拍照的功能:
        implementation 'com.kongzue.takephoto:takephoto:2.0.0'
    //若是需要上传功能,建议okHttp,否则推荐Volley
        implementation 'com.kongzue.baseokhttp:baseokhttp:2.0.0'
    //简单的图片加载:
        implementation 'com.facebook.fresco:fresco:0.12.0'
    //是否需要视频播放:
        implementation 'com.shuyu:GSYVideoPlayer:4.1.2'
    //根据需求是否需要侧滑返回:
        implementation 'me.majiajie:swipe-back:1.0.0-alpha2'
    //是否需要轮播图:
        implementation 'com.youth.banner:banner:1.4.10'
    //是否需要扫码:
        implementation 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.3'
    //是否需要内部浏览器,需要的话X5内核:
        implementation files('libs/tbs_sdk_thirdapp_v3.2.0.1104_43200_sharewithdownload_withfilereader_withoutGame_obfs_20170609_115346.jar')
    }
    

    备注

    如果项目仅使用简单的数据通讯则使用:
    https://github.com/kongzue/KongzueUpdateSDK
    如果有表单提交的上传照片功能则使用:
    https://github.com/kongzue/BaseOkHttp

    处理权限

    <!-- 访问网络 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 网络状态 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 相机 -->
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- IMEI、手机信息、状态 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--存储读写 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 定位相关 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!-- 更新时需要的安装权限 -->
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    

    额外的,临时目录申请权限:

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="应用包名.fileProvider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_path" />
    </provider>
    

    file_path.xml:

    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        <paths>
            <external-path path="." name="external_storage_root" />
            <external-path path="" name="download"/>
        </paths>
    </resources>
    

    铺设代码:

    基础类:

    @Layout(R.layout.activity_main)
    public class MainActivity extends BaseActivity {
        @Override
        public void initViews() {
    
        }
        @Override
        public void initDatas() {
    
        }
        @Override
        public void setEvents() {
    
        }
    }
    

    基础Fragment:

    @Layout(R.layout.fragment_photo)
    public class PhotoFragment extends BaseFragment {
    
        @Override
        public void initViews() {
    
        }
    
        @Override
        public void initDatas() {
    
        }
    
        @Override
        public void setEvents() {
            
        }
    }
    

    基础网络请求:

    HttpRequest.getInstance(me)
            //自定义请求Header头部信息(选用)
            .setHeaders(new Parameter()
                    .add("Charset", "UTF-8")
                    .add("Content-Type", "application/json")
                    .add("Accept-Encoding", "gzip,deflate")
            )
            //发送请求
            .postRequest("http://www.xxx.com/test", new Parameter()
                            .add("key1", "value1")
                            .add("key2", "value3")
                            .add("key4", "value4"),
                    new ResponseListener() {
                        @Override
                        public void onResponse(JSONObject main, Exception error) {
                            //处理返回数据逻辑
                            if (error == null) {
                                //请求成功处理
                            } else {
                                //请求失败处理
                                Toast.makeText(me, "网络错误,请重试", Toast.LENGTH_SHORT);
                            }
                        }
                    });
    

    这是一份总结,在我目前完成的轮子的体系下快速完成一个App一开始所需要干的事情。

    Framework Docs:

    空祖家的APP拍照&相册选择工具: https://github.com/kongzue/TakePhoto
    空祖家的对话框工具: https://github.com/kongzue/Dialog
    空祖家基础框架库: https://github.com/kongzue/BaseFramework
    空祖家的App更新框架: https://github.com/kongzue/KongzueUpdateSDK
    BaseVolley: https://github.com/kongzue/BaseVolley
    BaseOkHttp: https://github.com/kongzue/BaseOkHttp
    SharedPreferences的简易封装:https://github.com/kongzue/Preferences
    Android广告图片轮播控件: https://github.com/youth5201314/banner
    扫码:https://github.com/dlazaro66/QRCodeReaderView

    PS:

    懒惰是最大的生产源动力...XD

    相关文章

      网友评论

        本文标题:Kongzue安卓框架开发指导意见

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