Android学习总结01之Hello World
先Hello World,后学会编程。
新建Android项目后,会生成最初始的Android代码。
一、Android代码目录
assets:资源目录,目录内的文件不会再R.java中生成ID
bin:生成的二进制文件等,一般不会使用,apk文件在此目录
gen:系统自动生成,不需修改,包含R.java文件,里边是一个类名为R的类,会对res文件夹下的每一个文件都自动生成一个ID
libs:外部库
res:资源目录,每一个文件都会在R.java中生成ID,方便代码中调用,如果代码中未使用目录下的某些资源,这些资源不会在最终生成apk时候打包
drawable:一般会有四个文件夹:drawable-hdpi,drawable-ldpi,drawable-mdpi,是放图片的文件夹,分别是高DPI、低DPI、中等DPI屏幕下的图片显示
layout:布局文件,包括但不限于Activity、Widgets、自定义通知栏、自定义视图
menu:菜单的布局文件
values:包含一个strings.xml文件,可自定义添加字符串的键值对,布局文件、源代码可从中读取字符串,便于制作国际化程序的制作。
src:自己编写的代码
AndroidManifest.xml:apk程序的配置文件,包括注册Activity、权限、Broadcast等内容。
二、Hello World运行原理
1、显示哪个Activity
初始AndroidManifest.xml的部分代码:
<application> <activity> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
其中<application>表示整个程序,<activity>表示某个Activity,而<intent-filter>中的<action android:name="android.intent.action.MAIN" />表示当前Activity是程序启动时的默认Activity,即apk程序启动时,默认显示当前这个Activity。
2、Activity显示哪些内容
从android:name="com.sixlab.activitytest.MainActivity"可知道此Activity的java文件是MainActivity.java文件,MainActivity.java部分代码:
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
在代码中onCreate()即为Activity初始是调用的方法setContentView(R.layout.activity_main),即设置Activity的视图为R.layout.activity_main的文件,R.java中部分文件内容:
public final class R { public static final class layout { public static final int activity_main=0x7f030000; } }
代码中指出布局文件即Layout目录下的activity_main文件。activity_main.xml文件部分内容:
<RelativeLayout> <TextView android:text="@string/hello_world" /> </RelativeLayout>
此布局内容为:相对布局,布局里有一个TextView,这个View里显示一段text,内容为string.xml中hello_world签对应的字符串Hello world!,所以apk后如下图所示。
本文作者:六楼的雨
本文链接:https://www.cnblogs.com/sixlab/archive/2013/03/27/2984427.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步