Android初识Helloworld

简介:

在Eclipse+ADT中创建HelloWorld非常简单,直接按照导航下一步就可以了。本文重点不在如何创建,而在理解HelloWorld项目的文件。

HelloWorld的目录结构有:

Image(3)

src:存放应用程序的逻辑代码,这里面的代码是人工写的

gen:存放资源代码,这里面的代码是自动生成的

assets:存放mp3等视频资源

bin:生成的可执行的二进制文件目录

libs:引用到的库,这里和bin/dexedLibs里面的目录是一致的

res:资源文件。往这个目录添加资源的时候,会被gen/R.java自动记录,自动那个记录到R.java中去。

AndroidManifest.xml:项目的总配置项,记录应用中使用到各种全局的配置

ic_launcher-web.png:这个是为了google Play市场使用展示的图标,它需要的是512×512的高分辨率的图标。

proguard-project.txt

project.properties

这两个文件是为了保护Android项目而做的代码混淆使用的。官方文档在:http://developer.android.com/tools/help/proguard.html

下面一个一个看:

src

存放用户代码的文件夹,里面至少会有一个Activity。Activity的概念就是界面,相当于C#中的Windows Form。

Image(4)

看到至少包含了一个onCreate函数,是在渲染界面的时候调用的,这里使用R.layout.activity_main来渲染,这个就对应于gen/R中的

Image(5)

activity_main等号后面的是资源描述符。

这里正好可以看一下R这个类

gen/R.java

R中的每个类都对应res中的一个资源,

比如layout对应res/layout

drawable对应res/drawable-XXdpi

所以上文中的R.layout.activity_main对应的实际是res/layout/activity_main.xml。这样就把界面和逻辑分开了,这就是典型的mvc模式分层的概念。

gen/BuildConfig.java

里面存放着全局的DEBUG开关,你可以使用这个开关做日志和调试的操作。

但是如何修改这个呢?gen下面的文件不应该手动修改,具体可以参照:http://drovik.com/html/5701262218.html

bin

这个目录是生成文件的目录,可以看到,它把apk包,AndroidMainifest.xml都生成一份放在文件夹内。

bin/class.dex


java编译后生成的java字节码文件,相当于java的.class文件。但是由于Android使用的dalvik虚拟机和标准的java虚拟机是不兼容的,所以dex和class是不一样的。

现在网络上就有一些工具能通过dex来进行反编译出Android代码。比如这个:

http://code.google.com/p/android-apkdb/

bin/HelloWorld.apk

这个就是应用的安装包了(application package file)。一个apk文件内包含被编译的代码文件(.dex文件),文件资源(res),assets,证书(certificates),和清单文件(manifest file)。APK是基于zip文件格式的。

bin/resources.ap_

这个是所有资源文件的集合,实际上是zip格式。我们可以将它的后缀名修改,解压可以看到里面的结构是有mainfest,res等。

bin/dexedLibs

对应libs中引用的jar包

res

这个目录就是所有的资源文件了

Image(6)

res/drawable-Xdpi:这里存放的是对不同分辨率的资源

res/layout:存放布局资源,src中的onCreate方法就加载了这里面的activity_main资源

res/menu:手机的menu菜单

res/values:用来存放一些变量,参数等。

res/values-XX:对于不同设备或者不同的安卓版本会有不同的参数设置





本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/p/3179236.html,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 Java Android开发
探索安卓应用开发:构建你的第一个"Hello World"应用
【9月更文挑战第24天】在本文中,我们将踏上一段激动人心的旅程,深入安卓应用开发的奥秘。通过一个简单而经典的“Hello World”项目,我们将解锁安卓应用开发的基础概念和步骤。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供一次实操体验。从搭建开发环境到运行你的应用,每一步都清晰易懂,确保你能顺利地迈出安卓开发的第一步。让我们开始吧,探索如何将一行简单的代码转变为一个功能齐全的安卓应用!
|
2月前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
98 0
|
5月前
|
IDE Java 程序员
安卓应用开发入门:打造你的第一个“Hello World”
【9月更文挑战第11天】在编程的世界里,每一个初学者的旅程都从一个简单的“Hello World”开始。本文将带领安卓开发的新手们,通过简单直观的方式,一步步构建出自己的第一个安卓应用。我们将探索安卓工作室(Android Studio)的安装、项目的创建,以及如何运行和调试你的应用。无论你是编程新手还是想扩展技能的老手,这篇文章都将为你打开一扇通往安卓世界的大门。
242 7
|
5月前
|
IDE Java API
安卓应用开发入门:打造你的第一个"Hello World"
【9月更文挑战第11天】在探索安卓开发的海洋中,每个开发者的航行都从简单的"Hello World"开始。本文将作为你的航标,引导你驶向安卓应用开发的精彩世界。我们将一起启航,通过浅显易懂的语言和步骤,学习如何构建并运行你的第一个安卓应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供所需的知识和信心。准备好了吗?让我们揭开安卓开发的神秘面纱,一起创造些令人兴奋的东西吧!
|
6月前
|
XML IDE Java
安卓应用开发入门:打造你的第一个“Hello World”
【8月更文挑战第31天】 在安卓的浩瀚宇宙中,每一个新星都从一句简单的问候开始闪耀。本文将作为你的航标,引导你探索安卓开发的银河系。无论你是初心者还是资深开发者,构建第一个“Hello World”应用总是令人兴奋的里程碑。通过这篇文章,我们将一起搭建起通往安卓开发世界的桥梁。让我们摒弃复杂的术语,用最简单直白的语言,一步步地走过这段旅程。准备好了吗?让我们一起开启这段冒险吧!
|
移动开发 Java 开发工具
[笔记]Visual Studio 2015 开发安卓so库JNI层——HelloWorld
[笔记]Visual Studio 2015 开发安卓so库JNI层——HelloWorld
189 0
|
编解码 Java 程序员
Android入门教程 (二) 第一个App HelloWorld
Android入门教程 (二) 第一个App HelloWorld
961 0
|
小程序 Java Android开发
android开发hello world之诚信版
android开发hello world之诚信版
133 0
android开发hello world之诚信版
|
Java Android开发 关系型数据库
Android Studio运行Hello World程序
老的神舟本本装上了深度LINUX了。。。应该是基于ubuntu的,安装软件用的apt-get而不是yum 想重装学下android原生开发,官网下载了android studio, 发现不用FQ也能下载了,不错不错,支持支持 下载后解压了直接双击那个Android Studio.sh运行就行了,新建一个hello world项目,结果运行不起来,那个调试那个地方都没有绿色三角形, 想了下,好像没有装JAVA,又上ORACLE上下载了JAVA的安装,结果又总是下不了,晕。
1787 0
|
Java 开发工具 Android开发
Android开发之旅:环境搭建及HelloWorld
引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。 在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。
1253 0

热门文章

最新文章

  • 1
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    Android历史版本与APK文件结构
  • 3
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 4
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 7
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 10
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 1
    Android实战经验之Kotlin中快速实现MVI架构
    21
  • 2
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    24
  • 3
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    39
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    121
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    40
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    55
  • 7
    Android历史版本与APK文件结构
    148
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    46
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    40
  • 10
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    67