android 简易教程
一、五大组件
activity (通常就是一个单独的屏,须在AndroidManifest.xml进行注册)
生命周期:
1、OnCreate( 需要重写,绑定界面,做初始化;界面不可见)
2、OnStart(可选,界面可见不可操作,每次重新跳转回来时会调用)
3、OnResume(可见并可操作)
4、OnPaused(可见不可操作,界面将要跳转或者有活动弹框的时候)
5、OnStop(存活但不可见)
6、OnDestroy(销毁,程序关闭或者未内存不够用时)
service
Intent ( 用来打开一个新的Activity、Service等,并传递参数)
如登录窗体登录后传递内容
Intent intent = new Intent();
intent.setClass(Login.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
intent.putExtras(bundle);
this.startActivity(intent);
接收端
Intent intent = this.getIntent();
user=(User)intent.getSerializableExtra(“user");
注:传递等对象需要继承Serializale接口
content provider
broadcast receiver
二、五大布局
(所有布局需要android:layout_width android:layout_height 通常使用match_parent 或者wrap_content)
LinearLayout
属性: android:orientation (必须)
TableLayout
FrameLayout
RelativeLayout
(因为是相对位置来定位,通常需要两类属性中的一类
第一类:属性值为true或false
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐)
AbsoluteLayout
三、四大存储
SharedPreferences(非关系型轻量级数据库,存储map类型结构数据,主要是保存一些常用的配置,如记音量、账号等,map:{key:value})
文件存储方式
SQLite数据库(SQLite轻量级关系数据库,存贮本地关系型数据,如微信的聊天记录)
服务器(如果没有服务器端,这个可以暂时略过)
四、四种启动模式(如果界面跳转不复杂,可暂时略过)
standard
singleTop
singleTask
singleInstance
五、常用控件(所有控件需要android:layout_width android:layout_height 通常使用match_parent 或者wrap_content)
TextView 负责展示文本,非编辑
EditText 可编辑文本控件
按钮类控件
Button (普通按钮)
ImageButton (图片按钮 )
RadioButton与RadioGroup (单选按钮)
CheckBox 复选按钮
图片控件
ImageView (负责显示图片)
进度条控件
ProgressBar 进度条
ListView(需要adapter来操作数据)
六、事件机制:
监听按钮点击事件
如:
Button button=(Button) findViewById(R.id.button1);
//设置监听
button.setOnClickListener(newButton.OnClickListener()
{
@Override
publicvoid onClick(View v) {
//TODO Auto-generated method stub
DisplayToast("事件触发成功");
}
});
七、基本目录结构(这部分由于eclipse 和android studio 差不多,这里只介绍eclipse结构,以下图为例)
1、src 所有的java代码
2、R文件存储id信息,千万不要改
3、libs 扩展包,即jar包
4、res下是你所有布局和属性的信息
5、drawable开头的文件夹是用来存储不同分辨率的图片素材等,现在常用手机分辨率比较大,非正式软件放 xhdip即可
6、layout就是你的布局文件信息
7、values 里面包含strings.xml(存放字符串键值对)、arrays.xml、colors.xml(存放颜色键值对)、dimens.xml、styles.xml(存放公共样式)等,
以strings .xml 为例,<string name=‘username’>用户名</string>
在布局文件调用:android:text=“@string/username”
八、AndroidManifest.xm(程序的入口文件,包含了application、版本、包含的组件、权限、图标、程序的名字、主题等信息,主要记住要在里面注册你创建的activity)
九、程序框架(mvc框架,使用标准框架使代码结构清晰,可扩展性好,如下图)
通常代码结构包括: views(存放activity文件,如:LoginActivity.java)、 models(存放对象文件,如User.java) 、controller(存放控制层文件)、utils(存放工具类文件)、adapter(存放各种适配器)等
通常的流程是:人操纵界面,activity监听到事件后调用对应的controller对象的函数并把涉及到的model对象传进去,controller对model对象进行修改后通知activity更新界面,如果涉及到耗时操作如网络请求,需要异步处理(如耗时处理可暂时略过,简单异步可看AsyncTask), UI线程长时间(5s)没反应程序会崩溃,android要求只能在UI线程中更新UI,即在非安全线程修改UI会报错,所有需要特殊的机制更新UI.
十、动画
分为:帧动画(一张一张播放),补间动画(旋转变换),属性动画(只有一个效果,组件还在原来位置)
可以了解一下animation