Android客户端入门开发

背景

为了让大家对Android开发流程有个整体的认识,我们用一张流程图来描述下一个客户端从开发,测试,到打包,上架的完整流程,具体流程如下图所示:

1.png

开发前准备

1: 开发工具

JDK

因为Android本质上也是用的Java语言开发,所以编译环境也需要用到Java虚拟机,在开发之前,我们需要下载JDK,并配置JDK环境

JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

同意协议后,下载相应版本的JDK,具体的环境配置教程可自行百度,网上很多指导教程,这里就不详述了

2.png

Android Studio

工欲善其事必先利其器,在准备开发之前,我们同样需要下载和安装Android专业的IDE开发工具,目前针对Android开发主要有两款IDE,分别是Eclipse和Android Studio,但是目前主流用的基本上都是Android studio,下面我们就主要分享一下Android Studio的安装与配置。

Android IDE和插件下载地址:https://www.androiddevtools.cn/

3.png

IDE的版本,可以根据大家的系统和电脑配置进行选择,具体的下载和安装流程,相信应该难不到大家,下面主要和大家分享下IDE的几个重要配置。

  • Android SDK配置,开发之前一定需要先配置这个SDK路径,否则编译运行的时候会报错提示。
4.png
5.png
  • gradle配置,这个地方主要配置gradle编译的路径
6.png

项目开发

为了引导大家入门,下面我们就以一个简单的示例来跟大家分享下Android开发的流程和步骤

1:新建项目

7.png
8.png

新建完项目之后,我们通过上图来分析下Android工程的项目结构:

  • libs文件夹主要用于存放项目或者模块需要的第三方依赖包文件
  • main->java目录下主要存放项目的开发代码
  • res下-mipmap和drawable文件夹主要用于存放一些UI设计的资源文件和自定义布局文件
  • res下-layout文件夹主要用于存放UI布局页面文件
  • androidMainfest主要是项目或者模块的配置文件,主要用于注册一些Activity/服务或者广播等配置
  • build.gradle主要是项目或者模块的配置文件,主要用于配置项目的版本和编译打包文件等脚本文件

2:项目架构设计

项目采用MVP设计模式,针对MVP具体的介绍这里就先不展开描述了。

其中业务处理逻辑全部放在P层,像App中网络请求模块全部都放在P层来处理,

override fun requestHomeData(url: String) {
    mModel.requestHomeData(object : MySubscriber<HomeDataRespModel>(mView.context) {
        override fun _onNext(t: HomeDataRespModel?) {
            Logger.d(Gson().toJson(t))
            if (t!!.isOk()) {
                //解密 encryptData
                mView.requestResult(t)
            } else {
                mView.requestFailResult(t.errorMsg)
            }
        }

        override fun _onError(message: String?) {
            Logger.e(message)
        }
    }, url)
}

view层,负责UI上数据的展示和刷新

override fun initViewsAndEvents() {
    super.initViewsAndEvents()
    recycler_home.layoutManager = LinearLayoutManager(this)
    recycler_home.isNestedScrollingEnabled = false
    adapter = HomeDataAdapter()
    recycler_home.adapter = adapter

    adapter!!.setOnItemClickLitener { v, dataModel, position ->
        mBundle = Bundle()
        mBundle!!.putString("title",dataModel.title)
        mBundle!!.putString("url",dataModel.link)
        openActivity(WebViewActivity::class.java,mBundle)
    }

    refresh_home.autoRefresh()
    refresh_home.setOnRefreshListener { refreshlayout ->
        isRefresh = true
        adapter!!.clear()
        currentPageNum = 0
        //上拉刷新
        requestData()
        refreshlayout.finishRefresh(1500)
    }
    refresh_home.setOnLoadmoreListener { refreshlayout ->
        isRefresh = false
        currentPageNum++
        //下拉加载
        requestData()
        refreshlayout.finishLoadmore(1500)
    }
    refresh_home.isEnableLoadmore = true
    refresh_home.refreshHeader = WaterDropHeader(this)
    refresh_home.refreshFooter = BallPulseFooter(this).setSpinnerStyle(SpinnerStyle.Scale)
}

private fun requestData() {
    mPersenter.requestHomeData(ConstantConfig.URL_REQUEST_HOME_DATA + currentPageNum + "/json")
}

override fun requestResult(homeDataRespModel: HomeDataRespModel) {
    try {
        adapter!!.appendToList(homeDataRespModel.data!!.datas)
    } catch (e:Exception) {
        Logger.e(e.message)
    }
}

override fun requestFailResult(errMsg: String) {
    ToastUtils.showShort(errMsg)
}

3:打包发布

编译项目后,可以直接选择Build Apk,然后直接取release目录下的apk包,提供外部安装使用。

9.png

最后我们来看下最终的效果实现图

App主页

10.jpg

App内容详情页:

11.jpg

最后我们附上项目的开源地址,有兴趣的朋友可以clone看下

项目Git传送门:https://github.com/octopusy/AndroidBaseProject

项目打包发布

项目配置打包

12.png
13.png

我们在生成jks签名证书之后,可以直接在模块的build.gradle配置文件中配置,这样打包出来之后的App包则是直接签名后的包,可直接提供外部安装使用。

渠道发布

软件著作软很重要,很多应用市场都会要求上传软件著作权电子扫描件

1、腾讯应用宝 :http://open.qq.com (需要软著)

14.png

需要的素材规格:

(1)应用小图标:尺寸16x16,大小20K以内,PNG格式的图片

(2)应用图标:尺寸512*512,大小200K以内,PNG格式

(3)应用截图:2-5张截图(尺寸保持一致),单张图片不超过1M,截图不能小于320*480像素,推荐480 * 800像素,JPG、PNG格式 。

