当前位置:  编程技术>移动开发
本页文章导读:
    ▪手机银屏VGA QVGA HVGA WVGA区别        手机屏幕VGA QVGA HVGA WVGA区别 手机屏幕VGA QVGA HVGA WVGA区别对于准备换新手机的朋友,可能会参考一些参数,比如手机屏幕的分辨率。今天就来看看手机屏幕VGA QVGA HVGA WVGA区别,一般手机液晶.........
    ▪ 资料操作        文件操作   package com.myclover.file.service;   import android.content.Context; import android.os.Environment; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;   public class File.........
    ▪ 替UIToolBar工具条添加各种各样的UIBbarButtonItem       为UIToolBar工具条添加各种各样的UIBbarButtonItem 根据SDK的文档,我们可以发现UIBbarButtonItem有如下几种初始化的方法: -initWithTitle -initWithImage -initWithBarButtonSystemItem -initWithCustomView 1:在UIToolBar上面.........

[1]手机银屏VGA QVGA HVGA WVGA区别
    来源: 互联网  发布时间: 2014-02-18
手机屏幕VGA QVGA HVGA WVGA区别
手机屏幕VGA QVGA HVGA WVGA区别
对于准备换新手机的朋友,可能会参考一些参数,比如手机屏幕的分辨率。今天就来看看手机屏幕VGA QVGA HVGA WVGA区别,一般手机液晶屏幕都是TFT材质,VGA WVGA QVGA HVGE XGA只是表示屏幕分辨率只,是个代号和材质没关系。



分辨率对照表:
代号 分辨率 代号 分辨率
QVGA 320*240像素 WQVGA 400*240像素
HVGA 320*480像素 VGA 640*480像素
WVGA 800*480像素 XGA 1024*480像素

QVGA 即Quarter VGA。顾名思义即VGA的四分之一尺寸
HVGA (Half-size VGA),即VGA(640*480)的一半
WVGA 即Wide VGA
WQVGA 全称:Wide Quarter Video Graphics Array
VGA 和XGA(Extended Graphics Array) 详情见百度百科
他们和屏幕大小也没关系,比如 诺基亚N95和诺基亚E71都是QVGA 320*240,N95是2.6英寸 N95 8GB为2.8英寸,而E71是2.36英寸

再看,苹果iphone是HVGA 320*480 3.5英寸 而G3(HTC hero)也是HVGA 320*480 屏幕为3.2英寸。

当然同样的分辨率 屏幕越小 显示越细腻!

pt, px, DPI: 关于长度单位的误解
February 24th 2006 Posted to CSS, Browsers, Typography
在印刷排版中,“point”是一个绝对的单位,它等于 1/72 英寸,可以用尺子丈量的,物理的英寸。但在 CSS 中 pt 的含义却非如此,例如我们指定一个字体是 9pt,我们会以为按照 CSS 规范,它等于:

9 * 1/72 = 1/8 inch

这是一个误解,因为我们的显示器被分割为了一个个的像素,单个像素只能有一种颜色 (为了简化,这里暂不讨论次像素反锯齿技术),要在屏幕上显示,必须先把以 pt 为单位的长度转换为以像素为单位的长度,这个转换的媒介,就是 DPI (事实上,这里的所谓的 DPI,是操作系统和浏览器中使用的术语,即为 PPI, pixels per inch,和扫描仪、打印机、数码相机中的 DPI 是不同的概念)。

例如,无论在哪个操作系统中,Firefox 浏览器默认的 DPI 都是 96,那么实际上 9pt = 9 * 1/72 * 96 = 12px。

所以,虽然“DPI”中的“I”和“1pt 等于 1/72 inch”中的“inch”,都不代表物理上的英寸,但这两个单位互相之间是相等的,也就在相乘中约掉了。

