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

author author     2022-09-06     537

关键词:

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

待续

刚开始学 有错误请指教

重新加载 uitableview 从第二行开始(或不在第一行)

】重新加载uitableview从第二行开始(或不在第一行)【英文标题】:reloadingauitableviewstartsatthe2ndrow(ornotatthefirstrow)【发布时间】:2013-05-0202:04:42【问题描述】:再次出现Utableview问题。每当我重新加载数据时,表格视图都会重新加... 查看详情

第二行代码

---恢复内容开始---一、开始启程--你的第一行Android代码Android的四层架构1.linux内核层--为Android设备的各种硬件提供底层驱动2.系统运行库层--通过一些C/C++库来为Android系统提供主要的特性支持  Android运行时库,提供一些核心库... 查看详情

solr学习

Solr就是Lucene的框架,对Lucene有初步的了解后,我们可以开始学习Solr了先回顾一下Lucene入门程序的操作步骤 入门程序我是以磁盘上的文档为原始文件创建索引第一步:获取文件第二步:创建文档对象第三步:创建分析器第四... 查看详情

java中已知一个stringa,现在我要获取a中第n行(例如第二行)的一整行字符串存在stringb里,怎么做?

...知道具体位置,只要第二行。行标志是\r\n追答从0开始,就是从头开始,再用indexof('。')判断第一个。出现的位置,这样就知道你要取的第几行了,再用substring函数截取就行了。参考技术Astringa中的第N行?????文... 查看详情

第一周编程总结(代码片段)

...的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“NotFound”。输入格式:输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。... 查看详情

java示例代码_从edittext的第二行开始键入

java示例代码_从edittext的第二行开始键入 查看详情

css在里面列出第二行(代码片段)

查看详情

使用 CSS 从表格的第二行替换行颜色

...219:07:35【问题描述】:我有一张如下表。我需要从第二行开始应用替代颜色。当我使用nth-child选择器来区分奇数行和偶数行时,正在考虑不满足要求的第一行。那么,我们如何编写一个忽略第一行并从第二行开始应用颜色的选择... 查看详情

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

...弹性显示。这让我可以并排放置物品,这很棒。但是,当开始新行时,该行从页面中间的中间开始。有没有办法让# 查看详情

如果可用,则选择第二行(如果不是第一行)(代码片段)

我有一个如下所示的表格:我想选择与InstanceNumber1的RowNumber2和其他实例的rownumber1对应的Operator条目。这是一个例子,其中只有instancenumber1有两个rownumber,但我想能够选择每个intances的最后一个rownumber。任何帮助表示赞赏。答案一... 查看详情

结对第二次—文献摘要热词统计及进阶需求(代码片段)

格式描述课程:软件工程1916|W(福州大学)要求:链接结对学号:221600124&221600127目标:学习如何使用Github和爬虫工具,体验结对编程Github项目:爬虫部分Python代码置于PairProject2的cvpr目录下PairProject1-CPairProject2-C代码签入记录... 查看详情

用html怎么画一个第一行平均分两列,第二行平均分三列的表格代码

比如第一行3列均分,第二行二列均分,就找第一行列数和第二行列数的最小公倍数,如以下这个,最小公倍数就是标题跨列数:6,第一行每一单元格跨列2 第二行跨列3,刚好。<tableclass="m-pnjctable"><tr><tdcols... 查看详情

oracle每行数据的字段值相减的问题。如图:

...列的值,就比方说,看图14414数据,有5行数据,第一行减第二行的数据为5分钟,第三行减第2行的为13分钟,以此类推,如果下一行数据的requestid与上一行的requestid不同,则用sysdate减去最后那行数据。。看图中红色部门,就是没... 查看详情

resteasy学习之路quickstart(代码片段)

关于RestEasy及相关知识的简介这里不再赘述。网上可以搜到很多可以查看的文章。这里只介绍QuickStart。可以看到RestEasy的官方说明文档的helloworld部分并不好找。这里自己写了一个quickstart希望大家看了以后可以快速上手阅读官方... 查看详情

开始学习c++

看《C++PrimerPlus》时整理的学习笔记,部分内容完全摘抄自《C++PrimerPlus》(第6版)中文版,StephenPrata著,张海龙袁国忠译。只做学习记录用途。看《C++PrimerPlus》时整理的学习笔记,部分内容完全摘抄自《C++PrimerPlus》(第6版)中... 查看详情

《第二行代码》来了

...从出版到现在已经有两年多的时间了。当然,如果是从我开始写书的那天算起的话,时隔已经三年半之久了。回顾这三年半的时光,不得不感慨,Android技术的发展真是 查看详情

cssavada-更改第二行标题文本的文本颜色(代码片段)

查看详情

docker|第二章:第一个docker应用(代码片段)

...Docker相关方面的知识,相信大家已经有个概念了。这章节开始,开始进行实践操作。和学习任何一门语言一样,我们今天也开始从Hello,World开始~对Docker不了解的,可查看下第一章:Docker简介。CentOS系统Docker安装前提条件使用yum安... 查看详情