09-12 15:24:33.903: W/System.err(19499): java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor android.database.sqlite.SQLiteDatabase.rawQuery(java.lang.String, java.lang.String[])' on a null object reference09-12…
通过Context的openFileInput或者openFileOutput打开的文件输入输出流是操作应用程序的数据文件夹里的文件,这样存储的大小比较有限,为了更好的存取应用程序的大文件数据,应用程序需要读写SD卡. 读写SD卡上的文件步骤: 1.调用Environment的getExternalStorageState()可以判断手机上是否插入了SD卡 // 判断手机上是否插入了SD卡 Environment.getExternalStorageState().equals(Environm…
1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法. /**   * 判断文件是否已经存在;   *  /  public boolean checkFileExists(String filepath) {         File file=new File(SDPATH+filepath);  …
1.先看activity_main.xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android1="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="f…
效果图: 1.开始——运行——输入cmd ,输入adb shell,错误:一是“adb不是内部命令或外部命令,也不是可运行的程序或批处理文件”,二是“error:device not found”.   第一个错误,是没找到adb,在环境变量中加入adb.exe 具体位置: F:\adt-bundle-windows-x86-20131030\sdk\platform-tools 将这个位置加到你的path下面.    对于第二种错误,是因为没有打开Android虚拟机.因为adb shell命…
1 准备工作 (1)将adb.exe从  \Sdk\platform-tools目录下移动到 \Sdk\tools目录下(主要是看emulator这几个文件在哪个文件夹就把adb.exe移动到哪个文件夹): (2)将sqlite3.exe从  \Sdk\platform-tools目录下移动到 \Sdk\tools目录下(同上) 2 打开CMD界面,cd到 \Sdk\tools目录下,运行指令 adb shell进入adb界面内 3 定位到数据库所在的位置,chmod 777 file 修改文件…
android的SDK直接支持sqlite3的API.   打开SD卡上面的sqlite数据库,不需要SQLiteOpenHelper的继承类.只需要,SQLiteDatabase中的一些静态方法.如: openDatabase(String, CursorFactory, int) openOrCreateDatabase(File, CursorFactory) openOrCreateDatabase(String, CursorFactory)   其实openOrCreateDatab…
(1)说明:操作SD卡上的文件须要增加下面权限  在SD卡上创建和删除文件权限  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 在SD卡上写入数据的权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 在sd卡上的文件操作和我上一…
读写SD卡上的文件 通过Context的openFileInput.openFileOutput来打开文件输入流.输出流时,程序打开的都是应用程序的数据文件夹里的文件,其存储的文件大小可能都比较有限--手机内存所限. SD卡可以更好的存.取应用程序的大小文件数据.SD卡可以大大扩充手机的存储能力. 读.写SD卡上的文件的操作步骤如下: 1.调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡, 并且应用程序具有读写SD卡的权限.例如使用如下…
假设使用默认的系统管理,默认放在包以下.比較省心.并且在卸载app后不会造成数据残留.可是这样也有一个问题.比方我做一个背单词的软件,那么当用户卸载掉这个app时,他辛辛苦苦下载的单词库也没了... 所以我想到的解决方式.就是把数据库路径改下.不放到包以下,放到SD卡上. 细致看看.还真不easy做,网上有人甚至去更改源代码.只是最后还是找到了解决方式: 查看SQLiteOpenHelper源代码.会发现有这样一段代码: if (mName == null) { db = SQLiteDatab…