Android应用开发 第二讲:Android系统构架分析和应用程序目录结构分析(1)

  1. super.onCreate(savedInstanceState);
  1. setContentView(R.layout.main);
  1. }
  1. }

复制代码

可以看到MainHelloWorld是Activity的子类,子类要重写onCreate方法。setContentView(R.layout.main)方法是给Activity设置可以显示的视图(View),视图由R类负责寻找。

2、R文件浅析

我们看到Gen目录下有个R.Java文件,R文件由ADT自动生成,程序员不需要也不要去修改它,R文件负责调用应用程序中的非代码资源。

  1. /* AUTO-GENERATED FILE.  DO NOT MODIFY.

  2. *

  3. * This class was automatically generated by the

  4. * aapt tool from the resource data it found.  It

  5. * should not be modified by hand.

  6. */package android.basic.lesson2.helloworld;public final class R {

  7. public static final class attr {

  8. }

  9. public static final class color {

  10. public static final int red=0x7f050000;

  11. }

  12. public static final class drawable {

  13. public static final int icon=0x7f020000;

  14. }

  15. public static final class id {

  16. public static final int TextView01=0x7f060000;

  17. }

  18. public static final class layout {

  19. public static final int main=0x7f030000;

  20. }

  21. public static final class string {

  22. public static final int app_name=0x7f040001;

  23. public static final int hello=0x7f040000;

  24. public static final int tagline=0x7f040002;

  25. }

  26. }

复制代码

从R文件中可以看到每一个资源都会有一个整数和它相对应。

3、res/layout/main.xml文件浅析 – 布局layout

我们看到有个res目录,也就是resource目录,这个目录下存放资源文件,资源文件的统一管理,也是Android系统的一大特色。现在要注意看的是layout目录下的main.xml。这个文件的内容是有关用户界面布局和设计的。在桌面程序设计领域采用XML也许比较新颖,但是在网页设计领域,这个就很平常了。同学们可以用html来类比xml在布局中的用途。

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

  3. android:orientation=”vertical”

  4. android:layout_width=”fill_parent”

  5. android:layout_height=”fill_parent”

  6. android:gravity=”center”

  7. >

  8. <TextView

  9. android:layout_width=”wrap_content”

  10. android:layout_height=”wrap_content”

  11. android:textColor=”#0f0″

  12. android:textSize=”30px”

  13. android:text=”@string/hello”

  14. />

  15. <TextView

  16. android:text=”@string/tagline”

  17. android:id=”@+id/TextView01″

  18. android:layout_width=”wrap_content”

  19. android:textSize=”14px”

  20. android:textColor=”@color/red”

  21. android:layout_height=”wrap_content”>

复制代码

从以上代码可以看到整个程序界面由一个线性布局控件(LinearLayout)和2个文本框控件(TextView)组成。res的其他目录里的其他文件也都是相关的资源描述。

4、AndroidManifest.xml文件浅析

在每个应用程序的根目录都会有一个AndroidManifest.xml文件,该文件向Android操作系统描述了,本程序所包括的组件,所实现的功能,能处理的数据,要请求的资源等等。学过Java Web开发的同学可以用Web应用程序里的web.xml来类比这个AndroidManifest.xml文件。

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  1. <manifest xmlns:android=”http://schemas.android.com/apk/res/android”
  1. package=”android.basic.lesson2.helloworld”
  1. android:versionCode=”1″
  1. android:versionName=”1.0″>
  1. <activity android:name=”.MainHelloWorld”
  1. android:label=”@string/app_name”>

最后

答应大伙的备战金三银四,大厂面试真题来啦!

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

《960全网最全Android开发笔记》

《379页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析**

[外链图片转存中…(img-VvKCsT1J-1714407008151)]

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值