那么,真实的物理长度怎么计算呢?请拿出一把尺子,丈量你的显示器的可见宽度 (我这里是 11.2992 英寸),除以横向分辨率 (我这里是 1024 像素),得到的就是每个像素的物理长度。

现在我们可以回答这样一个问题,网页上 9pt 的字体究竟占用了多宽的空间?答案是:

9 * 1/72 * 96 * 11.2992 / 1024 = 0.1324 英寸 = 0.3363 厘米。

手机屏幕的2.1英寸只手机的矩形屏幕对角线的长度,用对角线长度来衡量手机屏幕的大小,当然英寸也能换算成厘米一英寸,也就是25.4毫米。

1像素
简单地说,一个像素可以看作一个点,这样的点是有尺寸有面积的,尺寸单位可以与厘米互化,公式我记不清了。照片就是由许多这样的点组成的。每个点记录对应的色彩信息。

30万像素就是分辨率640*480=307200个点的合成,这里的一个点就是一个指一个像素

2分辨率
分辨率。单说分辨率是不能反映出图片品质的,分辨率的意思是,单位尺寸的像素数。通常说的是每英寸的像素数,单位是dpi。例如分辨率是72dpi,也就是说每英寸有72个像素.相当于一条直线由无数点组成一样,这里就一英寸的线段由72个相素组成.

像素密度:像素总数/屏幕面积
android密度:160DPI密度系数是1

    
[2] 资料操作
    来源: 互联网  发布时间: 2014-02-18
文件操作

 

package com.myclover.file.service;

 

import android.content.Context;

import android.os.Environment;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

 

public class FileHelper {   

    private Context context;   

    private String SDPATH;   

    private String FILESPATH;   

 

    public FileHelper(Context context) {   

        this.context = context;   

        SDPATH = Environment.getExternalStorageDirectory().getPath() + "\\";   

        FILESPATH = this.context.getFilesDir().getPath() + "\\";   

    }   

 

    /**  

     * 在SD卡上创建文件  

     *   

     * @throws IOException  

     */  

    public File creatSDFile(String fileName) throws IOException {   

        File file = new File(SDPATH + fileName);   

        file.createNewFile();   

        return file;   

    }   

 

    /**  

     * 删除SD卡上的文件  

     *   

     * @param fileName  

     */  

    public boolean delSDFile(String fileName) {   

        File file = new File(SDPATH + fileName);   

        if (file == null || !file.exists() || file.isDirectory())   

            return false;   

        file.delete();   

        return true;   

    }   

 

    /**  

     * 在SD卡上创建目录  

     *   

     * @param dirName  

     */  

    public File creatSDDir(String dirName) {   

        File dir = new File(SDPATH + dirName);   

        dir.mkdir();   

        return dir;   

    }   

 

    /**  

     * 删除SD卡上的目录  

     *   

     * @param dirName  

     */  

    public boolean delSDDir(String dirName) {   

        File dir = new File(SDPATH + dirName);   

        return delDir(dir);   

    }   

 

    /**  

     * 修改SD卡上的文件或目录名  

     *   

     * @param fileName  

     */  

    public boolean renameSDFile(String oldfileName, String newFileName) {   

        File oleFile = new File(SDPATH + oldfileName);   

        File newFile = new File(SDPATH + newFileName);   

        return oleFile.renameTo(newFile);   

    }   

 

    /**  

     * 拷贝SD卡上的单个文件  

     *   

     * @param path  

     * @throws IOException  

     */  

    public boolean copySDFileTo(String srcFileName, String destFileName)   

            throws IOException {   

        File srcFile = new File(SDPATH + srcFileName);   

        File destFile = new File(SDPATH + destFileName);   

        return copyFileTo(srcFile, destFile);   

    }   

 

    /**  

     * 拷贝SD卡上指定目录的所有文件  

     *   

     * @param srcDirName  

     * @param destDirName  

     * @return  

     * @throws IOException  

     */  

    public boolean copySDFilesTo(String srcDirName, String destDirName)   

