当前位置:  编程技术>移动开发
本页文章导读:
    ▪sd卡 数据读取,展示在手机上        sd卡 数据读取,显示在手机上               /**               * 判断sd卡是否存在 Environment.getExternalStorageState() 得到sd卡当前的状态              如果返回 MEDIA_MOUNTED表示外部.........
    ▪ AsyncQueryHandler的了解        AsyncQueryHandler的理解 每天进步一点点之AsyncQueryHandler学习 AsyncQueryHandler:异步的查询操作帮助类,其实它同样可以处理增删改 1。AsyncQueryHandler的作用 查询其API便可知,它担供: startInsert start.........
    ▪ 从本机debug.store提取md5值下令       从本机debug.store提取md5值命令 keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android ......

[1]sd卡 数据读取,展示在手机上
    来源: 互联网  发布时间: 2014-02-18
sd卡 数据读取,显示在手机上

 

  •             /** 
  •              * 判断sd卡是否存在 Environment.getExternalStorageState() 得到sd卡当前的状态 
  •             如果返回 MEDIA_MOUNTED表示外部存储设备存在。并且有读写的权限(因为sd卡有写保护 如果写保护关闭也是没有权限读写的) 
  •              */
  •  

    Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

    //文件的路径和名字:

    File file = new File(Environment.getExternalStorageDirectory(),fileNameString);

     

    //建立一个基于这个文件的文件流。

    FileInputStream fileInputStream = new FileInputStream(file);

     

    //读取这个文件:

     String contentString = readDate(fileInputStream);

     

     public static  String readDate (InputStream inputStream ) throws Exception

        {

            byte [] byte1 = new byte[1024];

            /**

             * 当输入流读到文件的末尾 返回就是-1 

             */

            int length = inputStream.read(byte1);

            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

            if(length!=-1)

            {

                //读到的内容存在内存中ByteArrayOutputStream 这个类用于将byte流存储在内存中

     

                byteArrayOutputStream.write(byte1, 0, length);

            }

            String dateString =   byteArrayOutputStream.toString();

            byteArrayOutputStream.close();

            inputStream.close();

            return dateString;

        }

     

    参考网址:http://leequer.iteye.com/blog/653022


        
    [2] AsyncQueryHandler的了解
        来源: 互联网  发布时间: 2014-02-18
    AsyncQueryHandler的理解

    每天进步一点点之AsyncQueryHandler学习

    AsyncQueryHandler:异步的查询操作帮助类,其实它同样可以处理增删改

    1。AsyncQueryHandler的作用

    查询其API便可知,它担供:

    startInsert

    startDelete

    startUpdate

    startQuery

    这四个操作,并提供相对应的onXXXComplete方法,以供操作完数据库后进行其它的操作,这四个 onXXXComplete方法都是空实现,以便我们只需要去实现我们关注的操作。

     

    2。为什么要使用AsyncQueryHandler

    当然你也可以使用ContentProvider去操作数据库。

    这在数据量很小的时候是没有问题的,但是如果数据量大了,可能导致UI线程发生ANR事件。

    当然你也可以写个Handler去做这些操作,只是你每次使用ContentProvider时都要再写个Handler,必然降低了效率。

    因此API提供了一个操作数据库的通用方法。

     

    3。如何使用AsyncQueryHandler

    你只需要继承AsyncQueryHandler类,并提供onXXXComplete方法的实现(可以实现任何一个或多个,当然你也可以一个也不实现,如果你不关注操作数据库的結果),在你的实现中做一些对数据库操作完成的处理。

    使用时直接调用startXXX方法即可。传入的通用参数如下:

    int token,一个令牌,需要跟onXXXComplete方法传入的一致。(当然你也可以不一致,同样在数据库的操作结束后会调用对应的onXXXComplete方法 )

    Object cookie,你想传给onXXXComplete方法使用的一个对象。(没有的话传递null即可。基本发现这个变量没太大作用)

    Uri uri,(不解释)

     

    4。AsyncQueryHandler还为我们做了什么

    AsyncQueryHandler中使用了一个WeakReference<ContentResolver>对象,即ContentResolver的弱引用  作用:当contentProvied发生变化时候同步更新仍可以通过使用AsyncQueryHandler类来达到这一要求(暂时还没理解这个作用)

    同时,在它执行操作数据库时,吃掉了所有的异常。见如下代码。

     catch (Exception e) {
                            Log.w(TAG, e.toString());
                            cursor = null;
                        }

    1 楼 dingran 2012-03-04  
    我就是用Handler操作的时候出错了,同步错误,如:
    java.lang.IllegalStateException: attempt to re-open an already-closed object: android.database.sqlite.SQLiteQuery (mSql = SELECT * FROM Data_Channels WHERE (ServiceType = ? )

    所以才查找到还有这么个handler,LZ先知啊,谢谢了,我继续探索。

        
    [3] 从本机debug.store提取md5值下令
        来源: 互联网  发布时间: 2014-02-18
    从本机debug.store提取md5值命令
    keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3