Android学习——项目结构
2015-11-26 12:44
465 查看
一、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()停止;(停止状态)[b]——》onRestart();——》onDestroy()销毁;(非活动状态)[/b]
六、窗体切换,启动一个新的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项目目录结构
- Android项目结构
- andriod 配置第三方模拟器出现genimotion打不开的情况
- Android重点知识(四)ANR异常及解决办法
- Android TextView跑马灯效果
- Android NDK中使用socket
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系
- Android中时间日期类使用总结(Calendar和Date)
- 对Android log异常分析方法
- android ARGB 转 RGB
- Android屏幕适配全攻略(最权威的官方适配指导)
- 第一次用android studio要设置的东西
- SlidingMenu如何导入Android Studio
- Android性能优化之常见的内存泄漏
- Android sqlite 表更新
- Android 自定义权限 (<permission> <uses-permission>)
- android 动画
- Android布局中按钮的设置规则,设置按钮单击事件的三种方法
- android 中string.xml中的%1$s
- 编译第三方APK进Android(预装APK)