第一周的Android学习笔记
来源:互联网 发布:淘宝宝贝展现量如何刷 编辑:程序博客网 时间:2024/05/22 14:19
学员ID:EdwinEdna
第一次接触Android的开发还是蛮激动的,之前看到有同学在Eclipse上做过一些Android的开发,如今已经有Google自己开发的专用的Android Studio了,用起来感觉很强大的。
先说说最先开始的东西,搭建AS环境。
因为用的是macbook,所以在最先安装JAVA的时候就没有设置环境变量。安装好AS后就见到一系列的自动下载(用的是科学上网的方法),此时应该是安装SDK,完成之后就可以进入AS的建立Project的引导页面了。
安装好SDK以后, 就要配置两个环境变量,一个是gradle,一个是adb。百度说gradle是一个构架,看了一大堆高大上的文字也没有理解到底是啥,反正开发的时候必须用,以后老师会说;adb的作用很明确,全称就是Android debug bridge,如果不配置这个东西的话,那就没办法连接手机进行调试。mac os x下设置环境变量方的是在terminal下的.bash_profile里完成的。用vim等文本编辑器来编辑。
$vim .bash_profile
之后在其中加入下列语句
//先配轩Gradle
GRADLE_HOME=/Users/Edwin/Public/gradle-2.11;
export GRADEL_HOME
export PATH=$PATH:$GRADLE_HOME/bin
//下面是配置ADB
export PATH=${PATH}:/Users/Edwin/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/Edwin/Library/Android/sdk/tools
Users/后的Edwin是个人文件夹的名称,可以更换。
然后在terminal中输入
$gradle -version
$adb
看看是否正常运行起来,如果OK那就可以开发啦。
尝试了一周的应用界面开发课程之后,对Android的开发有这样的一种感觉。
首先,Android 用到Java和xml两种工具。在所有界面的布局和显示几乎都是由xml来完成,而Java的工作就是负责布局和控件之间的内部逻辑和数据转输的工作。
例如,在AS左边一栏的res文件夹中的所有内容都是由xml来控制,这些内容都是用于显示在桌面上的资源。
Java就负责页面和控件的逻辑关系和传数据,也就是所谓的后台工作。
例如在建立好一个Project的时候会首先生成一个Activity的类,这个类就是就是负责一个页面的所有后台工作,例如上图中的MainActivity。
每个一Activity类都会对应一个管理这个Activity布局的xml文件,这样就能将显示(xml负责)与后台工作(Java负责)对应起来。如果一个页面上有一个Button,这个Button在xml中就会出现在一个Button的标签,如果要把这个Button和后台的Activity的类联系起来,就可以先在xml中给这个Button添加一个id。
<Button android:id="@+id\button_zero" .../>
然后再在Java中对应的Activity.class中用findView()方法通过xml中的id将他们连接起来。
findView(R.id.button_zero).别的方法
这样就能把xml上显示的控件和Java连接起来。
在使用Button的时候,我们可以把Button想像成一个工厂的大门,这个时候通常需要一位看大门的老大爷在这里看着,要是有人来了,他就开门。
这个看门大爷就是Listener,在Java中的语法是就是:
findView(R.id.butto_zero).setOnClickListener(new View.OnClickListener(){ public void OnClick(){ ... }});
细细看看上面的代码,其实可以理解成,厂长决定找一个看大门的,于是他set了一个Listener,然后看门大爷的职责就是在有人来的时候,做相应的动做,也就是OnClick(){…}函数里的内容。
老师第一次讲到Button的点击后产生的效果时,最先用到了Toast这样一个非常实用也很常见的小东西。
Toast.makeText(MainActivity.this, "Ouch!!别点我", Toast.LENTH.SHORT).show();
其中makeText这个方法有三个参数,第一个参数是一个叫上下文类,即Context context,到底是起什么作用的目前还不知道,待后文分解。第二个参数就是显示想要输出的文字,最后一个参数是显示的时长。
如果要想在不同的Activity之间切换和输送数据的话,就要用到一个比较牛逼的工具,Intent类。假设现在在Project中有两个Activity,一个是MainActivity,另一个是SecondActivity。这时候从MainActivity切搞到SecondActivity就可以用下面的语句来实现:
Intent intent = new Intent(MainActivity.this, SecondActivity); startActivity(intent);
可以将这两代码加入到看Button门的大爷的Onclick()方法中,这样就能在点击这个Button后实现页面的切换了。在Intent类中也用到Context类,说明这个上下文类还是在很多地方都有用到。在说到Intent类的时候,还有一个很强大的功能就是把数据从一个页面传到另一个页面里。
也不是第一次听说一个程序的生命周期很重要,APP也是一样,了解了一个APP的生命周期,可以帮肋我们比较准确的把握代码的实现。Android的APP的生命周期有以下几个:OnCreate, OnStart, OnPause, OnResume, OnStop, OnReStart, OnDestroy这七个生命周期,所有的Android程序都是从OnCreate开始的,然后进入OnStart,再到OnResume…之后的细节可以看Google提供生命周期流程图。
再来说说Layout。95%的Layout都是被LinearLayout和RelativeLayout包办了。这两个Layout的名字就很能说明问题。线性布局中所有的控件都是一个连着一个来排布的,在orientation的参数中有vertical和horizontal两个参数,RelativeLayout就是利用控件的ID来确定每一个控件的位置。
- 第一周的Android学习笔记
- Android学习的第一周笔记
- 第一周学习笔记
- 学习GitHub的第一周笔记
- Andrew学习笔记--第一周
- 机器学习第一周笔记
- 第一周+周三学习笔记
- Python学习笔记[第一周]
- Android应用界面开发_学习笔记_第一周
- 【GeekBand】Android应用界面开发【第一周】学习笔记
- Android第一周实习笔记
- Android笔记—第一周
- 《机器学习》学习笔记-第一周
- Coursera机器学习第一周学习笔记
- Coursera 机器学习 第一周 学习笔记
- 机器学习第一周学习笔记
- 来学习的第一周
- 第一周的学习--快捷键
- hdu1180 诡异的楼梯(优先队列bfs)
- 时间片轮转多道程序运行原理
- 希尔排序
- 欢迎使用CSDN-markdown编辑器
- js技术两日期相差天数
- 第一周的Android学习笔记
- Android中design包中的新控件1
- Mac 10.10 yosemite 安装samba替代系统samba组件
- sqoop
- 跟我一起写 Makefile
- Android 隐藏API
- 进程线程同步
- TCP/IP网络协议之DHCP简介
- NAT: How To Mangle The Packets