关于andorid开发中的一些适配,屏幕适配,版本适配,语言适配.9图片的使用要求

Android中的适配分为三方面
一、语言适配(I18N语言国际化)
   MyProject/
     res/
        values/
            strings.xml
        values-es/
            strings.xml
        values-fr/
            strings.xml

  1.在res文件夹下创建不同的values文件后缀为当前需要适配的语言编码
  2.不同的values文件夹下文件名称和文件结构完全相同 唯一不同就是<String>标签中的内容不同
    需要根据指定的语言编码设置
  3.当app发布到设备时 系统会检测当前的语言设置 如果存在当前设备的语言就加载相应的文件夹中的字符串
  如果没有进行适配 调用默认的strings.xml文件中的字符串


二、屏幕适配
 屏幕适配分两方面:屏幕的尺寸 屏幕的密度(分辨率)(其实说到这里应该简单的在穿插一些关于dip,dp,sp,px之间的关系这个放到最后说)

有四种广义的尺寸:小,正常,大, XLARGE
他们的标准尺寸分别为:
超大屏幕至少960dp x 720dp
大屏幕至少640dp x 480dp
标准屏幕至少470dp x 320dp
小屏幕至少426dp x 320dp


 六种广义密度:低( LDPI )120 ,中( MDPI )160 ,高(华电国际)240 ,特高( xhdpi )320++
分别为:
 ldpi (low) ~120dpi
 mdpi (medium) ~160dpi
 hdpi (high) ~240dpi
 xhdpi (extra-high) ~320dpi
 xxhdpi (extra-extra-high) ~480dpi
 xxxhdpi (extra-extra-extra-high) ~640dpi

 屏幕的尺寸(布局文件)
 MyProject/
     res/
         layout/              # default (portrait)
             main.xml
         layout-land/         # landscape
             main.xml
         layout-large/        # large (portrait)
             main.xml
         layout-large-land/   # large landscape
             main.xml
         layout-sw600dp       #七寸平板以上
             main.xml
  1.根据需求提供多套需要的布局文件  布局文件的名称必须相同 文件的内容可以不同
  2.当app发布到设备时 系统会检测设备的屏幕尺寸大小从而决定调用哪个layout下的布局文件


  屏幕密度(分辨率)
  1.为app提供多套不同分辨率的图片
  MyProject/
      res/
          drawable-xhdpi/
              awesomeimage.png
          drawable-hdpi/
              awesomeimage.png
          drawable-mdpi/
              awesomeimage.png
          drawable-ldpi/
              awesomeimage.png

xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
   例如:如果你生成一个200x200的图像xhdpi设备,就应生成设备相同的资源在150×150的hdpi,
    100×100的MDPI和75x75 Ldpi 。

 2.9patch图片的使用
   9patch一般来说是以纯色图片作为背景使用 拉伸时边缘不会出现锯齿
   9patch在app最终打包生成apk时比一般的图片占空间小
(下边是制作的位置,如果你使用的是studio的话,这样也是通用的,不过有更简单的方式,
打开studio的放置图片的资源文件,选择你需要制作成.9的图片,
右键选择Create 9-patch file,点击确定,你会发现你的图片资源文件中的某张图片,
多了一张.9格式的)
   sdk-tools-draw9patch....


三、平台适配(版本适配)
1.指定最小和目标的API级别
(这里建议多使用一些v4,v7,v13..的包,这些都是带有向下兼容的包,但是不是兼容一些)
2.运行时检查系统版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        //在使用一些新sdk中出现的组件或者是控件时需要判断当前app所在的设备的sdk
        版本是否已经能够使用该组件
 }

3.使用的平台风格和主题




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android项目使用FFmpeg来拉取RTSP流并推送到RTMP服务器,可以按照以下步骤进行操作: 步骤1:添加FFmpeg库 首先,将FFmpeg库添加到Android项目。可以使用开源的FFmpeg库,也可以使用第三方的FFmpeg库。在项目的build.gradle文件添加FFmpeg库的依赖。 步骤2:初始化FFmpeg 在代码初始化FFmpeg,可以在Application的onCreate()方法进行初始化操作。 步骤3:拉取RTSP流 使用FFmpeg命令行或者FFmpeg库提供的API来拉取RTSP流。可以通过设置输入源和输出格式等参数,实现从RTSP服务器拉取流数据。 步骤4:推送到RTMP服务器 使用FFmpeg命令行或者FFmpeg库提供的API来推送流数据到RTMP服务器。可以通过设置输出源和RTMP服务器地址等参数,实现将拉取到的流数据推送到RTMP服务器。 步骤5:对推送过程进行监听和处理 通过FFmpeg库提供的回调函数,可以对推送过程进行监听和处理。例如,可以监听流传输的状态、推送的进度等。 步骤6:处理异常情况 在使用FFmpeg的过程,可能会遇到各种异常情况,比如网络异常、编解码错误等。需要在代码进行异常处理,保证项目的稳定性和可靠性。 需要注意的是,使用FFmpeg进行RTSP流拉取和RTMP推送需要一定的编程技巧和对FFmpeg库的理解。并且,由于FFmpeg库在不同平台和版本之间可能存在差异,因此在集成和使用FFmpeg库时,需要确保库的版本和平台的兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值