            throws IOException {   

        File srcDir = new File(SDPATH + srcDirName);   

        File destDir = new File(SDPATH + destDirName);   

        return copyFilesTo(srcDir, destDir);   

    }   

 

    /**  

     * 移动SD卡上的单个文件  

     *   

     * @param srcFileName  

     * @param destFileName  

     * @return  

     * @throws IOException  

     */  

    public boolean moveSDFileTo(String srcFileName, String destFileName)   

            throws IOException {   

        File srcFile = new File(SDPATH + srcFileName);   

        File destFile = new File(SDPATH + destFileName);   

        return moveFileTo(srcFile, destFile);   

    }   

 

    /**  

     * 移动SD卡上的指定目录的所有文件  

     *   

     * @param srcDirName  

     * @param destDirName  

     * @return  

     * @throws IOException  

     */  

    public boolean moveSDFilesTo(String srcDirName, String destDirName)   

            throws IOException {   

        File srcDir = new File( srcDirName);   

        File destDir = new File( destDirName);   

        return moveFilesTo(srcDir, destDir);   

    }   

 

 

    /**********************************************************************************************************/  

    /*********************************************************************************************************/  

 

    /**  

     * 删除一个文件  

     *   

     * @param file  

     * @return  

     */  

    public boolean delFile(File file) {   

        if (file.isDirectory())   

            return false;   

        return file.delete();   

    }   

 

    /**  

     * 删除一个目录(可以是非空目录)  

     *   

     * @param dir  

     */  

    public boolean delDir(File dir) {   

        if (dir == null || !dir.exists() || dir.isFile()) {   

            return false;   

        }   

        for (File file : dir.listFiles()) {   

            if (file.isFile()) {   

                file.delete();   

            } else if (file.isDirectory()) {   

                delDir(file);// 递归   

            }   

        }   

        dir.delete();   

        return true;   

    }   

 

    /**  

     * 拷贝一个文件,srcFile源文件,destFile目标文件  

     *   

     * @param path  

     * @throws IOException  

     */  

    public boolean copyFileTo(File srcFile, File destFile) throws IOException {   

        if (srcFile.isDirectory() || destFile.isDirectory())   

            return false;// 判断是否是文件   

        FileInputStream fis = new FileInputStream(srcFile);   

        FileOutputStream fos = new FileOutputStream(destFile);   

        int readLen = 0;   

        byte[] buf = new byte[1024];   

        while ((readLen = fis.read(buf)) != -1) {   

            fos.write(buf, 0, readLen);   

        }   

        fos.flush();   

        fos.close();   

        fis.close();   

        return true;   

    }   

 

    /**  

     * 拷贝目录下的所有文件到指定目录  

     *   

     * @param srcDir  

     * @param destDir  

     * @return  

     * @throws IOException  

     */  

    public boolean copyFilesTo(File srcDir, File destDir) throws IOException {   

        if (!srcDir.isDirectory() || !destDir.isDirectory())   

            return false;// 判断是否是目录   

        if (!destDir.exists())   

            return false;// 判断目标目录是否存在   

        File[] srcFiles = srcDir.listFiles();   

        for (int i = 0; i < srcFiles.length; i++) {   

            if (srcFiles[i].isFile()) {   

                // 获得目标文件   

                File destFile = new File(destDir.getPath() + "\\"  

                        + srcFiles[i].getName());   

                copyFileTo(srcFiles[i], destFile);   

            } else if (srcFiles[i].isDirectory()) {   

                File theDestDir = new File(destDir.getPath() + "\\"  

                        + srcFiles[i].getName());   

                copyFilesTo(srcFiles[i], theDestDir);   

            }   

        }   

        return true;   

    }   

 

