`

android > 将assets 文件中的数据库导入 包里databases文件夹

 
阅读更多

 

    public void checkData(){
        //app 的 数据库路径
        String dataPath = getApplicationContext().getDatabasePath("..").getAbsolutePath();
        dataPath = dataPath.replace("..","");//out:/data/data/com.test1/databases/
        // 数据库 文件 路径
        String dataFilePath = dataPath+"/zi_ci.db";
        // 数据库 文件
        File dataFile=new File(dataFilePath);


        //判断数据库文件是否存在
        if(dataFile.exists()){
            Log.d("mft","数据库文件已经存在");

        }else{
            Log.d("mft", "不存在数据库将准备创建");

            File path=new File(dataPath);
            if (path.mkdir()){
                Log.i("mft", "创建数据库文件夹成功");
            }else{
                Log.i("mft", "创建数据库文件夹失败");
            };
            try {
                //得到 assets 资源
                AssetManager assets_am= MainActivity.this.getAssets();
                //得到 assets 数据库文件的输入流
                InputStream is=assets_am.open("keyb_sqlite.db");
                //在包里的数据库文件夹里创建 数据库 空文件
                FileOutputStream fos=new FileOutputStream(dataFile);
                Log.i("mft", "fos="+fos);
                //创建byte数组  用于1KB写一次 写入 包里 刚才创建的 数据库 空文件
                byte[] buffer=new byte[1024];
                int count = 0;
                while((count = is.read(buffer))>0){
                    fos.write(buffer,0,count);
                }
                //最后关闭就可以了
                fos.flush();
                fos.close();
                is.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //\\
    }

 

 

分享到:
评论

相关推荐

    Android 将assets中的数据库导入到项目中databases

    通常,我们会将这个数据库文件放在`assets`目录下,然后在应用程序运行时将其复制到`databases`目录中。这篇博客文章(https://blog.csdn.net/qq_31939617/article/details/80929543)详细介绍了如何实现这一过程。...

    android的assets下的sql文件操作

    在Android开发中,有时我们需要在应用运行时使用预置的数据库或者允许用户导入自定义的数据库文件。`assets`目录就是一个常用来存放此类资源的地方。本文将深入探讨如何在Android中利用`assets`目录下的SQL文件进行...

    Android 加载assets文件夹的文本文件 图片

    本篇文章将详细探讨如何在Android应用中加载`assets`文件夹内的文本文件和图片。 1. **加载assets中的文本文件** - **创建assets文件夹**:首先,在项目的`src/main`目录下创建一个名为`assets`的文件夹(如果不...

    Android访问assets本地json文件的方法

    在main文件夹下新建assets文件,然后再assets文件中新建namelist.json文件夹,将json数据复制到test.json文件中。 2、访问json文件 try { AssetManager assetManager = getAssets(); // 获得assets资源管理器...

    android 将assets 下的文件复制到手机内存中

    在Android开发中,有时我们需要将应用内部的资源文件,如配置文件、数据库文件或静态数据等,复制到手机的外部存储(内存或SD卡)以便于应用运行时使用。这个过程通常涉及到Android的文件系统操作和权限管理。下面将...

    Android Assets文件和Raw文件读取

    在Android应用开发中,Assets和Raw文件夹是两个重要的资源存储区域,用于存放非编译的、原始的数据文件。这两个目录都有各自的用途和特点,开发者可以根据需求选择合适的存储位置。 **Android Assets文件** Assets...

    android 读取 assets 文件夹下的音频

    在Android开发中,有时我们需要在应用内部存储一些资源文件,如音频、文本或图片,而`assets`文件夹就是用于存放这些非编译型资源的一个特殊目录。在本例中,我们将探讨如何从`assets`文件夹中读取音频文件,并提供...

    android gradle导出jar包,并包含assets资源文件夹

    本demo是结合博客的资源,如有不懂请去看博客 http://blog.csdn.net/u013895206 ,文章是:android 使用gradle导出jar包,并包含assets资源文件夹。谢谢!

    Android操作存放在assets文件夹下SQLite数据库的方法

    为了操作`assets`中的SQLite数据库,我们需要在首次使用时将其复制到应用程序的私有数据库路径,即`/data/data/<包名>/databases/`。这是因为SQLite数据库文件需要在特定的系统路径下才能被Android系统识别和访问。...

    Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar

    这个压缩包文件"Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar"包含了几个关键的Android文件操作知识点。下面我们将详细探讨这些内容。 首先,让我们从...

    android中复制资源文件中的数据库文件到sd卡或内存源码

    如果是内部存储,通常会将数据库文件放在`data/data/your.package.name/databases/`目录下。 ```java String targetPath; if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { ...

    Java和JNI读取android apk里assets文件夹示例demo

    Java和JNI读取android apk里assets文件夹示例demo,参见博客详解: http://blog.csdn.net/yanzi1225627/article/details/20577059

    android从assets和res中读取文件.pdf

    Android从assets和res中读取文件 Android中的资源文件夹主要有两个:res和assets。res文件夹用于存放编译后的资源文件,而assets文件夹用于存放原始文件。下面我们将详细介绍这两个文件夹的作用和如何从中读取文件...

    Android读取Assert资源目录下数据库,数据库操作

    创建一个新的数据库文件,然后使用输入输出流将`assets`中的数据库文件内容复制过去: ```java String dbName = "MyDb"; File dbFile = new File(context.getDatabasePath(dbName).getPath()); if (!dbFile....

    android导入外部的数据库sqlite

    android应用,将外部的sqlite数据库导入到应用的私有空间中,源db文件置于assets目录下,如果源文件大小超过1M,使用Filesplit分割为不超过1M的小文件,那么就将所有分小文件置于assets目录下,本工程里已带...

    Unity打包发布后正确读取StreamingAssets文件夹下的Html文件DEMO

    在Android上,Unity会将StreamingAssets文件夹的内容复制到APK的assets目录下,而在iOS上则会被包含在.app包内。因此,在打包后,我们需要根据目标平台来调整读取文件的策略。 为了在Unity中正确读取Streaming...

    Android导入已有的SQLite数据库

    在应用启动时,我们需要将`assets`目录下的SQLite文件复制到应用的`/data/data/包名/databases/`路径下。这通常在`MyDatabaseHelper`的构造函数中完成: ```java public MyDatabaseHelper(Context context) { ...

    Android将assets中的zip压缩文件解压到SD卡

    在Android开发中,有时我们需要将应用内部的资源文件,如ZIP压缩文件,解压到外部存储(即SD卡)上,以便用户可以访问或使用这些数据。本文将详细讲解如何实现这一功能,主要涉及Android权限管理、文件操作以及ZIP...

    Android 从assets中获取ini文件内容

    本篇文章将详细介绍如何在Android应用程序中从assets目录下获取ini文件的内容,并实现对指定内容的读取。 首先,让我们了解一下Android项目的assets目录。这是一个特殊的位置,允许开发者放置任何静态资源文件,...

    获取assets文件夹下资源

    在Android应用开发中,`assets`文件夹是一个特殊的地方,用于存放非结构化的数据文件,如文本、音频、视频或任何其他类型的数据。这个文件夹不在应用的资源ID系统中,因此不能通过R类直接访问,但我们可以使用`...

Global site tag (gtag.js) - Google Analytics