初学安卓

通过《第一行代码》这本书,作者从基础知识入手,深入解析Android系统的架构及工程目录结构,从Linux内核到四大组件,逐步展开。通过HelloWorld例子,详细讲解了工程目录的组成和资源管理,最后介绍了真机调试的设置和Logcat工具的使用。

好书

经xyz大神推荐,我开始看《第一行代码》来入门安卓,第一章就让人感觉这本书是很好的书!讲得很清楚,而且分析得到位,有种高屋建瓴的感觉。Top-down的视野对于一个初学者的作用是无比巨大的!
首先了解到的是安卓的一些基本的知识,它提供了什么什么厉害的东西,原来它是linux 2.6内核改的,各种高效的硬件驱动由此而来,与Java还是有挺大的区别的,谷歌大婶为了它也是操碎了心,哈哈。

Android的系统架构

  1. Linux内核
  2. 系统运行库层(C/C++写的,效率就不用说啦。比如有SQLite提供数据库的支持,类似Java虚拟机的Dalvik,OpenGL ES提供3D绘图的支持(图形学课上刚学过),Webkit提供浏览器内核的功能)
  3. 应用框架层(Android系统自带了丰富的API,自己也可以自定义)
  4. 应用程序层

Android的四大部件

  1. Activity(活动),界面的?
  2. Service(服务),后台的,比如wifi,蓝牙等?
  3. Broadcast Receiver(广播接收器),允许应用接收各处的广播消息
  4. Content Provider(内容提供器),为应用程序之间共享数据提供了可能
    虽然现在只是一知半解,不过后面慢慢理解就可以了。

Hello world例子

环境配置什么的就不说了,新建工程也很简单,填写好工程的名字,选择好Android的版本,再自定义一下Activity的名字,就可以了。每次都会自动产生一个Hello World的例子,不过麻雀虽小,五脏俱全!下面简单分析一下它的“五脏”:
安卓工程的目录如下图(我用的是Android Studio):
工程目录
图1 安卓工程目录

其中主要看app目录下的:
1)build是放编译出来的东西;
2)libs是放工程需要的另外一些jar包;
3)在Android Studio中,代码(java)和资源(res)一起放在src目录下,AndroidManifest.xml是主管整个应用的布局,androidTest可以暂时不用管;
4)java目录是放代码的,比如Hello world例子就只有一个代码文件:HelloWorldActivity.java;
5)res是放资源文件的,如下图所示,它里面有layout是布局,menu是菜单,mipmap-*是存放图片的(一般放在mipmap-hdpi下就好了,其它的区别只是分辨率而已,据说),values是存放字符串的(因为安卓强烈不建议将字符串硬编码在代码中,而是推荐在xml文件中通过@string/string_name的形式来引用)。
资源目录下的文件
图2 res目录

运行!!!

如何运行呢?用模拟器运行,我出现各种各样奇葩的问题,yz说真机调试更快,而且没有模拟器的各种配置的问题,那么怎么设置真机调试呢?简单四个小步骤(google到的,哈哈):
真机调试1
图3.1 真机调试1

真机调试2
图3.2 真机调试2

结果

到了摘取革命胜利果实的时候啦:
效果
图4 手机上的显示效果

总结

今天了解了Android的整体架构以及工程目录结构,基本开发知识get√
还了解了一个日志工具:Logcat,貌似AS不需要安卓,自带的,因为真机调试的时候就看到了它,如图5。不过还可以在代码中结合Log来使用,具体做法是在代码中先import包Log:

import android.util.Log;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hello_world);
    // 注意着最后一行
    Log.d("HelloWorldActivity", "______________onCreate execute______________");
}

Log的各种级别参考图6,具体用法和作用以后慢慢体会。
Logcat
图5 Logcat(貌似AS自带有)

Log
图6 Log的各种级别

Reference

  1. 郭霖的《第一行代码》
  2. 由于1中的书是在Eclipse上做的,跟Android Studio上很不一样,找到了这个博客,它结合了书和AS来讲:http://www.cnblogs.com/DebugLife/p/4343570.html
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值