第一篇:十九大学习心得 李卓洁
十九大学习心得
2017年10月18日上午,在西柏坡中共中央旧址七届二中全会前边,由西柏坡纪念馆部分干部职工,西柏坡消防中队,中国邮政集团石家庄分公司的部分干部职工,还有来到西柏坡中共中央旧址大院参观的全国各地的游客共同观看了中国共产党第十九次全国代表大会(简称中共十九大)在北京人民大会堂召开的现场电视直播。
在上午9;00十九大开幕,习近平代表第十八届中央委员会向大会作了题为《决胜全面建成小康社会夺取新时代中国特色社会主义伟大胜利》的报告。这次大会的主题是:不忘初心,牢记使命,高举中国特色社会主义伟大旗帜,决胜全面建成小康社会,夺取新时代中国特色社会主义伟大胜利,为实现中华民族伟大复兴的中国梦不懈奋斗。党的十九大,是在全面建成小康社会决胜阶段、中国特色社会主义发展关键时期召开的一次十分重要的大会。承担着谋划决胜全面建成小康社会、深入推进社会主义现代化建设的重大任务,事关党和国家事业继往开来,事关中国特色社会主义前途命运,事关最广大人民根本利益。
2017年10月24日,中国共产党第十九次全国代表大会在选举产生新一届中央委员会和中央纪律检查委员会,通过关于十八届中央委员会报告的决议、关于十八届中央纪律检查委员会工作报告的决议、关于《中国共产党章程(修正案)》的决议后,在人民大会堂胜利闭幕。
每一位观看十九大的观众脸上始终洋溢着幸福而激动的笑容。听到了总书记的铿锵有力的话语,我们每个人无不感到振奋。在场的每一位观众都在认真聆听。在此期间无论是人民大会堂上,还是我们中共中央旧址七届二中全会的观看现场多次响起最热烈的掌声。在报告中我听到了一些非常接地气的非常暖心的话语,感觉以习近平为总书记的这一届中央领导集体非常的务实,心始终和人民站在一起,一起拼搏,使我们的生活更加美好,一起拼搏使人民的军队更加强大,国防更加强大。一起拼搏,使我们作为中华儿女更加的自豪。一起拼搏,使我们对未来的祖国更加的期待。一起拼搏,使我们每一个人身在强大、美丽、开放、包容、发展中的祖国更加的自信。一起拼搏,使我们更加紧密的团结在以习近平同志为核心的中国新时代领路人身旁砥砺前进,一起拼搏,共同见证中华民族的伟大复兴。
在以后的日子里,我跟随西柏坡纪念馆第一支部的全体党员共同多多次学习十九大精神。积极参与了西柏坡纪念馆全员学习十九大考试一次,积极参与11月16日西柏坡纪念馆举办了“青春践行十九大、不忘初心跟党走”主题知识竞赛活动。积极参与了由西柏坡纪念馆第一、第三党支部组织党员预备党员和积极分子2017年11月22日在石家庄解放纪念碑开展的纪念石家庄解放70周年,学习十九大精神,“不忘初心 缅怀先烈”的主题教育实践活动。
十九大虽然胜利闭幕距今有50天的时间,但是各地在学习十九精神的热情还在继续,我有幸作为中华人民共和国的一名公民,一个西柏坡纪念馆的职工积极的参与了上述的一些活动,体会颇深。
十九大精神就是我学习工作的源泉和动力。为我以后的工作和生活提出的了更高的要求,为我今后的工作和生活指引了方向。在以后的工作学习对自己做了以下要求:
一、加强学习,不断提高理论知识和业务能力。
我始终坚持严格要求自己,勤奋努力,时刻牢记党全心全意为人民服务的宗旨,在自己平凡而普通的工作岗位上,努力做好本职工作。在具体工作中,我努力做好服务工作,当好参谋助手:一是认真收集各项信息资料,全面、准确地了解和掌握各方面工作的开展情况,分析工作存在的主要问题,总结工作经验,及时向领导汇报,让领导尽量能全面、准确地了解和掌握最近工作的实际情况,为解决问题作出科学的、正确的决策。二是领导交办的每一项工作,分清轻重缓急,科学安排时间,按时、按质、按量完成任务。
三、只有不断的加强政治理论、法律法规和业务知识的学习,准确掌握和运用岗位工作所需的知识,不断提高业务工作的能力和水平,才能适应工作的需要,确保工作圆满完成。按照岗位职责的要求,做好各项工作。要以高度的责任感,踏实的工作作风、认真细致的工作态度和进取的精神,履行好自己所承担的工作,踏踏实实完成各项工作任务。
二、加强政治学习提高思想觉悟。虽然我不是中共党员,但是我在今后的生活中始终按照党员的要求严格要求自己。认真学习党的十九大报告重要思想,深刻领会其科学内涵。树立牢固的宗旨意识,淡泊名利,克己奉公。树立牢固的组织纪律观念。始终坚持运用马克思列宁主义的立场、观点和方法论,坚持正确的世界观、人生观、价值观,并用以指导自己的学习、工作和生活实践。热爱祖国、热爱党、热爱社会主义,坚定共产主义信念,与党组织保持高度一致。认真贯彻执行党的路线、方针、政策,工作积极主动,勤奋努力,不畏艰难,尽职尽责,任劳任怨,在平凡的工作岗位上作出力所能及的贡献。通过认真系统地学习党的基本知识和各种理论著作,进一步夯实了理论基础,提高了党性认识和自觉遵守党的民主集中制原则,增强党纪党规观念和法制观念,严格遵守党章及党内其它制度规定。树立廉洁自律意识。常怀律己之心,把廉洁自律作为底线,自觉保持清正廉洁,不为私心所扰,不为名利所累,不为物欲所惑,做到讲党性、重品行、做表率。
我会始终以十大九大精神作为自己的精神食粮贯穿始终,在自己的岗位上,兢兢业业,任劳任怨,为推进我馆的发展做出自己的贡献。
李卓洁 2017年12月7日
第二篇:安卓学习心得
Android学习心得
-----093380117
计算机应用(1)
张峰
1.关于Activity
1.在一个Activity中使用多个View
如果把Activity看作MVC中的Control?它负责管理UI和接受事件(包括用户的输入),虽然说一个Activity通常对应一个屏幕,但事实上,我们是可以只用一个Activity管理多个不同的View来实现简单的逻辑。首先,我们增加一个新的资源描述layout/second.xml。
除了一个“Hello中国”以外,增加一个按钮可以返回前一个界面。然后,在代码中我们要为helloTwo增加两个方法,setViewOneCommand和setViewTwoCommand,分别处理一下在不同界面时,从资源里加载组件并为组件绑定一个事件处理器最后,我们需要在onCreate的时候,也就是启动后的main界面上设置一下按钮事件处理器。2.还是回到正道上,多个Activity之间的跳转
Android中提供一个叫Intent的类来实现屏幕之间的跳转,按文档的说法,似乎他们也建议采用这种方法,Intent的用法比较复杂,现在我先看看它最简单的用法。
这里的跳转功能用Intent来操作,它的最简单用法就是用函数setClass()设置跳转前后两个Activity类的实例,然后调用Activity自己的startActivity(intent)即可。最后一句finish()表示将当前Activity关掉(如果不关掉会如何?你可以自己试一下看效果,事实上有时我们是不需要关掉当前Activity的)。
然后,我们同样弄一个Activity类HelloThreeB,代码与前面的差不多,只是将setClass的两个参数反一下,这样就可以简单地实现在两个Activity界面中来回切换的功能了。
2.关于 Intent的使用
Intent分为两大类,显性的(Explicit)和隐性的(Implicit)。一般来说,intent要定位事件的目的地,无外乎需要以下几个信息: 1.种类(category),比如我们常见的 LAUNCHER_CATEGORY 就是表示这是一类应用程序。
2.类型(type),在前面的例子中没用过,表示数据的类型,这是隐性Intent定位目标的重要依据。
3.组件(component),前面的例子中用的是setClass,不过也可以用setComponent来设置intent跳转的前后两个类实例。4.附加数据(extras),在ContentURI之外还可以附加一些信息,它是Bundle类型的对象。
其实,如果是在一个应用内部,这种隐性的intent实在有点别扭,个人觉得,这种松藕合的实现方法,只适用于那些较大的系统或者多个不同的应用之间的调用,可手机上又有什么“较大”的系统呢?无非是可以与不同来源的多个应用之间方便地互操作而已,那么会是什么样的场景呢?比如,给QQ好友发送gmail邮件,用GoogleMap查找QQ好友所在的位置?看上去挺不错的。
关于这个ContentProvider,其实还有话说,它主要是的那些看似数据库操作的方法我们都没真正去实现呢。不过今天就到这里了,等下回再去研究吧。
3.关于ListActivity
准备一个List对象并借助Adapter就可以构造出一个列表。重载onListItemClick方法可以响应选择事件,利用第一个参数可以访问到这个ListView实例以得到选中的条目信息。这里有一点要说明的,就是如果更简单的话,其实连那个setContentView都可以不要了,Android也会自动帮我们构造出一个全屏的列表。但是本例中我们需要一个TextView来显示选中的条目,所以我们需要一个layout.mainb描述一下这个列表窗口。
这里需要注意的是那个ListView的ID,是系统自定义的android:list,不是我们随便取的,否则系统会说找不到它想要的listview了。然后,在这个listview之外,我们又增加了一个TextView,用来显示选中的条目。
再来说说这里用到的ArrayAdapter,它的构造函数中第二个参数是一个资源ID,ArrayAdapter的API文档中说是要求用一个包含TextView的layout文件,平台用它来显示每个选择条目的样式,这里的取值是R.layout.list_row,所以,我们还有一个list_row.xml文件来描述这个布局,相当简单。
从ArrayAdapter上溯到BaseAdapter,发现还有几个同源的Adapter也应该可以使用,象SimpleAdapter和CursorAdapter,还是做个例子来实验一下吧。
然后,在HelloTwoB中的onCreate函数中,修改代码,有几个不同:items的元素是HashMap实例,这是一点变化,然后构造函数除了要求items以外,还要求提供一个string[]来说明用hash表中的哪个字段显示在列表中,而后是一个资源ID的数组。
因为单纯的CursorAdapter是抽象类,所以我用的是它的子类SimpleCursorAdapter,很好理解,先用ContentResolver查询通讯簿得到一个游标,然后告诉SimpleCursorAdapter要用其中的People.NAME作为显示项来构造出一个adapter即可。4.关于Dialog
注意到android.app包下除了Dialog(可用于制作复杂的对话框)以外,还包括了几个系统定义好的对话框类,如DatePickerDialog、TimePickerDialog及AlertDialog。
其中AlertDialog我上回用过一次,基本上就那样子了,今天看看另外两个对话框的使用吧。
很简单的,无非是需要一个OnDateSetListener接口的实现而已,在它里面的dateSet方法中就可以得到选择的日期了。而TimePickerDialog与DatePickerDialog使用如出一辙。
看看另一个ProgressDialog的用法吧,这个类与AlertDialog一样包含了多个static的方法,所以使用起来是非常方便的。比如说,如果我们需要用它来表示一个长时间的操作。
5.关于Service和Notification
大略地看了一下android.app下的Service类,觉得它与Activity非常相似,只是要注意几个地方:
1.生命周期,Service的从onCreate()->onStart(int,Bundle)->onDestroy()显得更为简单。但是它的onStart是带参数的,第一个ID可用来标识这个service,第二个参数显示是用来传递数据的了。比较Activity,传递数据的Bundle是在onCreate就带进入的。
2.Service的启动由Context.startService开始,其实Activity或者Service都是Context的派生类。结束于Context.stopService()或者它自己的stopSelf()。
3.Service还有一个与Activity不一样的是它可以由另一个Context去绑定一个已存在的Service。就是这个方法Context.bindService(),被绑定的Service要求是已经onCreate了但可以没有onStart。在Service类中有个抽象方法getBinder()可以得到这个IBinder对象。关于这方面的细节,以后再看,这里只做个记录罢。
4.与Service有关的还有一个安全的问题,可以在AndroidManifest.xml中用
6.GridView与ImageView
简单一点吧,就瞧瞧那个Grid的效果,Android提供了一个GridView,不过从APIDemo中看来,它似乎与PC上的GRID差别还是挺大的,更像那个IconView的感觉。不知道Android中如何实现表格界面?虽然在移动终端上,表格一般不会有谁使用,大家似乎更倾向于使用ListView,而Android对于ListView则有更简单的实现ListActivity。
很简单,只要重载几个方法就可以了,关键是那个getView方法,它负责构建出每个单元格中的对象实例。这里我们构造的是一个ImageView实例。
然后就是同样的将这个Adapter赋给GridView即可,大家可以看看效果,注意在做这个例子前,先放几个小图片到res/drawable目录下,buildproject一下就可以得到那个R.drawable.a了(这里的a是图像文件名,如a.png)。
在getView方法中我们使用了ImageView类,这又是一个widget。除了上面用到的几个方法以外,还有以下几个方法值得注意: 与图像来源有关的方法,我们只用了资源文件的方式。
还是习惯性跑题了,其实,我是想通过我对这个类的无数次Debugger跟进,说说它的多线程异步处理的解决策略的。他的基本策略如下: 1.当你实例化一个AsyncQueryHandler类时(包括其子类...),它会单件构造一个线程(后面会详述...),这个线程里面会构建一个消息循环。
2.获得该消息循环的指针,用它做参数实例化另一个Handler类,该类为内部类。至此,就有了两个线程,各自有一个Handler来处理消息。3.当调用onXXX的时候,在XXX函数内部会将请求封装成一个内部的参数类,将其作为消息的参数,将此消息发送至另一个线程。4.在该线程的Handler中,接受该消息,并分析传入的参数,用初始化时传入的ContentResolver进行XXX操作,并返回Cursor或其他返回值。
5.构造一个消息,将上述返回值以及其他相关内容绑定在该消息上,发送回主线程。
6.主线程默认的AsyncQueryHandler类的handleMessage方法(可自定义,但由于都是内部类,基本没有意义...)会分析该消息,并转发给对应的onXXXComplete方法。
7.用户重写的onXXXComplete方法开始工作。
这就是它偷偷摸摸做过的事情,基本还是很好理解的。我唯一好奇的是它的线程管理方式,我猜测他是用的单件模式。第一个AsyncQueryHandler的实例化会导致创建一个线程,从此该线程成为不死老处男,所有的ContentResolver相关的工作,都由该线程统一完成。个人觉得这种解决方式很赞。本来这个线程的生命周期就很难估量,并且,当你有一个ContentProvider的请求的时候,判断你会做更多的类似操作并不过分。就算错了,花费的也只是一个不死的线程(与进程同生死共存亡...),换来的却是简单的生命周期管理和无数次线程生死开销的节约。同时另外一个很重要的问题,他并会涉及到单件中数据同步的问题,每个类都有各自的Handler类,彼此互不干扰,分发可以分别进行。当多个数据请求的时候,在同一个ContentResolver上进行的可能微乎其微,这就避免了堵塞。总而言之,这套解决办法和Android的整体设计算是天作之合了。
所以建议,如果你有什么非ContentProvider操作,却需要异步多线程执行的话,模拟一套,是个不错的策略,当然,具体情况具体分析,生搬硬套是学不好马列主义的。
7.显示控件使用
Android的界面显示同样也是基于控件的。通常是用View(包括ViewGroup)控件配上XML的样式来做的。具体细节不想说了,可以参考 Samples里的ApiDemos/View,和View的Doc,以及Implementing a UI这篇Doc。其他还有很多,感觉算是SDK讲述的最多的内容。
从控件的使用上,和网页的设计类似,尽量用parent_width之类的抽象长度,用Theme来做风格,抽取所有的字串等信息做本地化设计。相关内容参看Implementing a UI就好。
一类比较重要的是数据绑定控件。如果做过ASP.Net会从中看到很多类似的地方。一个支持数据绑定的控件,比如ListView。可以通过一个 ListAdapter绑定到一个数据源上。ListAdapter是一个抽象类,主要的实现类包括SimpleAdapter和 SimpleCursorAdapter。前者是绑定一个静态的Array,后者是绑定一个动态的Cursor。Cursor前面说过,是一个指向数据源的随机迭代器,将View绑定到Cursor通常要设置这样几个参数。一个是每一行的样式,称作Row Layout,其实就是一个普通的Layout的XML文件。还有就是一个列和现实控件的对应关系。那个控件显示哪个列的值,这是需要配置的。为了定制一个良好的数据显示控件,最简单你可以定制很PP的Row Layout,复杂一点就是可以重载绑定控件View,或者是适配器ListAdapter。如果是一个数据显示密集的应用,且你对UI有些追求,这个工作估计是必不可少的。
一个主要用于显示数据内容的Activity,可以选择派生自ListActivity。它提供了一个具有ListView 的Layout,还有simple_list_item_1, simple_list_item_2, two_line_list_item等默认的Row Layout,还有一些比较不错的API,和可供响应选择Item的事件。可以满足你比较基础的需求。如果你觉得只有一个ListView的界面太突兀,你可以为这个ListActivity指定一个Layout,需要注意的是,你需要提供一个id为@android:id/list的ListView控件,避免Activity在内部偷偷寻找该控件的时候失败。
除了这些要求,做好UI还有注意易用性和效率。快捷键是一个比较不错的选择,在 Activity中调用setDefaultkeyMode(SHORTCUT_DEFAULT_KEYS),可以开启快捷键模式,然后你可以将菜单绑定到指定快捷键上就OK了。个人觉得Tip也是一个比较重要的东西,但目前观察看来,这个东西只能够自己提供了。界面的动态性有时候是不可避免的,比如说菜单就是一个需要经常根据光标位置提供不同的选项。这个东西Android很人道的考虑到了,你可以参看NodeList这个Sample。它采取的应该是一个静态模拟动态的方式,这样有助于提高速度。你也可以利用ViewInflate,动态从一个XML创建一个控件。成本据Doc说很大,不到万不得已不要使用。
8.Intent消息传递
在前面写Android的ContentProvider时候,可以看到那是基于观察者模式的一个消息传递方法。每一个Cursor、ContentResolver做为一个小的注册中心,相关观察者可以在这个中心注册,更新消息由注册中心分发给各个观察者。而在MFC或Winform中,都会形成一个消息网,让消息在网中流动,被各节点使用、吃掉或者在出口死掉。
相比之下,我个人觉得基于Intent的Android核心消息传递机制是有所不同的。它应该会有一个全局性的注册中心,这个注册中心是隐性的,整个Android系统中就那么一个。所有的消息接收者,都被隐形的注册到这个中心。包括Activity,Service和IntentReceiver。其实说隐形注册是不确切的,所有注册都还是我们手动告诉注册中心的,只是与传统的方式不一样,我们通常不是通过代码,而是通过配置文件来做。在应用的Manifest中,我们会为一些Activity或Service添加上Intent-filter,或在配置文件中添加
当程序有一个消息希望发出去的时候,它需要将消息封装成一个Intent,并发送。这时候,应该是有一个统一的中心(恩,有可能Android底层实现的时候不是,但简单这样看是没问题的...)接受到这个消息,并对它进行解析、判定消息类型(这个步骤降低了耦合...),然后检查注册了相匹配的filter或receiver,并创建或唤醒接收者,将消息分发给它。这样做有很多好处。虽然这种传递有的时候不如点对点的传递快(这有些需要速度的地方,我们看到Android会通过直接通信来做),但有时候又因为它只经过一跳(姑且这么叫吧...),比复杂的流动又要更快。更重要的是,它耦合性低,在手机平台这种程序组件多变的条件下使用十分适合。并且它可以很容易实现消息的精确或模糊匹配,弹性很大。(我个人曾想在开发一个C++二次平台的时候引入这样的机制,但在C++中,建立一套完整的数据marshal机制不容易,相比之下,用java来做会简单很多...)
恩,废话说了很多,具体讲讲Android中Intent的使用。当你有一个消息需要传递,如果你明确知道你需要哪个Activity或者其他Class来响应的话,你可以指定这个类来接受该消息,这被称为显性发送。你需要将Intent的class属性设置成目标。这种情况很常见,比如startActivity的时候,会清楚当前Activity完了应该是哪个Activity,那就明确的发送这个消息。
但是,有的时候你并不确定你的消息是需要具体哪个类来执行,而只是知道接收者该符合哪些条件。比如你只需要有一个接收者能显示用户所选的数据,而不想制定某个具体的方法,这时候你就需要用到隐形发送(传统上,我们可能会考虑用多态,但显然这种方式更为灵活...)。在Android中,你可以为Intent指定一个action,表示你这个指令需要处理的事情。系统为我们定义了很多Action类型,这些类型使系统与我们通信的语言(比如在Activity里面加一个Main的filter,该activity就会做成该应用的入口点),当然你也可以用于你自己的应用之间的通信(同样当然,也可以自定义...)。强烈建议,在自己程序接收或发出一个系统action的时候,要名副其实。比如你响应一个view动作,做的确实edit的勾当,你发送一个pick消息,其实你想让别人做edit的事,这样都会造成混乱。当然只有Action有时候是不够的,在Android中我们还可以指定catalog信息和type/data信息,比如所有的显示数据的Activity,可能都会响应View action。但很多与我们需要显示的数据类型不一样,可以加一个type信息,明确的指出我们需要显示的数据类型,甚至还可以加上一个catalog信息,指明只有你只有按的是“中键”并发出这样的消息才响应。从上面可以看出,Android的Intent可以添加上class, action, data/type, catalog等消息,注册中心会根据这些信息帮你找到符合的接收者。其中class是点对点的指示,一旦指明,其他信息都被忽略。Intent中还可以添加key/value的数据,发送方和接收方需要保持统一的key信息和value类型信息,这种数据的marshal在java里做,是不费什么力气的。
Android的Intent发送,可以分成单播和广播两种。广播的接收者是所有注册了的符合条件的IntentReceiver。在单播的情况下,即使有很多符合条件的接收者,也只要有一个出来处理这个消息就好(恩,个人看法,没找到确切条款或抉择的算法,本来想实验一下,没来得及...),这样的情况很容易理解,当你需要修改某个数据的时候,你肯定不会希望有十个编辑器轮流让你来处理。当广播不是这样,一个receiver没有办法阻止其他receiver进行对广播事件的处理。这种情况也很容易理解,比如时钟改变了,闹钟、备忘录等很多程序都需要分别进行处理。在自己的程序的使用中,应该分清楚区别,合理的使用。
9.ContentProvider数据模型
数据库操作
从我目前掌握的知识来看,SQLite比较轻量(没有存储过程之类的繁杂手段),用起来也比较简单。实例化一个SQLiteDatabase类对象,通过它的APIs可以搞定大部分的操作。从sample中看,Android中对db的使用有一种比较简单的模式,即派生一个 ContentProviderDatabaseHelper类来进行SQLiteDatabase对象实例的获取工作。基本上,ContentProviderDatabaseHelper类扮演了一个singleton的角色,提供单一的实例化入口点,并屏蔽了数据库创建、打开升级等细节。在ContentProvider中只需要调用ContentProviderDatabaseHelper的openDatabase方法获取SQLiteDatabase的实例就好,而不需要进行数据库状态的判断。URI 像进行数据库操作需要用SQL一样,对ContentProivder进行增删改查等操作都是通过一种特定模式的URI来进行的(ig:content: //provider/item/id),URI的能力与URL类似,具体细节可以查看SDK。建立自己的ContentProvider,只需要派生 ContentProivder类并实现insert, delete, update等抽象函数即可。在这些接口中比较特殊的是getType(uri)。根据传入的uri,该方法按照MIME格式返回一个字符串(==!没听过的诡异格式...)唯一标识该uri的类型。所谓uri的类型,就是描述这个uri所进行的操作的种类,比如content://xx/a与 content://xx/a/1不是一个类型(前者是多值操作,后者是单值),但content://xx/a/1和content://xx/a/2 就会是一个类型(只是id号不同而已)。
在ContentProvider通常都会实例化一个ContentURIPraser来辅助解析和操作传入的URI。你需要事先(在static域内)为该ContentURIPraser建立一个uri的语法树,之后就可以简单调用 ContentURIPraser类的相关方法进行uri类型判断(match方法),获取加载在uri中的参数等操作。但我看来,这只是在使用上简化了相关操作(不然就需要自己做人肉解析了...),但并没有改变类型判定的模式。你依然需要用switch...case...对uri的类型进行判断,并进行相关后续的操作。从模式来看,这样无疑是具有强烈的坏味道,类似的switch...case...代码要出现N此,每次一个 ContentProvider做uri类型的增减都会需要遍历修改每一个switch...case...,当然,如果你使用模式(策略模式...)进行改造对手机程序来说无疑是崩溃似的(类型膨胀,效率降低...),所以,只能是忍一忍了(恩,还好不会扩散到别的类中,维护性上不会有杀人性的麻烦...)。增删改查
ContentProvider 和所有数据源一样,向外提供增删改查操作接口,这些都是基于uri的指令。进行insert操作的时候,你需要传入一个uri和 ContentValues。uri的作用基本就限于指明增减条目的类型(从数据库层面来看就是table名),ContentValues是一个 key/value表的封装,提供方便的API进行插入数据类型和数据值的设置和获取。在数据库层面上来看,这应该是column name与value的对应。但为了屏蔽ContentProvider用户涉及到具体数据库的细节,在Android的示例中,用了一个小小的模式。它为每一个表建一个基于BaseColumn类的派生类(其实完全可以不派生自BaseColumn,特别当你的表不基于默认的自动id做主键的时候),这个类通常包括一个描述该表的ContentURI对象和形如 public static final TITLE = “title”这样的column到类数据的对应。从改变上角度来看,你可以修改column的名字而不需要更改用户上层代码,增加了灵活性。insert方法如果成功会返回一个uri,该uri会在原有的uri基础上增加有一个row id。对于为什么使用row id而不是key id我想破了脑袋。到最后,我发现我傻了,因为ContentProvider不一定需要使用数据库,使用数据库对应的表也可以没有主键,只有row id,才能在任何底层介质下做索引标识。
但,基于row id在删除和修改操作是会造成一定的混乱。删除和修改操作类似。删除操作需要传入一个uri,一个where字串,一组where的参数(做条件判定...),而修改操作会多一个ContentValues做更新值。着两个操作的uri都支持在末尾添加一个row id。于是混乱就出现了。当在where参数中指明了key id,而在uri中提供了row id,并且row id和key id所指函数不一致的时候,你听谁的?示例代码中的做法是完全无视row id(无语...),如此野蛮的方式我估计也只能在示例中出现,在实际中该如何用,恩,我也不知道。幸运的是,我看了下上层对 ContentProvider的删除操作,其实都不会直接进行,而是通过调用Cursor的delete方法进行,在这前提下,我想Cursor会处理好这些东西吧。
最后一个操作是查询操作,可以想见,查询的参数是最多的,包括uri和一组条件参数。条件参数类型和标准的sql类似,包括 sort, projection 之类的。从这些参数到sql语句的生成,可以寻求QueryBuilder类的帮助,它提供了一组操作接口,简化了参数到sql的生成工作,哪怕你不懂 sql都完全没有问题(这话说的我自己都觉得有点悬...)。查询返回一个Cursor。Cursor是一个支持随机读写的指针,不仅如此,它还提供了方便的删除和修改的API,是上层对ContentProvider进行操作一个重要对象,需要仔细掌握(Cursor还可以绑定到view上,直接送显,并与用户进行交互,真是程序越往上,封装越好,工作越机械没有复杂性了...)。数据模型
在与界面打交道的Cursor、ContentResolver等数据操作层中,大量采用观察者模式建立数据层与显示层的联系。一个显示层的视图,可以做成某一种观察者注册到Cursor或ContentResolver等数据中间层中,在实现底层ContentProvider中,我们需要特别注意在对数据进行修改操作(包括增删改...)后,调用相应类型的notify函数,帮助表层对象进行刷新(还有一种刷新方式是从一个view发起的)。可以看到 Android的整体数据显示框架有点像MVC的方式。Cursor、ContentResolver相当于控制层,数据层和显示层的交互通过控制层来掌管,而且控制层很稳定不需要特别定制,通常工作只在定制数据层和显示层空间,还是比较方便和清晰的。
10.学习感想
通过这学期对安卓的学习,大概了解了以上一些知识,对安卓有了初步的了解,这几个月给我的东西我想用有形的和无形的两部分概叙,形的当然就是技术水平的长进,虽然其中肯定有很多的不足,相信慢慢会体会到。
第三篇:学习心得 赵洁
学习心 得
为不断提升公司女工干部的综合素质和履职能力,团结和动员公司广大女职工在企业发展中充分发挥“半连天”作用,8月26日至9月3日,西部钻探公司工会和公司女工委组织了女工、计划生育干部培训班。作为青海钻井公司的一名工会干部,我有幸参加了此次培训。
在开课典礼上,公司工会副主席王维荣同志为我们讲解了,在新形势下女工工作面临的机遇与挑战,同时强调在现阶段中公司不断在发展,对公司女工工作的要求也在不断提高,女工工作必须要有新思路、新方法。并提出了六点具体要求:一是要加强学习,增强使命感和责任感;二是要把握形势、提高认识,注重工作的创新;三是要充分发挥好党、政联系女工的桥梁纽带作用;四是教育并积极引导女工做到自信、自立、自强,树立良好的形象;五是要做好女工特殊保护工作;六是要做到家庭和谐,学会学习,学会工作,学会生活。公司女工主任贾米娜从加强女职工培训的现实意义和对女职工干部今后工作的几点要求入手,为女职工干部剖析了学习培训的重要意义。强调了学习的重要性和目的性,要求参加这次培训的女工干部要提高认识、把握重点、严于律己、学以致用。
在为期8天的时间里,授课老师从计划生育概述、怎样当好基层女工干部、工会女职工工作概述、沟通技巧的提升、职场礼仪、计划生育工作知识、职业形象与色彩搭配、女职工生理及心理保健知识等十个方面进行了培训。通过培训使我对在当前构建和谐社会、建设和谐企业、营造和谐家庭中,女职工特别是女工干部如何发挥好率先作用、如何维护好女职工的合法权益、如何提高女工干部的工作能力等内容,有了进一步的了解和掌握,对今后发挥女职工组织的职能起到了指导作用。
通过参加这次学习培训我主要的收获和体会有: 一是进一步提高理论素养和学习能力,工会女职工干部一定要把学习思想政治进论摆在头等重要的位臵。要认真学习邓小平理论和“三个代表”重要思想,进一步坚定中国特色社会主义的理想信念,增强政治敏锐性,在思想上、政治上、行动上与党中央保持高度一致;认真学习科学发展理论,全面把握精神实质、科学内涵和根本要求,不断提高运用科学理论武装头脑、指导实践、推动工作的能力;认真学习社会主义核心价值体系,树立正确的世界观、人生观和价值观,加强思想道德建设,提高用社会主义核心价值引领和凝聚广大女职工的能力;认真学习中国特色社会主义工会理论和党中央关于工人阶级、工会工作的一系列重要指标,更自觉坚定地走中国特色社会主义工会发展道路,把党中央的要求、工会全局工作的需要、转化为推动工会女职工工作创新发展的正确思路和有效行动。找准与工会女职工工作的结合点,把所从事的女职工工作自觉放在工作全局中去思考和定位。认清形势、统观全局,进一步增强贯彻执行中央决策部署的自觉性和坚定性,进一步加强源头参与和超前维护的工作力度,在维权维稳中充分发挥工会女职工组织的积极作用。二是通过学习工会和女职工工作业务,进一步提高新形势下做好工会女职工工作的履职能力。工会女职工工作是一项政治性、政策性、专业性和群众性都很强的工作,领域宽、范围广、战线长,需要掌握多方面的知识本领,获取多方面的信息资源。本着“缺什么、补什么”的原则,确定努力方向,潜心学习钻研,学习工运理论、准确把握工运事业基本规律,为推动工运事业不断发展奠定基础;认真学习工会法、劳动合同法、妇女权益保障法等相关法律法规,通晓劳动就业、工资分配、社会保障、劳动安全等有关规定,熟悉妇运理论、女职工生理心理特点以及与女职工联系紧密的各方面业务知识,以掌握工作的主动权;要按照复合型干部的要求,不断优化知识和能力结构,及时补充市场经济、现代管理等各项新知识,注重加强写作训练,提高文字水平,增强宣传、协调和参与能力,全面掌握做好女职工工作的各项本领,努力成为工会女职工工作的行家里手。
女职工是推动公司改革发展的重要力量。公司的生产经营和各项生产任务的完成都离不开女职工的积极参与和不懈努力,通过这次培训使我明白了要想成为一个合格的女工
干部,除了具备相应的政治素质、文化素质、业务素质、身体素质和相应的学习能力之外,还应具备以下条件:首先要尊重这个岗位,要对自己的工作充满热情;其次是要有奉献精神,舍得付出心智和精力;三是要勤于思考,有创新精神;四是要行动力强,要有雷厉风行的工作作风,遇到困难时要有锲而不舍的精神。我会把我所学到的东西结合实际用到公司女工工作中,为公司广大女职工服好务,让她们在生活中更出彩,在工作中更出色!
青海钻井公司 赵洁 二〇一〇年九月二日
第四篇:述职报告 李卓(定稿)
述 职 报 告
新年伊始,万象更新。忙忙碌碌的半年过去了,回顾半年来的所有工作令人欣慰。在支行各级领导的带领下和同事们的帮助下,我完成了本的各项工作任务。现就半年来的工作情况向各位领导和同事们汇报如下,不到之处,请领导和同事们批评指正。
一、加强业务知识学习。半年来本人通过集中学习和自学相结合的方式学习了金融法律法规知识及支行文件精神,使自己的思想和道德水平得到了进一步的提高;在工作之余狠抓业务知识学习,特别是学习《员工守则》和《员工违规积分管理办法》等,增强了自身业务素质,不断提高工作效率和质量。
二、做到优质文明服务,提高窗口服务质量。我知道我所在的岗位是一线服务窗口,我的一言一行都代表着本行的形象。这就要求我在工作中不能有丝毫的马虎和松懈,因此我时刻提醒自己在工作中一定要认真细心,严格按规章制度进行实际操作,同时尽最大努力去帮助客户,耐心解答客户在办理业务过程中存在的各种疑问,急客户之所急,想客户之所想,使客户能够高兴而来,满意而归。
三、增强安全意识,及时杜绝安全隐患,做到全年安全无事故。业务要发展,安全是基础,一手抓业务,一手抓安全。在抓业务的同时,时刻不忘安全第一。工作中能够坚持及时上下班,进出门做到即开即锁,随手关门。班前班后及时检查安全。在办理业务操作过程中,能够按规章制度办理业务,坚持做到一日三碰库,坚决不办理自身业务,及时避免了业务操作风险,保证了工作质量,使业务操作安全有效。
四、工作中存在的不足及今后的打算。主要是业务学习不够,时代在变,环境在变,银行的工作时刻在变每天都有新的东西出现,新的情况发生,面对严峻的挑战,还缺乏学习的紧迫感和自觉性。再加上我行转型不久,更是给我们一线员提出了新的更高的要求,因此学习新业务,掌握新理论,适应新要求,不断提高自己的履岗能力,把自己培养成业务全面的新型人才是我所努力的目标。
总之,一年来的工作取得了一定的成绩,但还存在诸多不足之处,在一些细节的处理和操作上存在一定的欠缺,我要在今后的工作学习中磨练自己,在领导和同事的指导帮助中提高自己,发扬长处,弥补不足。在新的一年将制定出我新的奋斗目标,以饱满的精神状态迎接新的挑战,向先进学习,向同事学习,取长补短,共同进步,为贺疃支行的明天而尽心尽责。
李
卓
二0一二年一月二十九日
第五篇:演讲稿李洁(最终版)
优秀教师发言稿
尊敬的各位领导、各位来宾、亲爱的老师们: 大家(上午)好!
金灿灿的秋天盛载着沉甸甸的收获,崭新的学年,孕育着新的希望与憧憬。在这秋风送爽、硕果累累的季节,我们迎来了又一个教师节,有幸作为优秀教师代表发言,心情非常激动。市委市政府、镇党委政府及各级领导对教育的高度重视,对教师的亲切关怀使我们如沐春风,倍感温暖,在此请允许我向在座的老师们致以节日最真诚的问候!向给予我们教师亲切关怀、无私帮助和辛勤培养的领导们,表达最真挚的感激!向一直关心、支持教育事业的各位来宾表示最衷心的感谢!
一个国家、一个民族的发展需要教育,而教育的发展需要我们一代又一代人坚持不懈的努力,而教师正是这努力的原动力。2005年9月,带着青春无限激情,满怀对教育事业的热爱,我毅然走上了三尺讲台,实现了我多年的夙愿。国运兴衰,系于教育;三尺讲台,关系未来。所以,从踏上教坛的第一天起,我就无悔地坚守着教育这方沃土。为了承诺中的那缕阳光能五彩斑斓,多年来,我用师德的高尚完善自己的人格,用无私的奉献、默默无闻地去诠释教师的本色,用爱的心泉塑造美好的心灵,用绿叶的情怀来编导自
己的课堂,用自己的言行去影响每一个学生,用求实钻研做养料去滋润明天的果实。在平凡的岗位上,为自己挚爱的教育事业,我付出了辛勤劳动,得到了领导、组织的鼓励和表彰,被评为市级优秀教师,我充满着感激,谢谢各位领导的关怀和组织的信任。但是我深知还有很多地方要向在座的各位学习,我会继续努力,一步一个脚印的向更高的目标迈进。
大家都知道,小学生是一块未经雕琢的璞玉,遇到技艺精湛的雕刻师就能使其变成宝。为此,作为小学教师,我们力求在自己的工作中不出现任何的差错,认真贯彻党的教育方针,切实履行教书育人的职责,严格服从学校的工作安排,团结同事,关心学生,工作勤奋,乐于奉献,严于律己。
在教学工作中,对待学生始终坚持爱中有严,严中有爱,不偏爱任何一位好学生,不放弃任何一位差生,关心每一位同学的健康成长,用一颗朴实的爱心用心去爱每一位学生。记得我任教的班上有过一名女生因自卑成绩差,母亲患有慢性疾病,父亲又一直瘫痪在床,孩子学习无人照料,了解到这一情况后,我多次上门到该学生的家中看望她和她的家人,并让她放下心理负担,专心于学习中,并对她进行专门辅导,最后该生在小学毕业考试中取得了优异的成绩。我们坚信,爱心是伟大的,是教师的天赋,是开启学生心灵的金钥匙。因此,平日里对学生真诚相待,热情鼓励,耐心帮助,用师爱的温情融化学生“心中的坚冰”,千方百
计调动学生的学习内驱力,激发学生的学习积极性,让他们在愉悦的情感体验中接受教育。2008年暑假开学,一个让老师们操碎了心、令老师们感到棘手的男生,分到了我班。开学的第一天早晨,他就试图跑出教室,一如既往的捣乱,我静观其变。下课了,把他找来,诚恳地告诉他: “过去的事情老师既往不咎。从今天开始我相信你一定能做一名老师心目中的好学生!”孩子嘛,都喜欢当干部,于是,我就让他担任我班的纪律督查组长,并且诚恳地告诉他,只有自己以身作则,才能服众。他当即表示自己能够做到,蹦蹦跳跳跑出了办公室。除草的时候,他干得是那么的起劲,我走到他跟前,看到他已经汗流满面了,我心疼地用手给他擦去了汗,告诉他去休息一会儿,可是,他说什么也不休息,反而干的更欢了;升旗的时候,他改变了以往的好动,特别守纪。慢慢的,他把主要精力也投入到学习上去,期末考试各科成绩都在优秀以上。我由衷的感到欣慰!
作为青年教师,如果不能胜任班主任工作,教师工作是不完整的。经过几轮循环教学,基本胜任小学班主任工作,以后我会继续发扬成绩,克服不足,进一步提升班级管理的能力;想趁年青,在精力充沛的情况下,多做些事,争取能做出点成绩。一是向身边教师学习,学习他们在教育教学及班级管理的成绩经验,做好学生与老师间的协调工作,发挥纽带作用。二是注重培养学生的集体荣誉感,学生有了集体
观念,对集体荣誉就会产生较强的共鸣。鼓励学生积极参加学校开展的各项活动。三是全面了解学生,融入到学生中去,和他们一起解决实际问题。
在教教书之余,还不断探索教学改革的新路子,积极参加数学教学公开课展示,取得了一点成绩和荣誉。课件《可能性》在2008年荣获聊城市中小学多媒体课件制作大赛一等奖,《年月日》一课获临清市小学优质课,论文《换种眼光看错误》在2009年《山东教育》刊物上发表,《我做写字课上的“学生”》在《小学青年教师》刊物上发表;还多次指导学生参赛获得一、二等奖。2008-2009、2009--2010连续两学年被评为“镇级优秀教师,在08单位考核中评为“优秀”等荣誉称号,雄关漫道真如铁,而今迈步从头越,荣誉属于过去,今后我将一如既往,不断地改进自己,提高自己,在干好本职工作的同时,积极参与学校组织的各项文体活动,努力成为无愧于党和人民的人类灵魂工程师,赢得社会的尊重。这里,我想代表广大教师作出几点保证:
一是要爱岗敬业、关爱学生。
切实承担教育者的社会责任,满怀对受教育者的真心关爱。要忠诚于人民的教育事业,树立崇高的职业理想和坚定的职业信念,把全部精力和满腔真情献给教育事业,做爱岗敬业的模范。
二是要刻苦钻研、严谨笃学。
我们是知识的重要传播者和创造者。在当今时代知识层出不穷的条件下,要成为合格教育者,就必须不断学习、不断充实自己。我们要崇尚科学精神,树立终身学习理念,如饥似渴地学习新知识、新技能、拓宽知识视野,更新知识结构,不断提高教学质量和教书育人本领
三是要勇于创新、奋发进取。
我们教师从事的是创造性工作。我们要踊跃投身教育创新实践,积极探索教育教学规律,更新教育观念,改革教学内容、方法、手段,注重培养学生的动手能力,鼓励学生的创造性思维,引导学生在发掘兴趣和潜能的基础上全面发展。
四是要淡泊名利、志存高远。
高尚的师德,是对学生最生动、最具体、最深远的教育。我们要带头实践社会主义荣辱观,不断加强师德修养,把个人理想、本职工作与学生发展紧密联系在一起,树立高尚的道德情操和精神追求,甘为人梯,乐于奉献,静下心来教书,潜下心来育人,努力做受学生爱戴、让人民满意的教师。
各位领导、各位老师,会当击水三千里,直挂云帆济沧海,现在以刘校长为首的领导班子给我们开创出了新的辉煌,同时我们也经历着前所未有的挑战。我们祖国各项事业的迅猛发展就是对我们所从事的教师职业的最高礼赞,我们
为自己能从事这种传承文明、继往开来的职业而感到骄傲和自豪!民族复兴,我们责无旁贷;爱洒桃李,我们无怨无悔!让我们以更加饱满的热情,努力的工作和学习,用青春和热血为刘垓子的教育事业谱写新的篇章!
最后,让我们再一次捧上我们的祝福,祝刘垓子的教育事业蓬勃发展;祝在座的各位老师节日快乐,祝在座的各位领导身体健康,合家欢乐!
谢谢大家!