    public boolean myCopyFilesTo(File srcDir, File destDir) throws IOException {

        boolean isSuccess = true;

        if (!destDir.exists())

            isSuccess = destDir.mkdirs();

        if (!isSuccess)

            return false;// 判断目标目录是否存在

 

 

        if (!srcDir.isDirectory() || !destDir.isDirectory())

            return false;// 判断是否是目录

 

 

 

        File[] srcFiles = srcDir.listFiles();

        for (int i = 0; i < srcFiles.length; i++) {

            if (srcFiles[i].isFile()) {

                // 获得目标文件

                File destFile = new File(destDir.getPath() + "\\" + srcFiles[i].getName());

                copyFileTo(srcFiles[i], destFile);

            } else if (srcFiles[i].isDirectory()) {

                File theDestDir = new File(destDir.getPath() + "\\" + srcFiles[i].getName());

                if (!theDestDir.exists()) {

                    theDestDir.mkdirs();

                }

                myCopyFilesTo(srcFiles[i], theDestDir);

            }

        }

        return true;

    }   

 

    /**  

     * 移动一个文件  

     *   

     * @param srcFile  

     * @param destFile  

     * @return  

     * @throws IOException  

     */  

    public boolean moveFileTo(File srcFile, File destFile) throws IOException {   

        boolean iscopy = copyFileTo(srcFile, destFile);   

        if (!iscopy)   

            return false;   

        delFile(srcFile);   

        return true;   

    }   

 

    /**  

     * 移动目录下的所有文件到指定目录  

     *   

     * @param srcDir  

     * @param destDir  

     * @return  

     * @throws IOException  

     */  

    public boolean moveFilesTo(File srcDir, File destDir) throws IOException {   

        if (!srcDir.isDirectory() || !destDir.isDirectory()) {   

            return false;   

        }   

        File[] srcDirFiles = srcDir.listFiles();   

        for (int i = 0; i < srcDirFiles.length; i++) {   

            if (srcDirFiles[i].isFile()) {   

                File oneDestFile = new File(destDir.getPath() + "\\"  

                        + srcDirFiles[i].getName());   

                moveFileTo(srcDirFiles[i], oneDestFile);   

                delFile(srcDirFiles[i]);   

            } else if (srcDirFiles[i].isDirectory()) {   

                File oneDestFile = new File(destDir.getPath() + "\\"  

                        + srcDirFiles[i].getName());   

                moveFilesTo(srcDirFiles[i], oneDestFile);   

                delDir(srcDirFiles[i]);   

            }   

 

        }   

        return true;   

    }   

}  





实例:
将一个文件夹下的所有文件包括文件夹全部拷贝到令一个目录下,如果,目标目录存在要复制的文件夹则不需要重新建立,没有则建立目录:

public class FileHelper {
    private Context context;   
    public FileHelper(Context context) {   
        this.context = context;   
    }   
 
    // 复制一个目录到另一个目录,做合并处理
    public boolean copyDirFilesTo(File srcDir, File destDir) throws IOException {
        boolean isSuccess = true;
        if (!destDir.exists())
            isSuccess = destDir.mkdirs();
        if (!isSuccess)
            return false;// 判断目标目录是否存在
        if (!srcDir.isDirectory() || !destDir.isDirectory())
            return false;// 判断是否是目录
        File[] srcFiles = srcDir.listFiles();
        for (int i = 0; i < srcFiles.length; i++) {
            if (srcFiles[i].isFile()) {
                // 获得目标文件
                File destFile = new File(destDir.getPath() + "/" + srcFiles[i].getName());
                copyFileTo(srcFiles[i], destFile);
            } else if (srcFiles[i].isDirectory()) {
                File theDestDir = new File(destDir.getPath() + "/" + srcFiles[i].getName());
                if (!theDestDir.exists()) {
                    theDestDir.mkdirs();
                }
                copyDirFilesTo(srcFiles[i], theDestDir);
            }
        }
        return true;
    }

