初次搞客户端开发,一直听说图片适配很头疼云云,图片到底该用多大?网上有很多文章谈适配问题了,能从百度、谷歌搜到的基本都是谈屏幕分辨率、密度、图片放到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视频资讯客户端简单实现--android客户端与web服务器实现 android客户端想web服务器请求,服务器返回xml文件。android客户端解析之。显示在listView中
android请求web服务器的四种方式 HttpURLConnection 方式下的get post请求、 HttpGet请求 HttpPost请求
基于Android 移动基础原生开发的一个智慧城市题材的简易app,app数据全部使用okhttp3请求于后台服务器!.zip
NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。
android客户端连接javaweb服务器,java web服务器采用SSM(spring+springMVC+mybatis)框架。服务器端即可以处理android请求,又可以处理浏览器jsp页面请求。
RxJava:包括Rx处理服务器请求、缓存、线程调度的完美封装 复杂列表处理,充分解决滑动卡顿问题,具体方法看关注模块里面的“朋友圈”例子 组件化开发,横向解耦 封装各种工具类,比如压缩图片、轮播器、查看大图...
毕业设计,基于安卓AndroidStudio开发的校园求职招聘App,包括安卓服务器端和安卓客户端,内含完整源码、数据库脚本 基于安卓AndroidStudio校园求职招聘app设计毕业源码案例设计 开发软件:Eclipse/Idea + Android...
Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。 Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。
商品的推荐、浏览,改写上拉刷新下拉加载加载商品信息,商品信息是通过Jsoup从网页上抓取,获得XML解析并封装成实体类,然后适配到adapter;当然用户也可以搜索感兴趣的商品和店铺,Jsoup发送post请求后得到用户搜索...
在APP的实现过程中,对Android应用开发的模式与框架进行深入的剖析,设计了基类架构,分析了MVC、MVP、MVVM三种框架模式,举例说明了主流框架在Android开发中的使用,如网络请求通过Retrofit框架的实现与使用Glide...
第二种是单词数据,也就是该App的词库,记录了每个单词的英文,中文,音频URL,示例图片,示例句子等信息。这种数据使用mongodb进行保存。 功能二:验证用户的登录,拦截访问 验证用户的登录,这个功能就是获取到...
因为小编服务器端不是很熟练,所以就用了Bmob,还不错挺容易上手的,就依赖了它的两个库而已,网络请求和模型都是封装好的,我们直接调用就可以。 ,下面小编来详细介绍一下用到的技术: 1.Android Support Desgin...
当我们手机需要和服务器进行交互时,服务器端的代码。 采用了struts技术。HttpServletRequest HttpServletResponse 以最简单的this.response.getWriter().write(result); 进行服务器端返回。此时与服务器的交互流量...
这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...
在登录验证阶段采用RSA 非对称加密方式,App 端对服务器端返回的Token 信息加上时间戳,将处理后的Token 信息保存到本地,后面的每次请求都携带该Token 从而实现免登录的登录状态的保持。 1. 登录认
客户端的聊天内容通过json格式封装(包含聊天内容、发送人信息)之后,HTTP请求百度服务器,即请求把该消息发送到指定id的用户,请求成功之后,百度服务器就把我们的信息转发给指定的用户,对应用户再解析json格式的...
在开发过程中逐步熟悉使用android studio、IDEA等主流开发工具,对android常规布局设计、常用的组件和相关的事件处理有更深入的了解,与此同时还能掌握移动app与服务器通过http访问方式进行交互,熟悉常规的访问请求...
本项目主要是集成微信支付,android APP请求java服务器获取预支付订单后调起微信支付。代码简单,亲测可用!
如果您下载了本程序,但是该程序无法运行,或者您不会部署,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。...
一:登陆页面:客户端通过httpGet方法进行传值,发送...三:查询页面:客户端通过url方法进行传值,发送请求,服务器端通过jsp进行交互,输出响应的值给客户端,客户端通过SAX解析xml中的数据,然后分页显示到listview中