详情请参考: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