初次搞客户端开发,一直听说图片适配很头疼云云,图片到底该用多大?网上有很多文章谈适配问题了,能从百度、谷歌搜到的基本都是谈屏幕分辨率、密度、图片放到mdpi、hdpi、xdpi... 哪个目录下才能适配等,但基本很难找到关于服务器提供多大图片才合适?当然,有人也说,屏幕分辨率多大就请求多大,真的这样吗?我手机是1080x1920分辨率,难道就要从服务器端拽个这么大的图片才合适?烧流量嘛。这么大的图片放电脑上看,满屏了;而从淘宝上扒个图片,也不过780px宽,但看上去依然很清晰。这个说法肯定不成立的。那么可不可以更小呢?
经过测试得出结论:在现在趋于高分屏的大趋势下(不考虑低分辨率屏幕),手机的图片选择,按手机正常屏幕物理尺寸(或者说是设备独立像素dp) 来决定图片大小即可。比如我手机屏幕宽480dp,分辨率1080*1920,那么选择图片时,只要保证图片宽大于等于480px,放到手机上拉宽后就不会感觉有失真。以下是px转dp,dp转px的工具类:
public class ScreenTools { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } }
相关推荐
本篇将详细阐述Android App如何使用JSON与服务器进行交互,以及相关的实现技术和注意事项。 首先,理解JSON(JavaScript Object Notation)的基本结构至关重要。JSON是一种文本格式,易于人阅读和编写,同时也易于...
基于Android开发的APP服务器端设计 本文主要讨论了基于Android平台的APP服务器端设计,着重介绍了如何合理地设计手机应用的服务器端,以实现手机端与服务器端更好的交互性。文章首先介绍了Android平台的特点和优势...
在Android开发中,有时我们需要实现将手机上的图片上传到服务器的功能。这个场景通常涉及客户端(Android应用)与服务器端(PHP脚本)的交互。在这个过程中,用户选择一张图片,然后通过HTTP请求将图片数据发送到PHP...
在本教程中,我们将深入探讨如何使用Android Studio 70版本来搭建一个歌曲服务器,并创建一个能够下载歌曲的App。首先,让我们了解Android Studio的基础知识。 **Android Studio介绍** Android Studio是Google推出...
综上所述,Android客户端上传图片到服务器的过程涉及网络编程、文件操作、HTTP请求和错误处理等多个环节,通过使用现代的库和工具,可以简化这些复杂性,提高开发效率。在实际项目中,还需要结合具体需求进行优化和...
总结来说,仿制美团App的项目涵盖了Android开发中的多个关键知识点:UI设计、数据库操作、网络通信、支付集成以及状态管理。通过实践这样的项目,开发者不仅可以提升自己的Android编程技能,还能对整个移动应用开发...
在提供的源码中,"仿网易新闻客户端源码+服务器"很可能包含了一个简单的Android客户端应用和一个用Tomcat部署的服务器端示例。通过分析这些代码,你可以深入理解如何在实际项目中整合Android客户端和服务器的通信。 ...
这个过程通常涉及到多个技术层面,包括USB通信协议、Android开发者选项、APP编程接口(API)以及数据传输机制。让我们深入探讨一下这些关键知识点。 首先,USB(Universal Serial Bus)是一种标准接口,允许不同...
该压缩包文件“STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输软件例程源码.zip”提供了一个完整的系统,使STM32单片机能够通过ESP8266 WiFi模块与Android应用程序进行数据通信。这个系统的核心在于STM32...
总的来说,这个《天气预报app》项目涵盖了Android应用开发的多个关键方面,如UI设计、网络请求(获取天气数据)、数据解析(处理JSON数据)、以及与系统服务的交互(获取位置信息)。开发者可以通过这个项目学习如何...
首先,要实现这个功能,我们需要使用到Android的网络请求库,比如`Volley`、`OkHttp`或`Retrofit`。这里以广泛使用的`Volley`为例。Volley库由Google提供,它是一个高效的网络库,特别适合处理小数据量的网络请求,...
整个APP的运作流程是:使用Android的客户端向服务器发送请求,服务器下的PHP入口文件根据请求内容的不同,从而调用不同的PHP接口文件,再使用SQL语句对数据库进行操作,之后把获得的数据返回给客户端显示。...
本示例探讨了如何实现Android客户端与基于Struts、Hibernate和Spring的后台服务器之间的数据交互,使用JSON作为数据传输格式。对于初学者来说,这是一个很好的起点,因为它涵盖了多个关键的技术栈。 首先,让我们...
智能家居Android APP源码是一个开发智能家居控制系统的项目,它允许用户通过Android设备远程管理和监控家中的智能设备。这个APP源码提供了实现智能家居系统的核心功能,包括设备发现、连接、控制、状态更新以及用户...
综上所述,"qt for android 更新APP"涵盖了从网络通信、文件下载、权限处理、版本控制到用户体验的多个方面,是移动应用开发中的重要组成部分。正确实现这些功能将有助于确保应用始终保持最新状态,同时提供良好的...
**Android 商城APP源码详解** 在移动互联网时代,Android 商城APP已成为电子商务的重要平台,为用户提供了便捷的在线购物体验。本资源提供了一个可以直接使用的Android商城应用源码,经过测试,确保其功能完善,...
在网络图片加载过程中,我们需要使用输入流(InputStream)从服务器获取图片数据,然后将其转换为Bitmap对象,以便在ImageView中展示。 以下是实现这一功能的基本步骤: 1. **获取网络图片的URL**:首先,你需要一...
本项目“Android-基于Apache MINA进行封装实现Android APP作为服务器客户端进行通讯”正是利用MINA库来构建Android应用的网络通信功能。 Apache MINA的核心优势在于其非阻塞I/O(Non-blocking I/O)模型,这种模型...
在Android平台上,从远程服务器(如Tomcat)下载文件是一个常见的任务,这通常涉及到网络编程、文件处理以及多线程等技术。在这个“android从tomcat服务器下载东西Demo”中,我们将探讨如何实现这样一个功能,特别是...
4. **网络请求与数据解析**:漫画内容通常从远程服务器获取,源码可能使用了如Retrofit、OkHttp等库进行网络请求,同时结合Gson或Jackson等库进行JSON数据解析。 5. **图片加载库**:由于漫画图片较多且大小不一,...