zoukankan      html  css  js  c++  java
  • Android2_分析项目的结构

    一、项目结构

    成功运行第一个AS项目HelloWorld之后,我们开始试着分析一下这个项目。毕竟知其然也要知其所以然。

    这是一个安卓的项目结构(实际上这是安卓模式的项目结构)

    我们可以切换成Project模式的项目结构。这个才是项目真实的目录结构,安卓模式的项目结构是将该Project模式的项目结构做了转换,这样子方便开发者查找必要的文件或信息,比较简洁明了。

    ====================================================

    二、项目中的资源res

    接下来探究一下res文件夹是干嘛的?

    顾名思义,res是资源的缩写,用于存放app的必备资源。

    drawable文件夹用于存放图片;

    layout文件夹用于布局文件;

    mipmap文件夹用于存放应用图标

    values文件夹用于存放字符串、样式、颜色等配置

    有时候还会出现mipmap-hdpi、mipmap-xhdpi、drawable-hdpi等名称的文件夹,这是因为程序可能运行在不同分辨率的设备上,所以它会自动根据当前运行设备的分辨率高低来选择加载哪个文件夹下的图片。

    目前来看,AS是把不同分辨率的图片都放在同一个图片文件夹下,在末尾用括号备注了分辨率。

     

    打开strings.xml文件看一下,这里定义了app的名称,叫做HelloWorld。

    那么如何获得这个名称字符串(HelloWorld)呢?

      在其他xml文件中,通过 @string/app_name来引用

      在代码中通过 R.string.app_name来引用

    ====================================================

    三、AndroidManifest.xml文件 

    安卓模式的项目结构中有个叫做Manifest的文件夹,

    展开之后,发现有个叫做AndroidManifest.xml的文件。

    AndroidManifest.xml文件是Android项目的系统清单文件,用于控制Android应用的名称,图标,访问权限等整体属性。

    此外,Android应用的Activity、Service、ContentProvider、BroadcastRecevier等4大组件都需要在该文件中配置。

    这个文件就是配置了应用的一些整体属性,还有就是配置了Activity这个文件的一些属性;具体含义有待后续深入研究。

  • 相关阅读:
    ios逆向工程-内部钩子(Method Swizzling)
    ios逆向工程-动态分析
    ios逆向工程-静态分析
    Android Hook神器:XPosed入门与登陆劫持演示
    Android HOOK工具Cydia Substrate使用详解
    Android Hook框架Xposed详解
    Android Hook 框架 Cydia_substrate 详解
    Android上玩玩Hook:Cydia Substrate实战
    iOS8扩展插件开发配置 [转载]
    SQL触发器调用.NET的类方法
  • 原文地址:https://www.cnblogs.com/grooovvve/p/11555211.html
Copyright © 2011-2022 走看看