    // 拷贝一个文件,srcFile源文件,destFile目标文件
    public boolean copyFileTo(File srcFile, File destFile) throws IOException {
        if (srcFile.isDirectory() || destFile.isDirectory())
            return false;// 判断是否是文件
        FileInputStream fis = new FileInputStream(srcFile);
        FileOutputStream fos = new FileOutputStream(destFile);
        int readLen = 0;
        byte[] buf = new byte[1024];
        while ((readLen = fis.read(buf)) != -1) {
            fos.write(buf, 0, readLen);
        }
        fos.flush();
        fos.close();
        fis.close();
        return true;
    }

    // 删除一个目录(可以是非空目录)
    public boolean delDir(File dir) {
        if (dir == null || !dir.exists() || dir.isFile()) {
            return false;
        }
        for (File file : dir.listFiles()) {
            if (file.isFile()) {
                file.delete();
            } else if (file.isDirectory()) {
                delDir(file);// 递归
            }
        }
        dir.delete();
        return true;
    }

}
主文件调用:
                                                        fileHelper = new FileHelper(
                                                                YyBackUpSetting.this);
                                                        String path = Environment
                                                                .getExternalStorageDirectory()
                                                                .toString()
                                                                + "/yybackup/";
                                                        File srcFile = new File(path);
                                                        String paString = Environment
                                                                .getExternalStorageDirectorySd()
                                                                .toString()
                                                                + "/yybackup/";
                                                        File destFile = new File(paString);
                                                                fileHelper.copyDirFilesTo(srcFile,
                                                                        destFile);




    
[3] 替UIToolBar工具条添加各种各样的UIBbarButtonItem
    来源: 互联网  发布时间: 2014-02-18
为UIToolBar工具条添加各种各样的UIBbarButtonItem

根据SDK的文档,我们可以发现UIBbarButtonItem有如下几种初始化的方法:

-initWithTitle

-initWithImage

-initWithBarButtonSystemItem

-initWithCustomView

1:在UIToolBar上面添加Title
UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
NSMutableArray *myToolBarItems = [NSMutableArray array];
[myToolBarItems addObject:[[[UIBarButtonItem alloc] initWithTitle:@"myTile" 
    style:UIBarButtonItemStylePlain
    target:self 
    action:@selector(action)] autorelease]];
[myToolBar setItems:myToolBarItems animated:YES];
[myToolBar release];
[myToolBarItems];
2:在UIToolBar上面添加image
[myToolBarItems addObject:[[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myImage.png"]
                                                    style:UIBarButtonItemStylePlain
            target:self
    action:@selector(action)]];
3:在UIToolBar上面添加SystemItem
[myToolBarItems addObject:[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay
    target:self 
    action:@selector(action)] autorelease]];

SystemItem主要有:

    UIBarButtonSystemItemDone,

    UIBarButtonSystemItemCancel,

    UIBarButtonSystemItemEdit,  

    UIBarButtonSystemItemSave,  

    UIBarButtonSystemItemAdd,

    UIBarButtonSystemItemFlexibleSpace,

    UIBarButtonSystemItemFixedSpace,

    UIBarButtonSystemItemCompose,

    UIBarButtonSystemItemReply,

    UIBarButtonSystemItemAction,

    UIBarButtonSystemItemOrganize,

    UIBarButtonSystemItemBookmarks,

    UIBarButtonSystemItemSearch,

    UIBarButtonSystemItemRefresh,

    UIBarButtonSystemItemStop,

    UIBarButtonSystemItemCamera,

    UIBarButtonSystemItemTrash,

    UIBarButtonSystemItemPlay,

    UIBarButtonSystemItemPause,

    UIBarButtonSystemItemRewind,

    UIBarButtonSystemItemFastForward,

4:使用initWithCustomView

A>加一个开关switch:

[myToolBarItems addObject:[[[UIBarButtonItem alloc] initWithCustomView:[[[UISwitch alloc] init] 

autorelease]];  



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android实现弹出键盘的方法 iis7站长之家
▪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