`
lautherf
  • 浏览: 15223 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

android 2.2 apidemos 赏析笔记 6

 
阅读更多
ReadAsset.JAVA
SEE:
  try {
            InputStream is = getAssets().open("read_asset.txt");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            String text = new String(buffer);
        } catch (IOException e) {
            // Should never happen!
            throw new RuntimeException(e);
        }
SO:
仿照着写吧

ResourcesSample.java

SEE:
    <string name="styled_text">Plain, <b>bold</b>, <i>italic</i>, <b><i>bold-italic</i></b></string>
1.
        CharSequence cs;
        tv.setText(cs);
2.
        String str;
        tv.setText(str);
3.
        Resources res = context.getResources();
        cs = res.getText(R.string.styled_text);
SO:
1.
设置TextView带格式
2.
string设置 不带格式
3.
在某些地方可以这么获得字符串

StyledText.java

写在layout里的也可以显示格式


ExternalStorage.java


SEE:
1.
    ViewGroup mLayout;
        mLayout = (ViewGroup)findViewById(R.id.layout);
2.
        LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
        Item item = new Item();
        item.mRoot = inflater.inflate(R.layout.external_storage_item, null);
        TextView tv = (TextView)item.mRoot.findViewById(R.id.label);
        tv.setText(label);
        if (path != null) {
            tv = (TextView)item.mRoot.findViewById(R.id.path);
            tv.setText(path.toString());
        }
        item.mCreate = (Button)item.mRoot.findViewById(R.id.create);
        item.mCreate.setOnClickListener(createClick);
        item.mDelete = (Button)item.mRoot.findViewById(R.id.delete);
        item.mDelete.setOnClickListener(deleteClick);
        return item;
3.
        mLayout.addView(mExternalStoragePublicPicture.mRoot);
SO:
1.各种layout通用的ViewGroup,如果只是往里面加东西的话
2.创建布局的过程。View.findViewById()
3.添加view


SEE:
1.
    void startWatchingExternalStorage() {
        mExternalStorageReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                Log.i("test", "Storage: " + intent.getData());
                updateExternalStorageState();
            }
        };
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
        filter.addAction(Intent.ACTION_MEDIA_REMOVED);
        registerReceiver(mExternalStorageReceiver, filter);
        updateExternalStorageState();
    }
2.
    void stopWatchingExternalStorage() {
        unregisterReceiver(mExternalStorageReceiver);
    }


SO:
1.broadcastReceiver注册
2.取消注册
3.

SEE:
1.
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            mExternalStorageAvailable = mExternalStorageWriteable = true;
        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
            mExternalStorageAvailable = true;
            mExternalStorageWriteable = false;
        } else {
            mExternalStorageAvailable = mExternalStorageWriteable = false;
        }
        handleExternalStorageState(mExternalStorageAvailable,
                mExternalStorageWriteable);
2.
    void handleExternalStorageState(boolean available, boolean writeable) {
        boolean has = hasExternalStoragePublicPicture();
        mExternalStoragePublicPicture.mCreate.setEnabled(writeable && !has);
        mExternalStoragePublicPicture.mDelete.setEnabled(writeable && has);
        has = hasExternalStoragePrivatePicture();
        mExternalStoragePrivatePicture.mCreate.setEnabled(writeable && !has);
        mExternalStoragePrivatePicture.mDelete.setEnabled(writeable && has);
        has = hasExternalStoragePrivateFile();
        mExternalStoragePrivateFile.mCreate.setEnabled(writeable && !has);
        mExternalStoragePrivateFile.mDelete.setEnabled(writeable && has);
    }


SO:
1.存取状态获取
2.更新组件状态。

SEE:
1.
    boolean hasExternalStoragePublicPicture() {
        // Create a path where we will place our picture in the user's
        // public pictures directory and check if the file exists.  If
        // external storage is not currently mounted this will think the
        // picture doesn't exist.
        File path = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_PICTURES);
        File file = new File(path, "DemoPicture.jpg");
        return file.exists();
    }
2.
    boolean hasExternalStoragePrivatePicture() {
        // Create a path where we will place our picture in the user's
        // public pictures directory and check if the file exists.  If
        // external storage is not currently mounted this will think the
        // picture doesn't exist.
        File path = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
        if (path != null) {
            File file = new File(path, "DemoPicture.jpg");
            return file.exists();
        }
        return false;
    }
3.
     boolean hasExternalStoragePrivateFile() {
         // Get path for the file on external storage.  If external
         // storage is not currently mounted this will fail.
         File file = new File(getExternalFilesDir(null), "DemoFile.jpg");
         if (file != null) {
             return file.exists();
         }
         return false;
     }

SO:
1.公共的图片文件夹  Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES)  sdcard/picture
2.程序私有的文件夹目录下的图片文件夹  getExternalFilesDir(Environment.DIRECTORY_PICTURES) sdcard/android/data/pacagename/file/picture 
3.程序私有的文件夹  getExternalFilesDir(null)   sdcard/android/data/pacagename/file
4.都靠 file.exists()。。。

SEE:
1.
        File path = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_PICTURES);
        File file = new File(path, "DemoPicture.jpg");
            path.mkdirs();
2.
            InputStream is = getResources().openRawResource(R.drawable.balloons);
            OutputStream os = new FileOutputStream(file);
            byte[] data = new byte[is.available()];
            is.read(data);
            os.write(data);
            is.close();
            os.close();
3.
            // Tell the media scanner about the new file so that it is
            // immediately available to the user.
            MediaScannerConnection.scanFile(this,
                    new String[] { file.toString() }, null,
                    new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                    Log.i("ExternalStorage", "Scanned " + path + ":");
                    Log.i("ExternalStorage", "-> uri=" + uri);
                }
            });
4.
        File path = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_PICTURES);
        File file = new File(path, "DemoPicture.jpg");
        file.delete();
5.
         File file = new File(getExternalFilesDir(null), "DemoFile.jpg");
         if (file != null) {
             file.delete();
         }
SO:
1.
获得路径,并创建。
2.
图片资源读取
文件的读写。
3.
通知多媒体扫描收集器。
4.
文件删除工作。
5.
文件夹删除。


=====================================content END




















分享到:
评论

相关推荐

    Android2.2 ApiDemos

    《Android 2.2 ApiDemos深度解析》 在Android开发领域,ApiDemos是一个非常重要的参考资料,它是由Google官方提供的一个示例程序,包含了Android SDK中的各种API功能的演示。这个项目,针对的是Android 2.2(API...

    Android6.0 Api Demos

    **Android 6.0 API Demos详解** Android 6.0 API Demos 是一个官方提供的示例代码集合,它展示了Android 6.0 (Marshmallow) SDK中的各种API功能和用法。这些示例旨在帮助开发者更好地理解和学习如何在实际应用中...

    android的ApiDemos

    API Demos 是 Google 为了 Android 开发者所提供的一个 Android API 合集,其中包含了很多的 API 范例,同时遵循了良好的代码规范,是一个值得开发者研究和学习的典型。android的ApiDemos,需要解压缩后使用。

    最新Android apidemos

    《深入探索Android API Demos:最新实践与技术解析》 Android API Demos是Google官方提供的一款用于展示Android SDK中各种API功能和用法的应用程序,它涵盖了从基础控件到高级特性的全方位示例,是开发者学习...

    android1.6 apiDemos

    《Android 1.6 API Demos深度解析》 在Android开发的世界中,API Demos是一个不可或缺的学习资源,它为开发者提供了丰富的示例代码,帮助理解并掌握Android API的各种功能。本篇文章将深入探讨"android1.6 apiDemos...

    Android ApiDemos apk

    《Android ApiDemos apk:深入理解Android应用开发的实践指南》 Android ApiDemos apk是Android开发者们熟悉的一个示例程序,它包含了Android SDK中的各种API功能演示,为开发者提供了丰富的学习资源。这个应用程序...

    Android6.0 ApiDemos.apk

    从官方预览包里提取的Android6.0 ApiDemos.apk,方便安装在真机上查看实例的实际效果。

    Android 5.1 ApiDemos.apk

    Android 5.1的ApiDemos安装包

    android4.3 Apidemos

    《Android 4.3 ApiDemos深度解析》 在Android操作系统的发展历程中,每个版本的更新都会带来新的特性和API,以提升用户体验和开发者的工作效率。Android 4.3(API级别18)是Android系统的一个重要里程碑,它引入了...

    Android4.1ApiDemos最新

    《深入解析Android 4.1 ApiDemos》 在Android开发领域,ApiDemos是一个非常重要的参考资料,它是由Google官方提供的示例代码集合,用于演示Android SDK中的各种API功能。对于开发者来说,尤其是对Android 4.1...

    Android ApiDemos4.4 示例解析

    最新版ApiDemos Android SDK 中带有很多例子,其中ApiDemo 详细介绍了Android 平台主要API,分成了 · App · Content · Graphics · Media · OS · Text · Views 几个大类,每个大类又分为几个小类,...

    android 3.0 ApiDemos

    《Android 3.0 ApiDemos详解》 在Android开发领域,`ApiDemos`是一个非常重要的学习资源,它是Google官方提供的一款示例程序,包含了Android SDK中的各种API功能演示。这个项目主要用于帮助开发者理解并熟悉Android...

    android_ApiDemos

    《Android ApiDemos详解——深度探索Android开发应用实例》 Android ApiDemos是Android开发者学习和理解Android API的重要资源,它包含了丰富的示例代码,涵盖了Android SDK中的各种API功能。这个程序是专为Android...

    Android ApiDemos

    **Android ApiDemos详解** `Android ApiDemos` 是Android系统提供的一款官方示例程序,它集合了Android SDK中的各种API用法,是开发者学习和理解Android开发的关键资源。这个项目旨在通过实例代码来演示Android API...

    Android官网ApiDemos源码

    Android官网ApiDemos源码 供大家学习参考之用

    android ApiDemos

    《Android API Demos详解》 Android API Demos是一款由谷歌官方提供的开源项目,它包含了大量Android SDK中的API示例代码,旨在帮助开发者更好地理解和学习如何在实际应用中使用Android的各种功能和API。该项目覆盖...

    Android ApiDemos不报错版本,eclipse可用

    **Android ApiDemos详解** ApiDemos是Android官方提供的一款示例应用,它包含了Android SDK中的各种API功能演示,帮助开发者了解和学习Android系统提供的各种API接口和功能。这个"Android ApiDemos不报错版本"是...

    android api19 ApiDemos

    《Android API 19 ApiDemos详解》 在Android开发领域,API Demos是一个非常重要的学习资源,它包含了Android SDK中的各种API示例代码,帮助开发者深入理解和掌握Android平台的功能特性。本文将针对API Level 19...

    android ApiDemos不报错版本

    《Android ApiDemos不报错版本:探索与学习》 Android ApiDemos是Android平台上的一个官方示例项目,它为开发者提供了丰富的API演示,涵盖了Android系统中的各种控件和功能,是学习和理解Android开发的宝贵资源。这...

Global site tag (gtag.js) - Google Analytics