🗒️Android 移动应用开发基础教程 微课版
type
elog
tags
category
date
description
updated
Jun 25, 2024 01:12 PM
password
permalink
slug
icon
下载地址
Download Link https://demo.msy.plus/apks/androidDev-app-debug.apk
Android 移动应用开发基础教程 微课版
记录阅读 《Android 移动应用开发基础教程 微课版》 ISBN-978-7-115-47309-7 遇到的坑,这里将书上所有的代码示例整合进一个app,方便大家学习的时候有个参考。同时也将可能遇到的错误记录在这份文件中
- android studio version 4.0.1
- android SDK 10.0+
最终效果
第一章 环境部署
jetbrains会帮你安好android studio
安装好后列表里有Android studio 点击安装即可,也可以切换版本,我这里用的时4.0.1版
进入Android studio 后如果你没有安装 android sdk 会让你安装 sdk 这里可能需要科学上网,另外后面程序下载依赖也需要用到科学上网。
gradle
引用包
设置版本号
第二章 核心组件-活动
活动是什么
在android中运行任何应用都会看到不同的界面,这些界面及在界面中完成的各种操作,都通过活动完成
活动具有一下特点
- 可以通过返回键退出活动
- 可通过home建返回桌面
- 可在活动中启动另一个界面,此时按返回键可返回前一个活动
一个应用通常包含多个活动,活动之间相对独立,包含多个活动的应用,需要为其指定一个“主”活动,即启动应用时首先打开的活动。
Android 允许启动其他应用中的活动
活动的基本操作
为活动绑定自定义视图
通常在活动的
onCreate()
方法中使用setContentView()
方法来为活动绑定一个视图启动另一个活动
启动活动使用的是
startActivity()
方法结束活动则调用
finish()
,为按钮绑定事件监听器后点击按钮调用finish()
即可实现点击按钮退出活动在活动中使用Intent
显示Intent
直接忽略1-6步,手动创建java class后给class继承
Activity
后会自动引入相关包,后面步骤同理隐式Intent
这一步不要被
android.support.v7.app.AppCompatActivity
吸引了注意力,后面的代码其实还是继承AppCompatActivity
,参照上面手动输入即可,android studio会自动引入,我这边自动引入为androidx.appcompat.app.AppCompatActivity
,如果过程中遇到问题,可以编辑build.gradle
**注意这个文件有两个,选(Module:app)**在dependencies
中加入一行compile 'com.android.support:appcompat-v7:26.+'
然后android studio会报错,照着报错修复即可,这一步可能会操作到Migrate to AndroidX
,android studio也会自动为你备份,不必担心。使用预定义操作
这里使用隐式Intent打开联系人信息的地方可能不太一样了,参考官网给出的样例
我的代码实现也是参考官网给出的样例,实现也很简单,这里代码去掉了注释,完整源代码在这里
在活动之间传递数据
这一章节本身简单学习了活动的传递方式,重点了解如何在活动中传递数据。
书上的示例比较简单,new完intent后使用putExtra类似key,value的方式存进去就行。
当然在activity中传递数据的方法不止intent的,只是intent比较常用。
Activity之间传递数据的几种方式,参考自这篇文章,文章比较老了,方法竟然还是这些,甚至阿里巴巴的一些应用也是这样的。
- 使用Intent
- 使用剪切板
- 使用静态变量
Intent可以传递哪些类型的数据,来源
- 8种基本数据类型及其数组
- String(String实现了 Serializable )/CharSequence实例类型的数据及其数组
- 实现了Parcelable的对象及其数组
- 实现了 Serializable 的对象及其数组
看到这里的时候我想到能在activity中获取数据,就能用这些数据动态创建页面,所以顺便看了下动态创建元素的办法。
实际上非常简单,先声明一个LinearLayout
随后在对应的代码里获取到这个元素,再用
addView()
即可动态添加既然都动态元素添加了,肯定会遇到添加的元素超过容器大小(超出屏幕)的情况,这时在对应的布局文件外面放一层
ScrollView
即可解决问题。获取活动返回的数据
这一小节有一小部分不太一样的地方,启动活动变成了
startActivityforResult
,活动返回时也要用setResult
设置返回结果。活动的生命周期
这一章节有个检测活动生命周期的例子,这里我写了个直接获取的函数。
放到类里即可,记得把包名和类名换成你自己的即可
随后在生命周期对应的地方(其实其他类中的函数都可以)调用一下即可
最后的效果如图
代码设置界面元素
比较喜欢用代码生成界面,免去一堆xml难以寻找自己定义的一些东西,同时debug起来也比较麻烦,这里总结一些代码操作ui元素的代码片段
给某个活动设置主题
创建弹出式对话框
问题
Android Studio --“Cannot resolve symbol” 解决办法
Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用。
多半是因为 Android Studio 之前发生了错误,某些 setting 出了问题。解决方法如下:
点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。
参考文章
maven google 官方库material 文档Android Material Design全面解析(一)- MaterialButton篇设置TextView文字居中,代码实现android:layout_gravityHTML 颜色名Android 动态设置marginAndroid color(颜色) 在XML文件和java代码中Android 显示、隐藏状态栏和导航栏Android修改APP版本号Android之设置EditText输入类型(setInputType()方法和android:inputType属性)Android Studio --“Cannot resolve symbol” 解决办法
📎 参考文章
- 一些引用
- 引用文章
欢迎您在底部评论区留言,一起交流~
Loading...
Last update: 2024-06-22