Android学习——项目结构


一、gen下的R.java文件是由系统自动生成来维护的,程序员不能修改。

二、res存放资源文件:
1、(资源名字必须小写)resoure资源中的文件命名(比如图片),资源文件名称需要全部小写(无论是导入的还是新建的)。否则将会导入失败!
2、drawable存放图片,并且可以为同一张图片存放多种分辨率格式,当手机操作系统使用时可以根据自己的分辨率自动加载合适的图片,添加图片后,R.java文件的drawable会自动更新
3、layout:存放窗口视图,在此文件夹下可以增加多个窗口页面,并设置页面布局。setContentView(R.layout.activity_main);  //activity_main在res下定义,然后在R文件中自动生成,//setContentView把activity_main布局和MainActivity绑定起来
4、values:string.xml存放字符数据,还可以为自己的应用单独建立各种分类的字符数据,新建XML文件。如果把字符数据都放在string.xml中会显得此文件过于臃肿,而且不方便分类;


往assets存放资源,是不会在R.java中自动生成id的。需要使用路径访问assets中的资源;

三、在AndroidManifest.xml中完成各资源的灵活配置。
<application:配置应用程序的图标,名字;
<activity:配置各页面窗口的类名、窗口标题;
<intent-filter>:——意图过滤器,用来匹配你的一个想法,<action:动作名称;<category:类别
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />     这两项具体参数,让你的应用出现在应用程序列表,所以只能出现在一个<activity中,不能出现在多个<activity中

四、当用户双击应用程序图标:创建进程——创建主线程——在主线程中实例化Activity--(操作系统会把应用有关的信息(context)存放进Activity中,然后调用onCreate方法)——
Android工程文档结构图:
values下添加字段,R.java文件中会自动生成各数据字段的ID;
layout下布局控件;
src下编写事件代码;
AndroidManifest.xml是清单文件,信息注册

五、Activity的生命周期:(七个方法)——onCreate()创建;——》onStart()运行;——》onResume()获取焦点;(活动状态)——》onPause()失去焦点;(暂停状态)——》onStop()停止;(停止状态)——》onRestart();——》onDestroy()销毁;(非活动状态)


六、窗体切换,启动一个新的Activity
    (1)在src中添加一个类Act1.java,在manifest文件中注册,在布局文件中布局act1.xml,在第一步的类Act1.java中去重写onCreate方法,将act1.xml与该类绑定。在onCreate方法中将刚才在布局文件layout中编写的XML1.xml进行绑定setContentView ( R.layout.act1 ) ;(设置Activity的样式是Dialog样式:android:theme="@android:style/Theme.DeviceDefault.Dialog")
    (2)在主窗体中加一个Button,private Button btnStartAct1;,在onCreate方法中btnStartAct1 = (Button) findViewById(R.id.btnStartAct1);——通过ID找到布局中的Button按钮,然后设置按钮的点击监听事件。
btnStartAct1.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				Intent i=new Intent(MainActivity.this, Act1.class);      //此处不能直接写this
				startActivity(i);
			}
		});
也就是,找到按钮findViewById,然后再设置按钮的监听事件。
     (3)无返回值的Intent的页面转换。startActivity(i);
     (4)有返回值的Intent的页面转换。   startActivityForResult(i,resultCode);   //resultCode:是请求的一个标志,通过请求码来决定是哪个页面回传过来的数据
                  B.setResult(222,data)——》A.onActivityResult(i,resultCode);    

你可能感兴趣的:(Android项目结构)