(4)版权证明:应用上架必须提供软著版权证明,否则无法上架,请参考版权证明指引,大小2M以内,支持JPG/PNG格式的图片

注意:腾讯应用宝上传的apk需要经过加固,可以使用它推荐的乐固加固软件,加固之后还需要在本地安装一个乐固的签名工具 ,给加固过的安装包添加一个签名,签名是在签名工具里生成的,下载签名工具到电脑安装后打开,之后的具体步骤如下图:

15.png
  • 登录完之后现在辅助工具这里生成签名文件和相关的签名信息
16.png
  • 然后再回到加固
17.png

2、360手机助手:http://dev.360.cn (需要软著和资质许可证明)

18.png

需要的素材规格:

(1)应用图标:尺寸:512*512PX,圆角半径弧度:70PX,图片格式:PNG。

(2)应用截图:4-5张截图(尺寸保持一致),支持JPG、PNG格式。截图尺寸要求:不小于800 * 480(480 * 800),单张图片不能超过3M。请去除截图中的顶部通知栏。

(3)纸质软著登记证书:可上传纸质软著登记证书或软著受理函,要求:必须加盖公章,格式jpg、png,大小不超过1M。

(4)资质许可证明:相关版权材料均可压缩为RAR、ZIP格式上传 ,JPG、PNG或压缩包格式,图片大小不能超过1MB,有多个文件请打包为RAR、ZIP格式,大小不能超过10MB。

3、华为:http://developer.huawei.com/consumer/cn (需要免责函)

19.png

需要的素材规格:

(1)应用图标:尺寸:216*216px,图片格式:PNG

(2)应用截图:最少3张截图,支持JPG、JPEG或PNG格式,建议分辨率:450*800(宽高比为9:16),单张图片最大为2M。

(3)应用版权证书或代理证书:免责函模板: 免责函模板 JPG、PNG、BMP格式,不能超过4MB 应用版权证书或代理证书详细说明请参考版权资质说明

4、阿里应用商店/豌豆荚/PP助手:http://open.uc.cn (需要软著)

20.png

需要的素材规格:

(1)应用图标:png格式图标,背景透明且带圆角,建议上传分辨率512px * 512px(最低256px * 256px)

(2)应用截图:至少4张截图,支持jpg或png格式,不可上传iOS应用截图,分辨率请勿小于480 * 800或800 * 480

(3)证明材料:最多上传六张证明材料

  • 请提供软件著作权扫描件,电子版软著提交至电子版权证书处,纸质版软著提交至证明材料处,提交电子版软著后可不用提交纸质版软著 快速申请软件著作权
  • 若未申请软件著作权,请下载 开发者声明,填写后提交扫描件
  • 所有文件上传仅接受JPEG/PNG格式(*涉及到新闻、股票、医疗、彩票、银行业务等还需要提供相应版权证明)

5、百度手机助手/安卓市场/91助手:http://app.baidu.com

21.png

需要的素材规格:

(1)应用图标:JPG或PNG格式的图标,尺寸为512×512px,容量小于800KB

(2)应用截图:4到6张最小尺寸为480px*800px的png格式或jpg格式的图片,每张照片不得超过1M

6、小米:https://dev.mi.com

22.png

需要的素材规格:

(1)行业资质证明:ICP备案号 、软件著作权书、ICP证或ICP备案截图

(2)应用截图:至少3张720 * 1280或1080 * 1920 应用图片信息如需使用到手机外观图片,禁止使用 iPhone 或其他品牌手机外观素材,应用图片信息中系统状态栏禁止存在与本应用无关的第三方应用图标

7、vivo:https://dev.vivo.com.cn

23.png

需要的素材规格:

(1)应用图标:支持jpg/png格式,尺寸要求长等于宽,不低于256 * 256,不超过512*512,大小50k以内,仅支持直角图标

(2)应用截图:3-5张清晰截图。尺寸为竖图480*800,格式为jpg/png/jpeg,每张图片尺寸一致,单张图片不超过2MB

8、oppo:http://open.oppomobile.com (需要软著或者承诺函)

24.png

需要的素材规格:

(1)应用图标:尺寸:512*512px,图片格式:PNG,小于1M

(2)应用截图:3-5张截图,支持JPG、PNG格式。截图尺寸要求:1080*1920,单张图片不能超过1M。请去除截图中的顶部状态栏的通知图标,图片中不得使用其他品牌的手机作为边框或宣传图

(3)软件版权证明:提供承诺函并上传在其他主流市场(如:应用宝、小米、 华为)后台审核上架的截图。PS:特殊分类必须要提供软著哦(相亲、交友、抢红包、彩票、直播等,具体特殊类别可参考《https://open.oppomobile.com/wiki/doc#id=10022应用资质审核规范》。应用承诺函模板请点击参考:《https://open.oppomobile.com/wiki/doc#id=10005应用承诺(免责)函模板》

9、三星:http://support-cn.samsung.com/App/DeveloperChina/Home/Index

25.png

需要的素材规格:

(1)应用图标:PNG 格式 512 X 512 像素 小于 1024 KB

(2)应用截图:JPG/PNG 格式,最小 320 像素,最大 3840 像素,图片比例 2:1,至少需要4个图片,最多可上传8个。

(3)邮箱

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • 1. 手机测试概念 传统手机测试 VS 手机应用软件测试 传统手机测试 传统的手机测试,我们说的是指测试手机本...
    连猫都嫌弃我阅读 487评论 0 0
  • android开发者这么久,你是否真的了解android开发规范呢?本文转自https://www.jianshu...
    毹毹阅读 2,596评论 0 2
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,517评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,561评论 0 11
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,724评论 1 1