第一行代码笔记二

1数据持久化 文件存储,SharedPreference存储 数据库存储。
openFileOutput方法,用于将数据存储到指定的文件中。两个参数(文件名,操作模式,)返回FileOutStream对象,然后进行写入操作。使用java流进行操作。然后使用openFileInput(文件名来读取出来)
首先获得SharedPreference.Editor对象。然后,edit。put各种类型的值,已键值对的方式,--之后commit提交。,这种方法是已xml格式对数据进行管理
取数据用getSharedpreferences(文件名,默认值,找不到的时候使用。)
SQLite数据库存储,数据类型integer,real浮点型,text,blob二进制。,一个类继承SQLitePenhelper,getReadableDatabase和getWriteableDatabase方法,打开或创建数据库。进行读写操作。优先前者,升级数据库,在更新方法里面,先把旧表删除,再重新创建表,如果,旧表已经存在会报错。。添加数据方法,使用ContentValues方法。调用insert方法。/update delete query还可以使用SQL语句操作crad方法,,,最后事务的回滚,要么都成功或失败db.beginTransaction方法开启事务-setTransactionsuccsessful 事务已经执行成功,最后finally,结束事务。升级数据库的最佳写法。switch里case没有break。
2内容提供者。不同的应用程序之间实现数据共享。通过getContentResolver方法获得内容提供者对象ContentRessolve。
内容URI给内容提供器中的数据建立了唯一标识符。格式,协议权限路径。使用Uri.parse,将URI字符串解析成uir对象。
然后内容提供者对象,通过uri标识进行CRAD方法,,这里的URI是系统提供的地址。
创建自己的内容提供者。继承ContentPRovider类。重写里面的CRAD方法。URI的格式,以路径结尾的表示访问该表的所有数据,已ID
结尾表示期待访问该表中拥有相应id的数据。
然后用uriMatcher.addURI方法,将uir字符串添加进去,再另一边用uriMatcher,match(uri)方法得到返回的自定义的代码,可以进行区分判断对表进行操作。
3多媒体的使用。notification对象。通知new Notificaton对象,还有些高级用法,铃声,震动和LED
PendingIntent的用法。
SmsManager发送短信和收短信。

 

服务server并不是运行在一个独立的进程当中,而是依赖于创建服务所在的应用程序进程中

消息队列。Mesag携带少量数据,handle用于发送和处理这个消息。MessageQueue消息队列,发过来的消息存在队列中,每个线程只会存在一个消息队列,。然后调用looper

将消息循环取出。

所以一条消息就从子线程进入到了主线程。

2使用异步方法。

 

继承Server方法,重写Onbind方法,oncreat 创建时调用onstartCommand每次服务启动的时候调用 ondestroy

服务和活动通讯。onbind方法里面返回bind对象。就可以new这个对象 在对象的类里面写很多方法。然后在活动这边使用bind方法将活动和服务绑定。接受三个参数1intent到哪个服务,2connection实例。3标志位。就可以实现活动和服务通信。connection是活动这边的一个匿名类。里面重写bind类的方法,无方法体。

注意startserver和bindserver都启动时。注意的地方。

在服务里面调用多线程,处理耗时任务。或是直接继承intentserver这个类,重写方法。可以处理耗时任务,因为onhandleintent这个方法是在子线程进行的,,这个类集合开线程和自动停止于一身。

android中定时。Timer和alarm前者cpu进入睡眠状态,可能不运行,后者有唤醒cpu功能。

webview的用法。不使用系统浏览器

 

使用Http访问网络

 httpURLconnection和HttpClient客户端向服务端发送HTTP请求,服务器收到数据返回数据给客户端,客户端对收到的数据解析

1url  2 获得HttpURLconnection对象。3这个对象设置一些参数。get、pos t时间 4调用getinputStream获得输入流。5关闭http连接,

可以将结果放在Message对象里面。然后发送出去,到主线程里面,然后对UI进行更新。

使用HttpClient对象 1获得这个对象new DefaultHttpClient 2 new HttpGet(传入URL) 或HttpPost   3如果发送的是post请求,则把数据放集合里发送。。4执行。5 根据请求和相应都成功后。调用getEntity获得这个实例。。6 toshting方法把实例转字符串。就得到了返回的数据了



解析XML

PULL解析和SAX 方法

1获得XmlPillParserFactory实例 2 获得XmlPUllParser对象 3 setInput将服务器返回的xml数据设置进行,然后就可以解析4getEcent获得解析事件,5循环解析。,getname获得解析节点的名字。


SAX解析

继承DefaultHandler,重写方法。。1开始解析,开始节点。2结束节点3 解析内容调characters方法。4节点结束。

JSON对象。优点体积小。网络传输省流量。解决jasn方法,使用JSONobject 和GSON

1JSONarray(数据)2 getjsonobject方法,循环把数据取出来。

2GSON方法,加入jar包。P402页

java回调机制

intent传递对象,这个对象实现序列化接口。然后再用putExtra,对象放入。,取数据对象的时候用getSerializableextra。

第二种方法实现Parcelable方法,将对象分解,分解后的每一个对象都是intetn支持传输的数据类型。,取数据的时候类似get


创建测试工程

好好学习天天向上。加油2016是自己蜕变的一年。克服自己。





 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值