747. Android 第一天- 初识-1

747. Android 第一天- 初识-1

2016-09-19    15'01''

主播: iOSDevLog

48 5

介绍:
http://v.youku.com/v_show/id_XMTczMTA2MTE5Ng==.html 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/ 存放各种densities图像的文件夹,mdpi,hdpi等,这里能够找到应用运行时的图标文件ic_launcher.png layout/ 存放用户界面文件,如前边提到的activity_my.xml,描述了MyActivity对应的用户界面。 menu/ 存放应用里定义菜单项的文件。 values/ 存放其他xml资源文件,如string,color定义。string.xml定义了运行应用时显示的文本”Hello world!” 创建一个LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" /> 让输入框充满整个屏幕的宽度 在activity_my.xml文件里,设置EditText的layout_weight属性值为1 . 设置EditText的layout_width值为0dp. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <EditText android:id="@+id/edit_message" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" /> 启动另一个Activity /** Called when the user clicks the Send button */ public void sendMessage(View view) { Intent intent = new Intent(this, DisplayMessageActivity.class); EditText editText = (EditText) findViewById(R.id.edit_message); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message); startActivity(intent); } 在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return). DisplayMessageActivity的完整onCreate()方法应该如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the message from the intent Intent intent = getIntent(); String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE); // Create the text view TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); // Set the text view as the activity layout setContentView(textView); }