access数据库的优点,activity之间传递方法的优缺点

伏羲号

access数据库的优点,activity之间传递方法的优缺点?

基于消息的通信机制 Intent ---boudle ,extra

access数据库的优点,activity之间传递方法的优缺点

数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。

2. 利用static静态数据,public static成员变量;

3.基于外部存储的传输, File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider

4.基于IPC的通信机制context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件。

5. 基于Application Context

这里面我觉得第五种方法更具普适性,在网上找了篇讲解得好的文章,原文如下:

在Android中使用Intent在两个Activity间传递数据时,只能是基本类型数据,或者是序列化对象。Intent是一种基于消息的进程内和进程间通信模型,当我们需要在我们应用程序内部,多个Activity间进行复杂数据对象共享交互时,使用Intent就显得很不方便。此时,我们就需要一种数据共享的机制来实现。当然,直接使用java语言中的静态变量是可以的,但在Android中有更为优雅的实现方式。

The more general problem you are encountering is how to save stateacross several Activities and all parts of your application. A staticvariable (for instance, a singleton) is a common Java way of achievingthis. I have found however, that a more elegant way in Android is toassociate your state with the Application context.

--如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。

As you know, each Activity is also a Context, which is informationabout its execution environment in the broadest sense. Your applicationalso has a context, and Android guarantees that it will exist as asingle instance across your application.

--每个Activity 都是Context,其包含了其运行时的一些状态,android保证了其是single instance的。

The way to do this is to create your own subclass of android.app.Application,and then specify that class in the application tag in your manifest.Now Android will automatically create an instance of that class andmake it available for your entire application. You can access it fromany context using the Context.getApplicationContext() method (Activityalso provides a method getApplication() which has the exact sameeffect):

--方法是创建一个属于你自己的android.app.Application的子类,然后在manifest中申明一下这个类,这是android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。

[js] view plaincopyprint?

[js] view plaincopyprint?

class MyApp extends Application {

private String myState;

public String getState(){

return myState;

}

public void setState(String s){

myState = s;

}

}

class Blah extends Activity {

@Override

public void onCreate(Bundle b){

...

MyApp appState =((MyApp)getApplicationContext());

String state = appState.getState();

...

}

}

对于Application的生命周期,今天测试了一下,Application类型在该APP被install的时候就已经实例化了,并且onCreate也已经被调用了。

如果需要创建类型里面可能需要用到的对象的话,就可以在构造函数里面实现,但是如果需要将该类型bind Service或者registerReceiver等操作时,需要将这些操作放到onCreate中,否则会抛出异常。其原因主要是这个对象还没有创建完成,此时你用这个对象来bindservice必然会出现意想不到的情况,所以在使用时还需要注意。

office数据库的优缺点?

1、ACCESS易学易用,它所有的数据库对象和相关操作都是可视的并且附有大量的向导,这对于数据库初学者或非专业用户来说很友好、非常好用;

2、作为OFFICE其中的一个组件,ACCESS与WORD、EXCEL等进行数据交互沟通很方便,较之其他数据库系统具有先天上的优势;

Server好还是学MySQL好?

本人推荐从mysql入手学习。

数据库的语法结构和使用其实很相似,就像编程,会了一个学习另一个很容易,因为他们大同小异,互相借鉴,原理想通。那么既然是想通的,为什么推荐用mysql呢?

1.mysql体积小,环境安装更方便。而SQLserver安装包比较大,安装麻烦。可以看到SQLserver2016的安装包2.28G,不光安装包大,安装起来的步骤也非常费劲,还容易出错,而mysql安装就简单多了。环境配置是必不可少的配置,总不能说我会用这个,但是环境我不会配置吧。

2.可能有人说SQLserver可以可视化管理,鼠标点点就行,mysql也可以,并且非常方便,你直接安装appserv,这个集合包也就100多M,里边包含了apache、mysql和phpmyadmin。什么环境就都有了,直接打开127.0.0.1/phpmyadmin就能用界面管理。对于新手也是非常友好的。

3.mysql是开源的,你可以根据自己需求更改mysql源代码,关键是免费。而SQLserver价格不菲(经网友补充,SQLserver express版本免费),当然,破解工具一抓一大把,但是哪个公司如果敢用盗版,是很容易吃官司的。

4.mysql跨平台,支持Linux和windows,并且mysql和很多网站和应用都配合的非常好,而SQLserver只支持windows(补充:网友反馈,经查证现在也支持linux了),而且有和asp.net这些配合才能发挥优势。

5.对于小型公司来说,SQLserver可能也是个不错的选择,但是目前我所了解的即使是小型公司,目前也是用mysql的多,现在网站用asp.net的太少了。大部分中小型公司都用了PHP,所谓LAMP就是指的Linux、Apache、Mysql、PHP,他们配合的很完美。

6.其实基本语法很相似,操作也很相似,会一个再学另一个非常容易。其实数据库难点和重点根本不在操作,而是设计数据库,设计数据的时候不需要动手写语句做表什么的,也就是对于刚入门的来说,用哪个库无关紧要,先把设计数据库的方法和理念搞明白最重要。

说了那么多,SQLserver一点优势都没有吗?当然不是,它最大的优势就是教程资料多,你能随手一翻找到很多SQLserver的系列教程和书籍,而mysql相比较而言就少的多。希望对你有帮助,有不对的地方还望大家指正,不全面的地方还望补充。

中文全文数据库的特点?

海量数据的高度整合,集题录、文摘、全文文献信息于一体,实现一站式文献信息检索(One-stop Access);

参照国内外通行的知识分类体系组织知识内容,数据库具有知识分类导航功能;

设有包括全文检索在内的众多检索入口,用户可以通过某个检索入口进行初级检索,也可以运用布尔算符等灵活组织检索提问式进行高级检索;

具有引文连接功能,除了可以构建成相关的知识网络外,还可用于个人、机构、论文、期刊等方面的计量与评价;

全文信息完全的数字化,通过免费下载的最先进的浏览器,可实现期刊论文原始版面结构与样式不失真的显示与打印;

数据库内的每篇论文都获得清晰的电子出版授权;

多样化的产品形式,及时的数据更新,可满足不同类型、不同行业、不同规模用户个性化的信息需求;

遍布全国和海外的数据库交换服务中心,配上常年的用户培训与高效的技术支持。

能不能说简单点比如跟excel比?

Access的用途体现在两个方面:

一、用来进行数据分析

access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是excel无法与之相比的。这一点体现在:会用access,提高了工作效率和工作能力。

二、用来开发软件

access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、.net、 C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。

另外,在开发一些小型网站WEB应用程序时,用来存储数据。例如ASP+Access。这些应用程序都利用ASP技术在InternetInformation Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft

SQL Server。

ACCESS的用途更多,体现在很多方面。

表格模板。只需键入需要跟踪的内容,Access 便会使用表格模板提供能够完成相关任务的应用程序。 Access 可处理字段、关系和规则的复杂计算,以便您能够集中精力处理项目。拥有一个全新的应用程序,其中包含能够立即启动并运行的自然 UI。

创建和运行旧数据库。尽情享用对您的现有桌面数据库 (ACCDB/MDB) 的支持。

Excel是电子表格,表格制作是它的强项。同时Excel直观、使用简单,容易上手,也具有一定的数据管理能力。但相对于数据库而言,其数据管理能力相对较弱。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,83人围观)

还没有评论,来说两句吧...