安卓开发-尺寸单位+Logcat的使用+Android单元测试+安卓系统中数据的读写

知识视图:
这里写图片描述
《一:尺寸单位》

1.px:电脑 电视上的分辨率的尺寸单位。像素是构成数码影像的基本单元。例如300x300分辨率,即表示水平方向与垂直方向上每英寸长度上的像
素数都是300,也可表示为一平方英寸内有9万(300x300)像素。

2.dp:过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)
更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量
单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。推荐使用使用dp单位,与平时所说的dip是一样的。(设备独立像
素). 不同设备有不同的显示效果,这个和设备硬件有关,不依赖像素。

3.sp: scaled pixels(放大像素). 主要用于字体显示best for textsize
目前市场上所有主流的机型被划分为5种类型(120dpi的基本不再支持) DPI:dots per inch,一英寸的像素数量 在代码中设置控件的大小 系统默认的
单位是px

这里写图片描述

《二:Logcat的使用》

原理:日志进内存,方内存满时,最早进去被销毁,类似队列
使用:
Log.v();黑色,verbose
Log.d():蓝色,debug
Log.i():绿色,info
Log.w():橙色,warn
Log.e():红色,error
等级:verbose<debug<info<warn<error,高等级的拦截器不能拦截比他低等级的日志

《三:Android的单元测试》

1.配置:在AndroidManifest中的application中配置:
<uses-library android:name=”android.test.runner” />
在根前配置:
<instrumention android:name=”android.test.InstrumentationTestRunner” android:targetPackage=”应用包名“ />
2.书写测试类,继承AndroidTestCase.

3.书写测试方法,声明异常:throws Exception

《四:安卓下文件的存储》

1.安卓中数据的读写:

//1.创建在应用中的一个文件
File file  = new File(“/data/data/包名/文件名”);
//2.创建应用中cache文件夹中的一个文件
File file = new File(getCacheDir(), 文件名);
//3.创建应用中files文件夹中的一个文件
File file = new File(getFileDir(),  文件名);


//保存数据
BufferedWriter writer = new BufferedWriter(new FileWriter(file) );
writer.write(数据);    
writer.close();

//读取数据
if(file.exists() && file.length>0){
     BufferedReader reader = new BufferedReader(new FileReader(file));
     String line = reader.readLine();
}

2.内外存目录的获取:

内存路径:Environment.getDataDirectory();
外存路径:Environment.getExtraStorageDirectory();
(不同厂商外存路径命名有差别,/mnt/sdcard,/storage/enulated)

3.向SD卡中写入数据:

   此操作敏感,配置权限:
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />

      String externalState = Environment.getExtraStorageDirectory();
      if(externalState.equals(Environment.MEDIA_MOUNTED)){
          //创建目标文件
          File parentDir = Environment.getExternalStorageDirectory();
          File externalFile = new File(parentDir, “a.avi”);
          //写入文件
          OutputStream outStream = new FileOutputStream(externalFile);
          byte[] data = new byte[1024*1024];
           for(i= 0; i<10 ;i++){
            outStream.write(data);
            }
            outStream.close();
        }

4.内部文件存储的访问模式:

pemission:十位,
1.d:是否是文件夹
2~4:rwx:用户权限,每个用户都是一个应用,只允许本应用访问
5~7:rwx:组权限,几个应用共同归位一个组,组内用户可操作
8~10:rwx:其他权限:其他用户均可操作

5.SharedPreferences的使用(适合轻量级数据的保存):

//默认保存在/data/data/包名/shared_prefs/qqinfo.xml
SharedPreferences sp = getSharedPreferences(“qqinfo”,MODE_PRIVATE);
Editor et = sp.edit();
et.putString(“password”, password);
et.commit();


//回显数据
SharedPreferences sp = getSharedPreferences(“qqinfo”,MODE_PRIVATE);
String password = sp.getString(“password”, “\”);// \为取不到数据时的默认返回值 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值