Android入门基础:从这里开始
英文: http://developer.android.com/training/index.html
中文: http://hukai.me/android-training-course-in-chinese/basics/index.html
建立第一个App
使用Android Studio创建项目
-
使用Android Studio创建Android项目,启动Android Studio。
- 如果我们还没有用Android Studio打开过项目,会看到欢迎页,点击New Project。
- 如果已经用Android Studio打开过项目,点击菜单中的File,选择New Project来创建一个新的项目。
-
填入内容,点击Next。
- Application Name此处填写想呈现给用户的应用名称。
- Company domain 包名限定符,Android Studio会将这个限定符应用于每个新建的Android项目。
- Package Name是应用的包命名空间(同Java的包的概念),该包名在同一Android系统上所有已安装的应用中具有唯一性,我们可以独立地编辑该包名。
- Project location操作系统存放项目的目录。
-
在Select the form factors your app will run on窗口勾选Phone and Tablet。
-
Minimum SDK. Minimum Required SDK表示我们的应用支持的最低Android版本,为了支持尽可能多的设备,我们应该设置为能支持你应用核心功能的最低API版本。如果某些非核心功能仅在较高版本的API支持,你可以只在支持这些功能的版本上开启它们(参考兼容不同的系统版本),此处采用默认值即可。
-
不要勾选其他选项 (TV, Wear, Auto and Glass) ,点击 Next.
-
在Add an activity to 窗口选择 Empty Activity,点击 Next.
-
在Choose options for your new file 窗口.
-
点击Finish完成创建。
刚创建的Android项目是一个基础的Hello World项目,包含一些默认文件,我们花一点时间看看最重要的部分:
app/src/main/res/layout/activity_my.xml
这是刚才用Android Studio创建项目时新建的Activity对应的xml布局文件,按照创建新项目的流程,Android Studio会同时展示这个文件的文本视图和图形化预览视图,该文件包含一些默认设置和一个显示内容为“Hello world!”的TextView元素。
app/src/main/java/com.iosdevlog.a1helloworld/MainActivity.java
用Android Studio创建新项目完成后,可在Android Studio看到该文件对应的选项卡,选中该选项卡,可以看到刚创建的Activity类的定义。编译并运行该项目后,Activity启动并加载布局文件activity_my.xml,显示一条文本:”Hello world!”
app/src/main/AndroidManifest.xml
manifest文件描述了项目的基本特征并列出了组成应用的各个组件,接下来的学习会更深入了解这个文件并添加更多组件到该文件中。
app/build.gradle
Android Studio使用Gradle 编译运行Android工程. 工程的每个模块以及整个工程都有一个build.gradle文件。通常你只需要关注模块的build.gradle文件,该文件存放编译依赖设置,包括defaultConfig设置:
- compiledSdkVersion 是我们的应用将要编译的目标Android版本,此处默认为你的SDK已安装的最新Android版本(目前应该是4.1或更高版本,如果你没有安装一个可用Android版本,就要先用SDK Manager来完成安装),我们仍然可以使用较老的版本编译项目,但把该值设为最新版本,可以使用Android的最新特性,同时可以在最新的设备上优化应用来提高用户体验。
- applicationId 创建新项目时指定的包名。
- minSdkVersion 创建项目时指定的最低SDK版本,是新建应用支持的最低SDK版本。
- targetSdkVersion 表示你测试过你的应用支持的最高Android版本(同样用API level表示).当Android发布最新版本后,我们应该在最新版本的Android测试自己的应用同时更新target sdk到Android最新版本,以便充分利用Android新版本的特性。更多知识,请阅读Supporting Different Platform Versions。
注意/res目录下也包含了resources资源:
drawable<density>/
存放各种densities图像的文件夹,mdpi,hdpi等,这里能够找到应用运行时的图标文件ic_launcher.png
layout/
存放用户界面文件,如前边提到的activity_my.xml,描述了MyActivity对应的用户界面。
menu/
存放应用里定义菜单项的文件。
values/
存放其他xml资源文件,如string,color定义。string.xml定义了运行应用时显示的文本”Hello world!”
创建一个LinearLayout
让输入框充满整个屏幕的宽度
-
在activity_my.xml文件里,设置EditText的layout_weight属性值为1 .
-
设置EditText的layout_width值为0dp.
启动另一个Activity
在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return).
DisplayMessageActivity的完整onCreate()方法应该如下:
管理Activity的生命周期
使用Fragment建立动态UI
- 创建一个fragment
学习如何创建一个fragment,以及实现其生命周期内的基本功能。
- 构建有弹性的UI
学习在APP内,对不同的屏幕尺寸用fragment构建不同的布局。
- 与其他fragments交互
学习fragment与activity及其他fragment间进行交互。
数据保存
- 保存到Preferences
学习使用Shared Preferences文件以Key-Value的方式保存简要的信息。
- 保存到文件
学习保存基本的文件。
- 保存到数据库
学习使用SQLite数据库读写数据。
与其他应用的交互
- Intent的发送(Sending the User to Another App )
如何创建一个隐式Intent唤起能够接收这个动作的App。
- 接收Activity返回的结果(Getting a Result from an Activity)
如何启动另外一个Activity并接收返回值。
- Intent过滤(Allowing Other Apps to Start Your Activity)
如何通过定义隐式的Intent的过滤器来使我们的应用能够被其他应用唤起。