android+读书笔记

《android开发案例驱动教程》

chat 2:

1. 按 Ctrl+F11 F12 可切换模拟器的横屏竖屏

chat 3:

1. 开发google map必须使用带有google api开发包

2. textview相当于label标签,UI的文本信息最好放在string.xml等资源文件中

3. src是源代码目录,bin是编译后的安装文件目录,先把.java编译成classes.dex文件(dalvik虚拟机),在打包成apk包。gen存放所有自动生成的文件,关键的文件时R.java,R包含静态类,与res的名字对应;res包含项目的资源文件,向里面拷贝文件会被R.java自动记录,子目录有drawable、layout、values,drawable-hdpi放高质量的图片,drawable-mdpi放中质量的,ldpi放低质量的;layout有默认的main.xml布局文件,可添加;values放参数值目录,如软件需要显示的各种文字和一些数据,可存不同类型的数据,如arrays.xml,colors.xml,styles.xml等;raw目录,需要自己创建,可以将I/O流访问的音频文件放在里面,通过R.raw.xxx访问;assets目录,也可存放资源文件,但需要代码访问。

4. androidmanifest.xml是项目总配置文件,必需,记录用到的所有组件,列出了程序提供的功能,可以知道程序的服务权限,如GPS服务,互联网服务,短信服务等。

activity 节点下,intent-filter下的action表示启动位置,category表示启动时间。

如果添加了一个Activity,需要在此文件中添加<activity / >节点,指定activity的name和label

5. android实质是一个框架,提供了很多组件,需要根据规范继承或实现这些类或接口,做一个屏幕类,需要继承Activity,服务类需要继承Service,广播接收器需要继承Broadcast Receiver,内容提供者需要继承Content Provider。

Intent实现了组件间的调用,组件就是Activity、Service等。

activity是一个单独的屏幕;

service无界面,只提供服务,后台运行,运行在应用程序进程的主线程中,不会阻塞其他组件或界面,不能自己启动,必须通过Context对象,如一个activity调startService或bindService启动,两个方法调用的服务的生命周期不同。

Content Provider可以将应用程序的数据提供给另一个应用程序,数据可以存在文件、sqlite中,共享时,需要继承ContentProvider

Broadcast Receiver无界面,但它可以收到广播后,启动Activity作为响应,或者通过notificationmanager提醒用户,或调Service处理长时间事务。

Intent在不同组件间传递消息,可以实现组件间调用,还可以通过它在组件间传递数据


6. 可以基于例子,在eclipse中创建android项目;可以使用DDMS,window-》open perspective-》DDMS;可以模拟GPS,给模拟器打电话等,可以查看日志,在代码中通Log.d(),Log.i(),Log.w(),Log.e(),Log.v()输出日志,还可以自定义标签输出,相当于为指定的组件输出日志。

可通过File Explorer导入、导出文件

chat4:

1. UI 元素包括Activity、View、ViewGroup、布局。

Activity包含View,View相当于控件,是基础控件、ViewGroup(布局、高级框架)的基类。

ViewGroup是View的子类,是容器或组件。

可以用DroidDraw来设计UI,生成xml文件。

2. 事件

可以通过接口实现、内部类、匿名类3种方式处理,原理都一致。

如button的Click事件,都需要implements OnClickListener接口,并为事件源设置事件(button.setOnClickListener(this或内部类、匿名类))和事件处理者。

一般多用匿名类实现,加载快。

事件源可以是view,也可以是Activity。

触摸事件如果事件源是Activity,要重写onTouchEvent方法,通过getAction获取触摸事件信息,如按下、抬起、移动、触摸点屏幕坐标(像素点坐标)。

键盘事件,onKeyDown.

菜单:通常隐藏,按菜单键时才显示。先创建和初始化菜单,然后进行菜单项事件处理。菜单有文本、图片以及混搭风格。

先为菜单项定义ID,public static final int G_MENU_ID=Menu.FIRST; ...=Menu.FIRST +1; ... =  ... +2;

菜单初始化通过重写onCreateOptionsMenu(添加菜单项)和onOptionsItemSelected(实现菜单选择处理方法)实现。

图片菜单,只需要添加菜单项时setIcon即可。











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值