就如各位大神所说,写技术博客是提高自己的方法,能把东西写出来,对自己的学习,知识也是个总结、回顾和再学习的过程。这也是我写这个系列的原因。但自己确实现在技术很菜,写不出很多技术点,就写写我的学习过程,我现在仍在学习。
我是通过看若水的视频开始学习的,后来又看了Mars老师的视频,后来因为自己的原因耽搁了一年多没有再看,最后是看Mars老师的Java4Android和毕老师的JAVA基础还有郭霖郭神的《第一行代码》才感觉自己总算是入了点门。我就按郭神的《第一行代码》这本书来写这系列博客,也是让自己再好好温习下这本书,在就是是希望帮助下那些想学但又没时间去一页一页去看书的朋友们。希望能有更多人来学习android,喜欢android。如有错误,请指出,谢谢。
那些Android背景什么的我就不说了,大家都是来学技术,不是学历史的。
Android的开发语言主要是Java,所以一定的java知识是必备的。没有基础的朋友,推荐去看Mars老师的Java4Android视频或者毕老师的JAVA基础,或者也可以直接找本书去看看java知识(比如Think in Java,当然这书有点难,要是只想随便看看,市面上很多入门的书,推荐看视频)。这里我会把这些资料还有之后会用到的软件分享出来,链接在最后。
然后我们有了一定的Java基础后就可以开始android的开发了。首先我们需要在电脑上配置好JDK,并配置好环境变量(我分享的链接里有32位和64位的都有),然后就是使用android开发工具,常用的有两种——eclipse和android studio,这里推荐用android studio(链接里只有android studio 1.2.1.1的安装端,带SDK版本的)。安装完这些后电脑的开发环境就配置好了,下面我们进行第一个android项目的开发——Hello World。
打开android studio的导航栏点击File->New->New Project,此时会弹出创建新项目的对话框,如下图:
Application Name是项目名称,Company Domain就是公司域名,倒过来就是包名,比如百度公司的baidu.com,倒过来包名就是com.baidu.helloworld。有些朋友得说了我不在公司,只是个人爱好者,那么就用名字命名就好,比如com.joey.helloworld(并不只限于一个名字,可以写很多个,中间用.隔开)。Project location是项目地址。
接着下一步,这里是设置最小sdk,也就是说规定了你写的程序最低在哪个版本上可以运行,低于这个版本会无法运行,这里我们选4.0.3。接着下一步,这里你可以选择一个你想创建的活动类型,这里我们选 Add No Activity(为了更好的讲解第一个Hello World,选择了Blank Activity将会自动给你创建好一个Hello World,那就不需要你去敲代码了,以后可以选择Blank Activity,但这次我们选Add No Activity,毕竟代码只有自己敲出来才会记得)
好了,项目新建完成,你一定迫不及待要写第一行代码了吧,来让我们开始。我们打开项目列表,点开java,竟然发现里面竟是空空如也(androidTest不要管),别着急,因为我们是新建的Add No Activity,所以studio没给我添加任何东西。现在,我们右键新建一个Java Class,命名为MainActivity。建立完成后,我们先不管这个,打开res这个文件夹是用来存放我们项目中所用到的图片,布局,字符串等资源,现在我们右键新建一个目录(Directory),命名layout,这是用来存放我们的布局文件的。在layout文件夹下右键新建一个布局文件(Layout resource file),命名为activity_layout。好,现在我们开始写我们第一个布局文件。
android里有很多的控件,如按键,输入框,文字显示等,我们将在下一篇里详细讲解。现在我们来用文字显示控件(TextView)来显示Hello World!代码如下:
在这里我们用了一个TextView来显示文字,其中android:layout_width
用来控制这个控件的宽度, android:layout_height
用来控制高度。他们后面的值match_parent
表示当前控件的大小和父布局一样,这里设置了TextView的宽度和父布局一样,也就是手机屏幕的宽度。wrap_content
表示让当前控件的大小能够刚好包含住里面的内容,也就是说由控件内容决定当前空间大小。当然我们还可以使用指定的大小,如30dp
等,但这样有时会对不同手机屏幕的适配方面出现问题。android:text
用来显示需要显示的文字,这里我们直接输入Hello World!,android:textColor
用来设置字体的颜色,这里设置为浅蓝色。
好了,这样我们就布局完成了,让我们来看看我们布局的样子吧,点击Design就可以看到预览的样子
看,这就是我们布局好的样子。有些同学这里可能会碰到个问题,如下图
不要慌张,这是因为SDK版本的问题,我们点击红框的那里,选择API:22就可以了(如果还有同学出现问题,可以在styles文件中,将parent="Theme.AppCompat.Light.DarkActionBar"
修改为parent="Base.Theme.AppCompat.Light.DarkActionBar"
这个问题出的不多,就不贴图了)
好了,现在我们布局完成,开始敲代码了,打开之前创建的MainActivity,这里我们让MainActivity继承Activity,然后复写Oncreate()方法。在这里说明一点studio的使用方法,在没有设置的情况下,studio是不会给我们自动导入库类的,在这里可以设置File->Setting
还有有错误时,studio会已红色标出,按Alt+Enter可以弹出studio给出的解决方案。复写方法的操作是右键->Generate->Override Methods…
当然这么操作很是繁琐,有没有什么方便点的方法呢?恩,肯定是有的,我的方法是设置快捷键File->Setting->Keymap然后搜索Override就可以找到Override Methods,然后右键Add Keyboard Shortcut
当然还有很多快捷键,这个我们以后再说。好了,我们来复写Oncreate()方法,调出复写选择框,选择Oncreate()
下面就开始敲代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
这里setContentView(R.layout.activity_main);
就是将我们的布局文件和MainActivity 绑定在了一起。好了代码敲完了,是不是我们就可以在手机上启动了呢?当然不是了,当我们把代码敲完后,还有最重要的一步没有完成,那就是在AndroidManifest文件中注册。那AndroidManifest是个什么文件呢?他是你整个Android项目的配置文件,在程序中所定义的四大组件(活动,服务,广播接收器,内容提供器,这里我们的activity就是活动,这个会在后面详细说)都需要在这个文件注册,另外还可以在这个文件中给应用程序添加权限等。这个文件重要吧,那我们来给刚才写好的MainActivity 注册。
其中intent-filter中两行代码非常重要,表明了MainActivity是这个项目的主活动,在手机上点击图标首先启动的就是这个活动。
这里我们有两种选择,一是USB连接手机,打开手机的开发者模式用手机来调试,二是使用模拟器,这里由于自带模拟器比较卡顿,我推荐一个模拟器——genymotion,使用比较方便,在分享链接里也有这个的安装端。
好了,我们的第一个项目——Hello World!就要完成了。
接下里接着给大家讲一个以后调试程序使用的比较多的东西——Logcat(日志)。
Logcat是用来看开发日志的,程序调试时出现的错误都会在这里显示。我们先来学习下日志工具——Log(android.util.Log)。他提供了几个方法供我们使用:
这里我们在HelloWorld项目中添加Log。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("Hello World","hello World");
}
这里我们用了Log.e()(因为他是红色的,比较好看到,也可以使用别的)
Log.e()传入了两个参数,第一个参数是tag,一般传入你自己可以记住的东西,用于对打印信息进行筛选过滤的。第二个参数是msg,也就是你想打印的具体内容。
好了,这就是我们的第一个项目——Hello World!
首先是链接
我的CSDN博客分享:http://pan.baidu.com/s/1mgF2pfi
黑马程序员_毕向东最新经典JAVA基础视频:http://pan.baidu.com/s/1sj37GAD
Java4Android:http://pan.baidu.com/s/1eQrXQUm
以后有什么好的软件会继续在这里分享。
其次虽然我只还是一只江湖小虾米,但也是在向大神们学习,这里也是向郭神学习一下,为2015年设立一个目标——在2015年内完成这个学习笔记系列,不管我写出来有没有人看,我也要把他写完。当然如果有朋友看了我写的东西能给我点个赞,给我点支持那就最好了。有什么意见可以直接留言跟我说,比如我说的是不是太啰嗦啊(+_+你是唐僧么),没说到重点啊(真是大妈╮(╯▽╰)╭),语气太沉闷啊(你年级主任啊,报幕呢O__O “…),图片太少了啊(字多不看),图片太多了啊((╯‵□′)╯︵┻━┻这么多图你以为你在画连环画啊),在瞎扯啊(小心扯到蛋╭(╯^╰)╮),这些都可以跟我说,我会改的。谢谢各位。
最后希望大家都能喜欢android,学会android。下篇见。
转载请注明:http://blog.csdn.net/jiang89125/article/details/48296733 (虽然我觉得也没人会转载,不过还是写出来比较正规)