开始看《第二行代码》及官方第一个例程学习(部分)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始看《第二行代码》及官方第一个例程学习(部分)相关的知识,希望对你有一定的参考价值。

  本来是想先看看官方的例子学的,结果第一个就碰到问题了。。。果然有点不合适,上网找了一些书籍,发现第一行代码不错,可惜是基于eclipse的,偶然看到出第二版了,还基于android studio  我立马决定照着这本教材学!!!开始之前我就想先找找书上例子的源码,结果发现书上开头几页已经写了网址了,去github找到后就是复制链接

技术分享

然后下载git,用Android studio 导入进去,具体上网搜,导入进去之后可能会有一点错误,反正我的是有些东西没装,点下面错误里的内容就自动安装能直接编译运行了,这样就不怕出现像第一次照着官方教程结果出错的情况了,我试了几个例程 都能用,这样准备工作就做好了。总算可以开始了。

 

待续

 

关于官方第一个例程的学习(部分)

 

                                                                    就是官方的第一个例子,熟悉一下布局文件

app > java > com.example.myfirstapp > MainActivity.java

完成新项目向导后,该文件将显示在 Android Studio 中。 它包含您之前创建的 Activity 的类定义。当您构建并运行应用时,Activity 会启动,并加载显示“Hello world!”的布局文件。app > res > layout > activity_main.xml此 XML 文件定义您的 Activity 的布局。app > manifests > AndroidManifest.xml清单文件描述应用的基本特性并定义其每个组件。 Gradle Scripts > build.gradle

Android Studio 使用 Gradle 来编译和构建您的应用。您的项目的每个模块都有相应的 build.gradle 文件,整个项目也有相应的 build.gradle 文件

 

关于布局文件

技术分享

View 对象通常为按钮文本字段之类的 UI 小部件。而 ViewGroup 对象则为不可见的视图容器,它们定义子视图的布局,比如是网格布局还是垂直列表布局。

 

修改布局文件,新建工程后在hello world的基础上修改两个文件activity_main.xml    strings.xml   

activity_main.xml代码如下

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout 这个是前面讲过的viewgroup类的子类,也就是选择线性输出的方式

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"> 这个指定了组件为横向还是纵向排列

<EditTextandroid:id="@+id/edit_message" 在里面增加一个EditText元素

android:layout_weight="1" weight设置与其他界面所占位置的比例,其他默认为0时就先给其他分配默认空间,剩余的都给非零的

android:layout_width="0dp" 赋值免得系统计算宽度浪费时间,反正最后是给其他界面的剩余宽度

android:layout_height="wrap_content"

android:hint="@string/edit_message"/> hint就是没输入时输入框里显示的东西 <Button 增加button元素

android:layout_width="wrap_content" wrap_content布局大小根据内容大小更改

android:layout_height="wrap_content"android:text="@string/button_send"/>

</LinearLayout>

 

关于@多说一下

从 XML 引用任何资源对象时,都需要使用 @ 符号,后跟输入资源类型(本例中为 id)、斜杠和资源名称 (edit_message)

加号代表要把这个资源加到R.java中去,所以只有第一次使用才需要写(老实说现在还是有点不懂为什么其他的不写,先放着吧)

然后引用的资源都在res>values下,这里用的就是string而已,打开 代码如下

 

<resources>
    <string name="app_name">My Application</string>
    <string name="edit_message">Enter a message</string>
    <string name="button_send">Send</string>
</resources>

 

 

 

另外,看一下类和子类的概念:JAVA中的类是具备某些共同特征的实体的集合,它是一种抽象的概念;
类是对象的集合,对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 

子类由父类继承而来,可以在父类的基础上修改

 

 

 

上文运行后是个输入框的效果,接着来为按钮增加响应

 

 

<Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/button_send"
      android:onClick="sendMessage" />

onclick是个方法 后面那个是要写的响应动作的方法(要为公共方法),具体实现要在.java里写

 

 

要让系统将此方法与为 android:onClick 指定的方法名称匹配,签名必须与所示内容完全相同。具体而言,该方法必须:

  • 是公共方法
  • 具有空返回值
  • 以 View 作为唯一参数(这将是之前点击的 View)(这个我也还不清楚)

<!-- xml注释格式,只能写在黄字位置 -->

待续

刚开始学 有错误请指教

以上是关于开始看《第二行代码》及官方第一个例程学习(部分)的主要内容,如果未能解决你的问题,请参考以下文章

Gulp

如何阻止 flex 行的第二行出现在页面中间? [复制]

第二行代码

最简单的交换两个数

Android学习之路

算法第二章上机实践报告