src/ 包含stub.java Activity 文件的文件夹
res/ 资源文件夹
AndroidManifest.XML 工程清单
bin/ build脚本的输出目录
tool/文件夹下的adb程序将文件发送到模拟器上。.apK安装到模拟器的/data/app/目录下
-------------------------------2012.02.08 ----------------------------------
Android 中文文档 P16 ……………………
-------------------------------2012.02.23 ----------------------------------
Activity正常启动的过程:onCreate--->onStart--->onResume
Activity正常关闭的过程: onPause --->onStop --->onDestroy
如果中止时候出现新的Activity是全屏: onPause--->onStop
恢复时候: onStart--->onResume
onCreate :创建界面,做一些数据初始化。
onStart :用户可见不可交互。
onResume :变成和用户可交互的。
onPause :可见但不可交互的,系统会停止动画等消耗CPU的事情。应该在这里保存一些数据,因为这个时候你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在onResumme里读出来,注意:这个方法里做的事情时间要短,因为下一个Activity不会等到这个方法完成才启动。
onStop :变的不可见,被下一个Activity覆盖。
onDestroy:是Activity被干掉钱最后一个被调用的方法,可能是外面类调用finish方法或者是系统为了节省空间将它暂时性的干掉,可以用isFinishing()判断它,如果有一个Progressing Dialog在线程中转动,请在onDestroy里把它cancel掉,不然等线程结束的时候,调用Dialogdecancel方法会抛异常。
onPause,onStop,onDestroy 三种状态下Activity都有可能被系统干掉。为了保证程序的正确性,要在onPause()里协商持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般都是数据库)。
(参见“你了解Activity多少?”)
AndroidManifest.xml(片段)— 这个文件是 Android 应用程序的应用程序部署描述符。
IntentReceiver — 演示 IntentReceiver 的实现,这个类处理 AndroidManifest.xml 文件中 IntentFilter 标记所公布的 intent。
SaySomething.java — 实现一个 Android 活动,这是本教程的示例应用程序的主要入口点。
Main.xml — 这个文件包含 Android 活动所用的视觉元素或资源。
R.java — 这个文件是由 Android Developer Tools 自动生成的,它把视觉资源 “连接” 到 Java 源代码。
AndroidManifest.xml(完整)— 这是完整的 AndroidManfest.xml 文件,包含每个重要元素的描述。
MobileServiceCallContacts.java — 这个文件包含的代码显示联系人并对用户输入做出反应,执行 Google Maps 地址查找。
-------------------------------2012.02.24 ----------------------------------
eclair的calendar关于日程安排提醒的算法大致可以理解为:考虑到工作效率,Google设置了“24小时检索Alarm Manager”的工作机制,即:当前时间向未来推,24小时以内的日程提醒用Alarm Manager,存储在内存中,24小时以后的提醒则暂时不管。
疑问:由于内存中的数据是断电清空的,那么Google管理这24小时以内的日程提醒是如何防断电的呢?
(一个关于日程提醒机制有疑问的人)
日程编辑时可能使用到 ---> EditEvent.java
-------------------------------2012.02.28 ----------------------------------
1、首次开启体验:我在哪里?我现在能够做什么?我接下来能够做什么?
2、便捷的输入方式
3、对比度
4、不要让用户等待
5、不要忘记横向呈现方式
6、应用生态系统
7、让你的应用更为独特
8、遵守平台指导原则
9、测试
10、发布到市场上
(参见 Android手机应用UI设计的10个建议)
-------------------------------2012.03.01 ----------------------------------
Dalvik Debug Monitor Server (DDMS)
Log.v(verbose);Log.d()(debug);Log.i()(information);Log.w()(warning);
Log.e(error).
-------------------------------2012.03.08 ----------------------------------
可以单步调试~\(≧▽≦)/~啦啦啦
但还是不能执行 Onclick 事件
-------------------------------2012.03.09 ----------------------------------
R.XML 中 int 赋值用16进制数字来表示
-------------------------------2012.03.12 ----------------------------------
Button Onclick 事件可以执行
-------------------------------2012.03.13 ----------------------------------
添加跳转页
-------------------------------2012.03.14 ----------------------------------
添加跳转页
-------------------------------2012.03.19 ----------------------------------
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。
-------------------------------2012.03.21 ----------------------------------
方法有很多!
一:简单的,把该变量定义为static变量,其它类直接通过类调用!
二:将数据通过键值对通过SharedPreference保存到xml文件,Activity读取
三:将数据保存到sqlite数据库,Activity读取
四:定义一个数据类,添加这些数据的get set方法,通过intent传递
五:将数据添加到Bundle,通过intent传递
六:直接通过intent传递
//在这里把username放在bundle中 在用intent传递到下一个activity中
Intent intent = new Intent();
intent.setClass(now.this, your.class);
Bundle mBundle = new Bundle();
mBundle.putString("username", "你的名子");
intent.putExtras(mBundle);
startActivity(intent);
ListActivity.this.finish(); //重点 2012-04-25
//在新的activity中接收
Bundle bundle = getIntent().getExtras();
String name = bundle.getString("username");//这个string就是从上一个activity中传递过来的值
用的方法五,实现的页面传参
开始处理数据库连接 (*^__^*)
-------------------------------2012.03.23 ----------------------------------
sqlite 基础学习
getWritableDatabase 以读写方式开发数据库。一旦数据库的磁盘空间满了,就是出错。
getReadableDatabase 是先以读写方式打开数据库。如果数据库的磁盘空间满了,就会打开失败,当打开失败后继续尝试以只读方式打开数据库。
-------------------------------2012.03.26 ----------------------------------
错误:
Unhandled event loop exception
PermGen space
解决方案:
关闭程序
删除 .metadata 文件夹
------------------------------------------
An internal error occurred during: "Requesting Java AST from selection".
-------------------------------2012.03.27 ----------------------------------
Android Source:
SQLITE -- List显示,有增删改功能
ListView -- List显示,点击时有该行信息显示
-------------------------------2012.03.28 ----------------------------------
Android Source:
Handler_Test -- 4种方式显示图片
Spinner_Test -- 对下拉菜单数据的增删
Gallery_Test -- 图片显示
错误:
PermGen space
解决方案:
eclipse.ini 中 添加
--launcher.XXPermSize128m
-------------------------------2012.04.05 ----------------------------------
BundleOject_Test -- 输入男女,身高,显示标准体重的程序。
-------------------------------2012.04.12 ----------------------------------
Slidingdrawer_Test -- 抽屉布局在一个界面中显示另外一个布局,但是又要不需要占用太多布局空间。
Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。Spinner是View类得一个子类。
Android中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的唯一方式。在android系统中,没有一个公共的内存区域,供多个应用共享存储数据。 Android提供了一些主要数据类型的Content provider,比如音频、视频、图片和私人通讯录等。可在android.provider包下面找到一些android提供的Content provider。可以获得这些Content provider,查询它们包含的数据,当然前提是已获得适当的读取权限。
-------------------------------2012.04.13 ----------------------------------
Ebook_Test --
-------------------------------2012.04.19 ----------------------------------
TimeDiary_Test --
Calendar_Test --
-------------------------------2012.04.20 ----------------------------------
台湾的林信良老师写的《Java学习笔记》
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/JavaGossip.htm
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/JavaGossip2.htm
SeekBarProject -- 拖动条Demo。
EditTextProject -- 输入框Demo
ButtonProject -- 按钮Demo
TabProject -- Tab Demo
-------------------------------2012.04.23 ----------------------------------
尝试修改日历Button颜色
-------------------------------2012.04.24 ----------------------------------
尝试修改日历Button颜色
Button 设置完背景色后,Click事件好像失效了
最后采取了修改按钮字体颜色的方式。
尝试把日期传到第二个页面
-------------------------------2012.04.25 ----------------------------------
must contain only [a-z0-9_.]。原来下layout下的命名不能有大写字母,换句话说它只支持小写的a到z、0到9、下划线“_”和小数点“.”。
日历跳转到List页面结束,参数传了一个年月日
SQLITE 创建数据表时,一定要注意空格
-------------------------------2012.04.25 ----------------------------------
RelativeLayout
android:layout_centerInParent 居中布局
android:layout_centerVertical 水平居中布局
android:layout_centerHorizontal 垂直居中布局
android:layout_alignParentTop 居于容器内顶部
android:layout_alignParentBottom 居于容器内底部
android:layout_alignParentLeft 居于容器内左边
android:layout_alignParentRight 居于容器内右边
android:layout_above 居于指定View的上方
android:layout_below 居于指定View的下方
android:layout_toRightOf 在指定View的右边
android:layout_toLeftOf 在指定View的左边
android:layout_alignTop 与指定View的Top一致
Error inflating class null
我遇到这种错误有过两种不同的原因:
1、没有定义inflate需要的默认构造函数;
2、这是个内部类,需要声明为static才能inflate;
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
-------------------------------2012.05.07~05.10 ----------------------------------
程序开发
-------------------------------2012.05.11 ----------------------------------
程序发表
浙公网安备 33010602011771号