`
king_tt
  • 浏览: 2234598 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【Android 开发教程】预创建数据库

 
阅读更多

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


在开发过程中,有时候,预先创建好数据库比在程序运行时创建数据库更加地高效。举个例子,你想编写一个程序,这个程序把你去过的地方的坐标都显示出来。这种情况下,预先创建数据库是更加容易的,比在运行时创建数据库。

这里,需要使用一些免费的工具。推荐使用SQLite Database Browser,支持多平台,并且免费。下载地址: http://sourceforge.net/projects/sqlitebrowser/

下面是创建一个联系人表的例子。

在设计阶段把数据库建好,下一步,就是把数据库和程序捆绑在一起,这样,在运行时,就能使用数据库了。

1. 把数据库放在assets文件夹下面。

2. 把assets文件夹下面的数据库,复制到程序的安装路径下。

public class DatabasesActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        DBAdapter db = new DBAdapter(this);
        
        try {
            String destPath = "/data/data/" + getPackageName() +
                "/databases";
            File f = new File(destPath);
            if (!f.exists()) {             
             f.mkdirs();
                f.createNewFile();
             
             //---copy the db from the assets folder into 
             // the databases folder---
                CopyDB(getBaseContext().getAssets().open("mydb"),
                    new FileOutputStream(destPath + "/MyDB"));
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
       
        //---get all contacts---
        db.open();
        Cursor c = db.getAllContacts();
        if (c.moveToFirst())
        {
            do {
                DisplayContact(c);
            } while (c.moveToNext());
        }
        db.close();
    }
    
    public void CopyDB(InputStream inputStream, 
    OutputStream outputStream) throws IOException {
        //---copy 1K bytes at a time---
        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, length);
        }
        inputStream.close();
        outputStream.close();
    }

    public void DisplayContact(Cursor c)
    {
        Toast.makeText(this,
                "id: " + c.getString(0) + "\n" +
                "Name: " + c.getString(1) + "\n" +
                "Email:  " + c.getString(2),
                Toast.LENGTH_LONG).show();
    }
}


3. 调试,用DDMS查看,数据库被复制到了指定的位置。

分享到:
评论

相关推荐

    Android 开发教程之数据库连通性--千锋培训

    在Android开发中,数据库连接和操作是至关重要的部分,尤其是对于需要持久化数据的应用。本文档专注于Android开发中的数据库连通性,特别是使用SQLite数据库。SQLite是Android平台上的默认数据库,它是一个轻量级的...

    Android开发教程笔记完全版 pdf

    这份"Android开发教程笔记完全版"涵盖了Android开发的基础到高级主题,旨在帮助开发者全面理解并掌握Android应用的构建过程。 一、Android系统概述 Android是由Google主导的开源操作系统,基于Linux内核。它的开放...

    Android开发教程基础版 Android中文开发教程

    《Android开发教程基础版》是一本专为初学者设计的Android应用开发指南,旨在帮助读者快速掌握Android开发的基础知识和技能。本教程以其清晰易懂的特性,为想要踏入Android开发领域的学习者提供了全面的指导。 一、...

    最详细的Android开发教程实例

    本教程"最详细的Android开发教程实例"旨在提供一个全面的学习路径,帮助新手和有经验的开发者深入理解Android开发的核心概念和技术。 【Android开发入门】: Android开发入门是学习Android编程的第一步。"101- ...

    Android开发直连SQL数据库

    在Android开发中,直连SQL数据库是一种常见的需求,特别是在快速原型开发或小规模项目中,可以简化架构,提高效率。本教程将详细讲解如何在Android应用中直接连接到SQL数据库,特别是利用jtds库来实现这一功能。 ...

    Android 安卓 开发教程 PDF 电子书

    总之,《Android 安卓 开发教程》虽然年代稍久,但其内容仍然适用于当前的Android开发学习。通过这本书,读者可以全面了解Android开发的基本概念和实践,为进一步深入学习和项目开发打下坚实基础。

    Android开发教程1

    "新版Android开发教程+笔记十二--文件存取、数据库编程.pdf"涵盖了Android中的数据存储,包括内部存储、外部存储、SQLite数据库的使用,以及ContentProvider的基本概念,这些都是Android应用中数据管理的重要部分。...

    Android 新手开发教程 开发技巧合集 开发教程详细版 开发入门经典

    其次,"Android开发教程详细版.pdf"将深入探讨更复杂的主题,如多线程处理、网络编程、SQLite数据库操作、ContentProvider的使用,以及各种传感器和硬件接口的访问。此外,还可能涉及UI设计,如自定义View,以及动画...

    经典Android开发教程奉献

    在Android开发领域,掌握核心概念和技术是至关重要的。这篇教程集合了全面的Android开发知识,旨在帮助初学者和有经验的开发者...这个“经典Android开发教程”将引导你逐步掌握这些技能,祝你在开发旅程中取得成功。

    新版Android开发教程完整版

    【新版Android开发教程+笔记十二--文件存取、数据库编程.pdf】将讲解数据存储,包括内部存储、外部存储以及SQLite数据库的使用。理解如何持久化数据对任何Android应用都是关键,因为这涉及到应用的数据备份、恢复和...

    android开发教程CHM

    《Android开发教程CHM》是一本专为Android开发者设计的详尽指南,旨在帮助初学者和有经验的开发者深入理解Android平台的各个方面。这个CHM(Microsoft Compiled HTML Help)文件包含了大量的信息,使得学习和查阅...

    新版Android开发教程及笔记-完整版

    新版Android开发教程及笔记将涵盖Android系统的基本架构、应用程序生命周期管理以及UI设计等核心概念。 1. **Android系统架构**:Android系统分为应用层、应用框架层、系统运行库层和Linux内核层。开发者主要在应用...

    APP开发教程 Java Android移动端开发 11、SQLite嵌入式数据库 共66页.pptx

    在Android开发中,SQLite是存储本地数据的重要手段,SQLiteOpenHelper类帮助开发者轻松地创建、升级和管理数据库,而SQLiteDatabase则提供了一系列的方法来执行SQL语句,实现数据的增删改查。 总结来说,SQLite是...

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    Android开发教程笔记完全版(第11-13篇)[完结]

    在本压缩包中,我们找到了一份详尽的Android开发教程笔记,涵盖了从第11篇到第13篇的内容。这些笔记是作者无私分享的精华,旨在帮助开发者深入理解和掌握Android开发的关键技能。以下是每篇笔记的主要知识点: 1. *...

    新版Android入门开发教程 完整pdf开发笔记

    【Android开发教程】是IT领域中的一个重要分支,尤其对于初学者而言,这是一份非常宝贵的资源。这份"新版Android入门开发教程 完整pdf开发笔记"涵盖了从零开始学习Android应用开发所需的基础知识和实践技能。 ...

    Android开发教程笔记完全版

    在《新版Android开发教程+笔记十二--文件存取、数据库编程.pdf》中,讲解了SQLite数据库的使用,包括创建数据库,定义表,插入、查询、更新和删除数据的基本操作。同时,也介绍了ContentProvider,它是Android系统中...

    Android开发教程,android开发教程pdf,Java

    Android开发教程是面向那些想要构建和开发Android应用的程序员们的重要资源。这门教程涵盖了从基础知识到高级技术的全面内容,旨在帮助学习者熟练掌握Java编程语言,并运用这些技能在Android平台上创建功能丰富的...

    新版Android开发教程与学习笔记

    数据库编程在Android应用中至关重要,"新版Android开发教程+笔记十二--文件存取、数据库编程.pdf"详细阐述了SQLite数据库的使用,包括创建数据库、表,执行SQL语句,以及数据的存取操作。 "新版Android开发教程+...

Global site tag (gtag.js) - Google Analytics