有些东西掉在了我前进的路上,我回头捡回来了。

来源:互联网 发布:java继承是什么意思 编辑:程序博客网 时间:2024/04/27 21:42

人的记忆能力是有限的,不能说只看一遍就记住了,通常过一段时间,你记住的东西就会忘了。我的东西,掉了。

而我今天,在回头去捡回来。


回头看了书本《android编程权威指南》的前面看过的一部分。老实说这本书真的很好,至少对我来说是这样。


现在是看着目录在打我脑海中还剩下的那部分。


第一章,就是讲了最最基础的东西,如何进行项目的创建,和Eclipse的一些技巧如导入包。

还有是写项目前的视图结构。


我觉得在写项目前最好像把你想的用一个视图结构给画出来,就是后面章节的MVC模式,真的很好用。帮助梳理思维,项目,一目了然。


还有是字符串资源设置监视器的匿名内部类,组件的布置,引用等等。最后是项目的运行。


第二章,MVC设计模式。

还有对第一章的项目进行优化。更新了V和C。都只是添加了一些组件和对应组件的操作。

对了,还有,findViewById方法是View里面的,有时候(譬如是在fragment的操作代码里)使用这个方法前要用View.findViewById()。

还有是如何在把项目在手机项目上运行。和图标资源的添加。


第三章。Activity的生命周期。

使用日志跟踪输出信息。如Log.d/Log.v/Log.e这些,其实这些我还不太常用,不太懂,或许是我境界还不够吧。

activity的生命周期,目前主要应用的是onCreate()和onPause().在onCreate中完成控制层的操作,在onPause()中是后面的对一些信息进行保存(不太清楚了。。)。

其余的说实话还不常用到,或许到后面要用到才会更理解。还不需要用到的,我就先不管了,只要先知道一下就好。

还有说了数据的保存,设备旋转前后的数据保持一致。使用onSavedInstaceState(Bundle)的方法。

这个方法保存数据的方式是key-value的方式,同时key值的命名最好是用包名作为前缀因为这样可以有效防止key值的冲突。

这个方法是在activity的暂停或停止状态(摧毁之前)进行数据的保存的。


第四章,android应用的调试。就是debug

我现在还只是会根据logcat中的信息去获取bug产生的原因,其他的我还不太会。android lint知道一点,因为试过发生lint的报错而且弄了好久所以记得很清楚,一般来说,如api版本这些只要使用clean工具就可以暂时忽略。但还是要解决的。后面发生了不能解决的异常时候,我会再回头看看这章吧。


第五章创建第二个activity。

特别点:要在mainfest中对activity进行声明。

使用startActivity(Intent intent)来启动另一个activity。

还有Intent的构造方法,public Intent(Context packageContext,启动的activity的class文件)第一个参数一般都是this ,目前只发现在匿名内部类是要使用启动方activity.this因为在匿名内部类里this表示的不是当前activity的this,它是匿名内部类的this.。。。。。。这个我也说不太懂


还有在Intent上的附加(额外)数据extra的添加,利用intent.putExtra(key,value)存入

用getValuetypeExtra(key)对数据进行取出.。特殊:在进行布尔值的取出时用getBooleanExtra(key,DefaultValue)进行取出,默认值是DefaultValue是在没有获得对应的值时的替代品。


如果需要从子activity中返回结给启动activity,那么启动子activity时用startActivityForResult(Intent,resultCode)方式启动,同时子activity里可以覆盖setResult(resultCode,intent)或者setResult(resultCode)方法来设置返回值。。。resultcode有两个预定义常量。Activity.RESULT_OK,Activity.RESULT_CANCELED.(其实我还不懂resultcode是拿来干嘛的。。。。。)


对了,还有启动项目时候最先启动Activity的mainfest声明,是<intent-filter>这个东西来标志Activity为启动Activity的啦。代码我认为也不需要特意去记,因为当你想改启动的时候直接剪切黏贴就行了。



第六章,是讲sdk版本与兼容。。

。。。。。。。这部分实在是不知道可以讲什么,就忽略了吧。


第七章,第二个项目的制作!!!!利用fragment来管理UI!!!


项目名称CriminalIntent,用途是记录办公室陋习。。。。陋习。。。办公室。。。


刚开始看的时候。。都是看着书照着代码敲一顿。挺难懂的。(当时真的。。。天书啊!)现在看着,感觉还行吧。


(书本以后的项目据说都是用fragment来管理UI的了,是因为想让学习者可以熟悉,习惯使用fragment来管理UI.)


开始引用支持库,因为要兼容3.0前的版本。。。所以引入支持库的fragment fragmenActivity巴拉巴拉的。

走流程。画视图级别,建立项目,建立model层Crime类。


上面都是废话!主要是fragment的生命周期(好多生命周期啊)

fragment 的生命周期基本上跟Activity的生命周期同步,多了一些别的周期方法。。。那些还不太明晓。。

现在主要指导onCreate和onCreateView两个方法,onCreate方法是public方法而Activity里的是protected的。配置实例。

创建视图是在onCreateView方法里。fragment的视图是通过LayoutInflater.inflate(..)方法来传入的(!!!LayoutInflater其实我都不太搞懂是什么)

inflate(布局资源id,父视图,是否将新视图加给父视图)这样使用。。通过activity代码方式时第三个参数传入false。


接下来,需要吧UIfragment添加给FragmentManager。代码方式:(fragment队列)FragmentManager fm = getSupportFragmentManager();

fm.beginTransaction().add(容器资源id,fragment).commint();

提交fragment前需要检查容器里是否已经有fragment。如果有就不需要提交事务了。。



上面暂时是今天复习的内容了。敲了那么多的字有点不敢相信。。。不过通过复习,真的能提高自己的理解,捡回丢失在路上的知识。也能认识到:哇!自己真的进步了!!


。。。。。还有一半没复习,,,,是今天的一倍多。。。加油吧!少年!



0 0
原创粉丝点击