首页 android数据通信和存储

android数据通信和存储

举报
开通vip

android数据通信和存储nullAndroid数据通信和存储Android数据通信和存储Intent意图Intent意图组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。 在这些组件之间的通讯中,主要是由Intent协助完成的。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者...

android数据通信和存储
nullAndroid数据通信和存储Android数据通信和存储Intent意图Intent意图组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。 在这些组件之间的通讯中,主要是由Intent协助完成的。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。null例如,在一个联系人维护的应用中,当我们在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个联系人后,希望能够跳出此联系人的详细信息屏幕(假设对应的Activity为detailActivity) 为了实现这个目的,listActivity需要构造一个 Intent,这个Intent用于告诉系统,我们要做“查看”动作,此动作对应的查看对象是“某联系人”,然后调用startActivity (Intent intent), 将构造的Intent传入,系统会根据此Intent中的描述,到ManiFest中找到满足此Intent要求的Activity,系统会调用找到的 Activity,即为detailActivity,最终传入Intent,detailActivity则会根据此Intent中的描述,执行相应的操作。nullActivity、Service和Broadcast Receiver这三个组件而言,他们都有自己独立的传递Intent的机制: Activity:它主要是通过Context.startActivity() 或Activity.startActivityForRestult() 来启动一个存在的Activity做一些事情。当使用Activity.startActivityForResult() 启动一个Activity时,可以使用Activity.setResult()返回一些结果信息,可以在Activity.onActivityResult() 中得到返回的结果. Service:对于Service来说,它主要是通过Context.startService() 初始化一个Service或者传递消息给正在运行的Service。同样,也可以通过Context.bindService() 建立一个调用组件和目标服务之间的连接。 Broadcast Receiver:我们可以通过 Context.sendBroadcast() , Context.sendOrderedBroadcast() 以及Context.sendStickyBroadcast() 这些 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,传递Intent给感兴趣的广播。nullIntent对象  一个Intent对象包含了很多数据的信息,比如要执行的动作,类别,数据,附加信息等等,下面就一一列列出一个Intent中包含的信息。 组件名称       这个组件名称字段其实就是一个ComponentName类,它包含了一个目标组件的全限定名,比如com.flysnow.intent.Activity1,这就是一个全限定名的Activity。组件名字可以通过setComponent()、setClass()或者setClassName()设置,如果设置了Intent目标组件的名字,那么这个Intent就会被传递给特定的组件,也就是我们说的显式Intent.如果不设置,则是隐式的Intent,Android系统将根据Intent Filter中的信息进行匹配. nullAction(动作)        一个Intent的Action在很大程度上说明这个Intent要做什么,是查看(View)、删除(Delete)、编辑(Edit)等等。Action一个字符串命名的动作,Android中预定义了很多Action,可以参考Intent类查看,下面是文档中的几个动作nullnullData(数据)       Data,其实就是一个URI,用于执行一个Action时所用到的数据的URI和MIME。不同的Action有不同的数据规格,比如ACTION_EDIT动作,数据就可以能包含一个用于编辑文档的URI,如果是一个ACTION_CALL动作,那么数据就是一个包含了tel:6546541的数据字段,所以上面提到的自定义Action时要 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 命名。数据的URI和类型对于Intent的匹配是很重要的,Android往往根据数据的URI和MIME找到能处理该Intent的最佳目标组件。 nullCategory(类别)      Category指定了用于处理Intent的组件的类型信息,一个Intent可以添加多个Category,使用addCategory()方法即可,使用removeCategory()删除一个已经添加的类别。Android的Intent类里定义了很多常用的类别,可以参考使用。 nullnullcomponent(组件) 指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。 extras(附加信息) 是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 、正文等保存在extras里,传给电子邮件发送组件。 nullIntent的两种基本用法: 一种是显式的Intent,即在构造Intent对象时就指定接收者; 另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,有利于降低发送者和接收者之间的耦合。 对于显式Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些隐式Intent,通过解析,将 Intent映射给可以处理此Intent的Activity、IntentReceiver或Service。         Intent解析机制主要是通过查找已注册在AndroidManifest.xml中的所有IntentFilter及其中定义的Intent,最终找到匹配的Intent。在这个解析过程中,Android是通过Intent的action、type、category这三个属性来进行判断的,判断方法如下: null如果Intent指明定了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不能匹配; 如果Intent没有提供type,系统将从data中得到数据类型。和action一样,目标组件的数据类型列表中必须包含Intent的数据类型,否则不能匹配。 如果Intent中的数据不是content: 类型的URI,而且Intent也没有明确指定它的type,将根据Intent中数据的scheme (比如 http: 或者mailto:) 进行匹配。同上,Intent 的scheme必须出现在目标组件的scheme列表中。 如果Intent指定了一个或多个category,这些类别必须全部出现在组建的类别列表中。比如Intent中包含了两个类别:LAUNCHER_CATEGORY 和 ALTERNATIVE_CATEGORY,解析得到的目标组件必须至少包含这两个类别。 null                                                                                                                                                                                                                                                 null常用的Intent 显示网页    1. Uri uri = Uri.parse("http://google.com");      2. Intent it = new Intent(Intent.ACTION_VIEW, uri);      3. startActivity(it); 显示地图 路径规划 打电话 传送SMS/MMS 传送 Email 播放多媒体Android存储数据Android存储数据1. 使用SharedPreferences存储数据; 2. 文件存储数据; 3. SQLite数据库存储数据; 4. 使用ContentProvider存储数据; 5. 网络存储数据;SharedPreferencesSharedPreferencesSharedPreferences是Android平台上一个轻量级的存储类。类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android最 终是以xml方式来保存,整体效率来看不是特别的高。信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下。 SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 通过名称,得到一个SharedPreferences,顾名思义,这个Preferences是共享的,共享的范围据现在同一个Package中,这里 面说所的Package和Java里面的那个Package不同,这里面的Package是指在AndroidManifest.xml文件中的。文件存储数据文件存储数据文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。FilterInputStream, FilterOutputStream等可以到Java 说明中去查询。SQLite数据库存储数据SQLite数据库存储数据SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,而且被其他的公司广泛使用。 SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。 null此外,SQLite 不支持一些 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。 nullAndroid 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法: 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。 null使用游标 不管你如何执行查询,都会返回一个 Cursor,这是 Android 的 SQLite 数据库游标,使用游标,你可以: 通过使用 getCount() 方法得到结果集中有多少 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 ; 通过 moveToFirst(), moveToNext(), 和 isAfterLast() 方法遍历所有记录; 通过 getColumnNames() 得到字段名; 通过 getColumnIndex() 转换成字段号; 通过 getString(),getInt() 等方法得到给定字段当前记录的值; 通过 requery() 方法重新执行查询得到游标; 通过 close() 方法释放游标资源; ContentProvider存储数据ContentProvider存储数据ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider   1、ContentProvider使用表的形式来组织数据    无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格null2、ContentProvider提供的方法    query:查询    insert:插入    update:更新    delete:删除    getType:得到数据类型    onCreate:创建数据时调用的回调函数 3、每个ContentProvider都有一个公共的URI,这个URI用于表示这个ContentProvider所提供的数据。Android所提供的ContentProvider都存放在android.provider包当中nullURL分为A,B,C,D 4个部分 A:标准前缀,用来说明一个Content Provider控制这些数据,无法改变的;"content://" B:URI的标识,它定义了是哪个Content Provider提供这些数据。对于第三方应用程序,为了保证URI标识的唯一性,它必须是一个完整的、小写的 类名。这个标识在 元素的 authorities属性中说明:一般是定义该ContentProvider的包.类的名称 ;"content://hx.android.text.myprovider"nullC:路径,不知道是不是路径,通俗的讲就是你要操作的数据库中表的名字,或者你也可以自己定义,记得在使用的时候保持一致就ok了;"content://hx.android.text.myprovider/tablename" D:如果URI中包含表示需要获取的记录的ID;则就返回该id对应的数据,如果没有ID,就表示返回全部; "content://hx.android.text.myprovider/tablename/#" #表示数据idContentResolver ContentResolver ContentResolver是通过URI来查询ContentProvider中提供的数据。除了URI以外,还必须知道需要获取的数据段的名称,以及此数据段的数据类型。如果你需要获取一个特定的记录,你就必须知道当前记录的ID,也就是URI中D部分。调用getContentResolver ()方法可以得到此对象。 前面也提到了Content providers是以类似数据库中表的方式将数据暴露出去,那么ContentResolver也将采用类似数据库的操作来从Content providers中获取数据。现在简要介绍ContentResolver的主要接口,如下:nullnull
本文档为【android数据通信和存储】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_503952
暂无简介~
格式:ppt
大小:258KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-12-24
浏览量:14