首页 文章 精选 留言 我的

精选列表

搜索[android things],共10000篇文章
优秀的个人博客,低调大师

android studio 快捷键

1.异常处理自动补全 快捷键Alt + Enter,就可以看到修复这个问题的提示。 Action Mac OSX Win/Linux 注释代码(//) Cmd + / Ctrl + / 注释代码(/**/) Cmd + Option + / Ctrl + Alt + / 格式化代码 Cmd + Option + L Ctrl + Alt + L 清除无效包引用 Option + Control + O Alt + Ctrl + O 查找 Cmd + F Ctrl + F 查找+替换 Cmd + R Ctrl + R 上下移动代码 Option + Shift + Up/Down Alt + Shift + Up/Down 删除行 Cmd + Delete Ctrl + Y 扩大缩小选中范围 Option + Up/Down Ctrl + W/Ctrl + Shift + W 快捷生成结构体 Cmd + Option + T Ctrl + Alt + T 快捷覆写方法 Ctrl + O Ctrl + O 快捷定位到行首/尾 Cmd + Left/Right Ctrl + Left/Right 折叠展开代码块 Cmd + Plus,Minus Ctrl + Plus/Minus 折叠展开全部代码块 Cmd + Shift + Plus,Minus Ctrl + Shift + Plus,Minus 文件方法结构 Cmd + F12 Ctrl + F12 查找调用的位置 Ctrl + Option + H Ctrl + Alt + H 大小写转换 Cmd + Shift + U Ctrl + Shift + U 本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/p/4751024.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android ListView多布局讲解

Listview优化是一个老生常谈的事情了,其优化的方面也有很多种,例如,布局重用、在getView()中减少逻辑计算、减少在页面滑动的时候加在图片,而是在页面停止滚动的时候再加在图片。而今天要介绍的是另一种方式,那就是多布局。 一般使用的场景有一下两种情况: ① 当一个item有多重布局的情况下,使用部分隐藏来实现既笨拙又效率低下,这时多布局会是个不错的选择; ② 当一个item很复杂,页面内容多,item高度很高,甚至超过手机屏幕,这个时候就需要使用多布局将页面拆分成多个小item来提高执行效率。 举个栗子:如下销售订单列表,我们发现一个单个item的页面高度很高,内容也很多,中部的商品个数还具有不确定性,这时的实现的方式我们可以看下: 代码如下: 1@Override2publicViewgetView(finalintposition,ViewconvertView,ViewGrouprootview){3ViewHolderviewHolder=null;4if(convertView==null){5viewHolder=newViewHolder();6convertView=inflater.inflate(R.layout.item_list_order,rootview,false);7//...8convertView.setTag(viewHolder);9}else{10viewHolder=(ViewHolder)convertView.getTag();11}1213for(inti=0;i<arrListOrder.get(position).size();i++){14Viewv=inflater.inflate(R.layout.item_order_goods,null);15//...16viewHolder.llayoutGoodsList.addView(v);17}1819//...20returnconvertView;21} 这种写法诟病很大,严重影响性能,此外如果商品数量有个10个8个的会导致item过高,此外在getView()中for循环new布局对象是是否消耗内存的和执行时间的。 那么,我们用多布局拆分下: 这种布局方式就叫ListView的多布局。采用将一个大的 item 切割成多个小item以降低布局的复杂度,提高重用率。那么直接看这种方式的实现方式: 1publicclassOrderListActivityextendsActivity{2//...34/**解析请求数据*/5privateArrayList<HashMap<String,Object>>analyticalData(Stringjson){6ArrayList<HashMap<String,Object>>arrListGoods=newArrayList<>();7try{8JSONArrayjsArr=newJSONArray(json);9for(inti=0;i<jsArr.length();i++){10JSONObjectjsObj=jsArr.optJSONObject(i);11//头部12hashMapHead.put("order_sn",jsObj.optString("order_sn"));//销售订单号13//...14hashMapHead.put("item_type",OrderListAdapter.NI_ORDER_ITEM_HEAD);//设置布局类型15arrListGoods.add(hashMapHead);1617//商品18JSONArrayarrJsonGoods=jsObj.getJSONArray("order_goods");19JSONObjectjsobjPay=newJSONObject();20for(intj=0;j<arrJsonGoods.length();i++){21HashMap<String,Object>hashMapGoods=newHashMap<>();22hashMapHead.put("goods_name",jsObj.optString("goods_name"));//商品名23//...24hashMapHead.put("item_type",OrderListAdapter.NI_ORDER_ITEM_GOODS);25arrListGoods.add(hashMapGoods);26}2728//底部29HashMap<String,Object>hashMapFoot=newHashMap<>();30hashMapFoot.put("address",jsObj.optString("address"));//地址31//...32hashMapHead.put("item_type",OrderListAdapter.NI_ORDER_ITEM_FOOT);33arrListGoods.add(hashMapFoot);34}35}catch(JSONExceptione){36returnnull;37}38returnarrListGoods;39}40} 50viewHolderFoot=newviewHolderFoot();51convertView=mInflater.inflate(R.layout.item_list_order_foot,rootview,false);52//...初始化布局53convertView.setTag(R.layout.item_list_order_foot,viewHolderFoot);54break;55}56}else{57switch(type){58caseNI_ORDER_ITEM_HEAD:59viewHolderHead=getTag(R.layout.item_list_order_head);60break;61caseNI_ORDER_ITEM_GOODS:62viewHolderGoods=getTag(R.layout.item_list_order_goods);63break;64caseNI_ORDER_ITEM_FOOT:65viewHolderFoot=getTag(R.layout.item_list_order_foot);66break;67}68}69switch(type){70caseNI_ORDER_ITEM_HEAD:71//...处理逻辑72break;73caseNI_ORDER_ITEM_GOODS:74//...75break;76caseNI_ORDER_ITEM_FOOT:77//...78break;79}80returnconvertView;81}8283privateclassViewHolderHead{84//...85}86privateclassViewHolderGoods{87//...88}89privateclassViewHolderFoot{90//...91}9293//...94} 本文转自lzwxx 51CTO博客,原文链接: http://blog.51cto.com/13064681/1948199

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

用户登录
用户注册