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

本来是想先看看官方的例子学的,结果第一个就碰到问题了。。。果然有点不合适,上网找了一些书籍,发现第一行代码不错,可惜是基于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注释格式,只能写在黄字位置 -->

待续

刚开始学 有错误请指教

时间: 2024-08-29 22:32:45

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

《第二行代码》来了

转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/52032038 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新. 回顾 <第一行代码>从出版到现在已经有两年多的时间了.当然,如果是从我开始写书的那天算起的话,时隔已经三年半之久了.回顾这三年半的时光,不得不感慨,Android 技术的发展真是日新月异. 记得在2013年我刚开始动笔写<第一行代码>的时候,Googl

20172327 2017-2018-2 《第一行代码Android》第一章学习总结

学号 2017-2018-2 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi-Fi驱动,电源管理等. 2.系统运行底层 - 通过一些C/C++库来为Android系统提供了主要的特性支持 库名 功能 SQLite库 提供数据库的支持 OpenGL/ES库 提供3D绘图支持 Webkit

第二行代码

---恢复内容开始--- 一.开始启程--你的第一行Android代码 Android的四层架构 1.linux内核层--为Android设备的各种硬件提供底层驱动 2.系统运行库层--通过一些C/C++库来为Android系统提供主要的特性支持 Android运行时库,提供一些核心库,允许开发者使用java语言编写Android应用 Dalvik--运行时编译 ART--安装时编译 3.应用框架层--提供构建应用程序时可能遇到的各种API 4.应用层--应用程序 二.先从看得到的入手--探究活

从4行代码看右值引用

从4行代码看右值引用 概述 右值引用的概念有些读者可能会感到陌生,其实他和C++98/03中的左值引用有些类似,例如,c++98/03中的左值引用是这样的: int i = 0; int& j = i; 这里的int&是对左值进行绑定(但是int&却不能绑定右值),相应的,对右值进行绑定的引用就是右值引用,他的语法是这样的A&&,通过双引号来表示绑定类型为A的右值.通过&&我们就可以很方便的绑定右值了,比如我们可以这样绑定一个右值: int&

《第一行代码》BroadcastBestPractice中出现的问题及解决方案(关于AlertDialog系统对话框的使用)

该程序为<第一行代码>中的一个小demo,意在学习使用广播实现强制下线功能. 按<第一行代码>中的源码编写ForceOfflineReceiver类,用于接收广播并处理,代码如下: public class ForceOfflineReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, Intent intent) { AlertDialog.Builde

知物由学 | 只要5行代码,就可以实现AI图像识别

"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物由学"希望通过一篇篇技术干货.趋势解读.人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你. 本文作者:Moses Olafenwa,DeepQuest AI的联合创始人和CEO:译者:徐驰骋. 导语:在这篇文章中,我们将简要介绍人工智能领域,特别是计算机视觉领域中遇到的挑战,这些

第一行代码 Android 第二版到货啦

今日android第一行代码[第二版]已到,收获的季节到了 先看一下封面 书签: 以后就把空闲时间送给它吧 先来看一下本书的目录: 第1章 开始启程--你的第1行Android代码 第2章 先从看得到的入手--探究活动 第3章 软件也要拼脸蛋--UI开发的点点滴滴 第4章 手机平板要兼顾--探究碎片 第5章 全局大喇叭--详解广播机制 第6章 数据存储全方案--详解持久化技术 第7章 跨程序共享数据--探究内容提供器 第8章 丰富你的程序--运用手机多媒体 第9章 看看精彩的世界--使用网络技术

第一章:开启启程你的第一行代码

前言: 其实我是认为视频比书本学的更快,看书是多么无趣, 有人说培训机构的学生失去了自学能力,的确如此 不管是视频还是资料我认为学会技能使用方法就行了 (还是买了第一行代码,一起学习学习吧!有颜色代表重点内容) 目录: 1.1 了解全貌,Android王国简介 1.1.1 安卓系统架构 1.1.2 安卓已经发布的版本 1.13 安卓应用开发特色 1.2 手把手搭建开发环境 1.2.1准备需要的环境 1.2.2搭建开发环境 1.3 创建你的一个Android项目 1.3.1创建Hello Worl

《第一行代码——Android》封面诞生记

<第一行代码——Android>已经上市快一个月了,目前销售情况还算良好,也是特别感谢众多朋友的支持.其实一本书如果想要卖的好,除了内容必 须要给力之外,封面的设计也是至关重要的,而本书的封面无疑是在充实的内容之外又披上了一层华丽的外衣.作为作者,其实我的任务就是将内容写好而已,其它 所有相关工作都不是由我负责的.本书封面设计的所有细节都是由陈冰先生一手抓起的,之后他在图灵社区上记录了本书封面的诞生过程.在经过他同意的情况下, 我将这篇文章转到我的博客上,也是让感兴趣的朋友们了解一些不为人知的