论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
移动端开发
›
[干货]手把手教你写一个安卓app
[干货]手把手教你写一个安卓app
涛声依旧在
金牌会员
|
2022-6-23 20:02:13
|
显示全部楼层
|
阅读模式
楼主
主题
630
|
帖子
630
|
积分
1890
摘要
:最近有很多小伙伴在后台留言:Android Studio。我想大家是想写一个手机app,前面已经分享了在QT上如何写一个安卓蓝牙app,虽然qt可以做app,但是比起Android Studio还是差很多。这里介绍一种快速入门的方法来制作一款app,就算你是零基础小白没有学习过java语言也没有关系,相信看完我的文章,半天时间也能做一个安卓app。本文针对初学者,大佬勿喷啊
1. 创建HelloWorld项目
这里我就不介绍如何安装这个Android Studio软件了,网上有很多教程或者去B站找对应的安装视频就可以了。安装好软件之后就开始按照下面的步骤新建工程了。
选择一个空应用
按照图片的配置方法,设置好工程名和路径
2. 修改阿里云镜像源
这一步一定要需要,不然的话你需要编译很久,因为在sync的过程中要下载的很多资源是在外网的,这里使用阿里云镜像源就会很快。修改后只对本项目有效:
第一处代码
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
复制代码
第二处代码
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
复制代码
这样编译起来就会快很多,建议这样修改,不然很可能下载失败导致编译不成功!
3. 真机调试
我们可以编译完成后打包成apk文件发送到你的手机进行安装运行,但我建议还是手机连上数据线在线调试比较好,省去很多时间也非常方便。手机连接电脑后打开USB调试,这里以华为荣耀V10手机作为参考。
1.选择USB连接方式是MIDI(将设备用做MIDI输入设备)
2.在设置的“系统和更新”—>开发人员选项—>打开USB调试
设备作为MIDI设备
开启USB调试
然后点击这个三角形,就可以看到手机上的APP显示了。
运行结果和上图一样。到这里我们已经完成了一个app的制作怎么样是不是很简单啊!
接下来介绍一下代码目录,方便大家能够快速的掌握和了解项目所生成文件功能和用途!
4. Android代码目录
这里有两种文件架构,所打开的也是两种不同的目录文件。
5. Android应用程序大致启动流程
5.1. APP配置文件
5.2. 活动文件(Java)
5.3. 布局文件(XML)
Android设计讲究前后端分离设计,上面的java文件是后端,引入了activity_main这个前端界面布局文件,如果想再设计一个界面就在layout文件夹下再新建一个 .xml文件就可以了。
5.4. res资源目录(统一管理)
5.4.1. colors.xml
三个颜色有点少我们可以在加一些颜色但这里面来。
<color name="white">#FFFFFF</color>
<color name="ivory">#FFFFF0</color>
<color name="lightyellow">#FFFFE0</color>
<color name="yellow">#FFFF00</color>
<color name="snow">#FFFAFA</color>
<color name="floralwhite">#FFFAF0</color>
<color name="lemonchiffon">#FFFACD</color>
<color name="cornsilk">#FFF8DC</color>
复制代码
5.4.2. strings.xml
5.4.3. styles.xml
***
5、主界面布置
5.1线性布局(LinearLayout)
线性布局的形式可以分为两种,第一种横向线性布局,第二种纵向线性布局,总而言之都是以线性的形式一个个排列出来的,纯线性布局的缺点是很不方便修改控件的显示位置,所以开发中经常会以线性布局与相对布局嵌套的形式设置布局。
5.2相对布局(RelativeLayout)
相对布局是android布局中最为强大的,首先它可以设置的属性是最多了,其次它可以做的事情也是最多的。android手机屏幕的分辨率五花八门,为了考虑屏幕自适应的情况,在开发中建议大家都去使用相对布局,它的坐标取值范围都是相对的,所以使用它来做自适应屏幕是正确的。
5.3帧布局(FrameLayout)
帧布局原理是在控件中绘制任何一个控件都可以被后绘制的控件覆盖,最后绘制的控件会盖住之前的控件。界面中先绘制的ImageView 然后再绘制的TextView和EditView,后者就会覆盖在前者上面。
5.4绝对布局(AbsoluteLayout)
使用绝对布局可以设置任意控件在屏幕中XY坐标点,和帧布局一样绘制的控件会覆盖住之前绘制的控件,不建议大家使用绝对布局。android的手机分辨率五花八门,使用绝对布局的话在其它分辨率的手机上就无法正常的显示了。
5.5表格布局(TableLayout)
在表格布局中可以设置TableRow,可以设置表格中每一行显示的内容以及位置 ,可以设置显示的缩进,对齐的方式。
在实际应用中线行布局和相对布局是最常用的,一般自己写的app布局都相对比较简单,所以这里我们使用线性布局。打开APP配置文件中的activity_main.xml,就可以在这里面愉快的编程了。如果你之前没有玩过Android Studio也没有关系,左边修改右边预览多试试几次就大概明白了。
在这里我们可以修改点击图片所转换的网址,大家打开源码就知道如何修改了,这里就不在赘述!
在activity_main.xml文件中我们可以修改界面的布局。
到这里基本上一个简单的安卓应用就完成了。只要你安装了Android Studio软件并且拿到我的源码就可以愉快的玩耍了。什么?你拿到我的代码却不能正常编译通过?下面就教大家如何把别人的源码拿到自己的软件中编译通过!
6、代码移植
以下是需要修改文件的地方,具体修改成啥样,可以参考一个你可以打的开的工程中的配置,参考对应的文件即可。
1.修改build.gradle文件
2.修改app/build.gradle文件
修改版本号
3.修改gradle/wrapper/gradle-wrapper.properties
这个地方修改成你可以打开的工程的 . zip包
4.修改local.properties
这个地方是你的软件安装路径所在的位置,要修改成你自己的安装路径
公众号后台回复:firstapp,即可获取源码和教程文档!
[干货]手把手教你写一个安卓app
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
涛声依旧在
金牌会员
这个人很懒什么都没写!
楼主热帖
MySQL基本SQL语句之高级操作
maven配置步骤及问题
IOS OpenGL ES GPUImage 图像黑白色调 ...
一文读懂K-Means原理与Python实现 ...
Java 2023年接地气的中高级面试题一( ...
为什么说 Go 语言字符串是不可变的? ...
阿里云申请免费证书、域名解析以及ngin ...
学习ASP.NET Core Blazor编程系列二十 ...
6.使用leetcode去练习语言
WebSocket无法注入属性
标签云
挺好的
服务器
快速回复
返回顶部
返回列表