Android实习第九至十八天——碎碎念汇总

2024-03-14 15:48

本文主要是介绍Android实习第九至十八天——碎碎念汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 在Linux环境需要在终端里执行后台程序只需在命令后加 &即可。(这是一个多么平易近人的开场白啊)

  • 为了使用Android中的ListView需要一个listAdapter来把数据绑定到它上面。如果只是显示一个文本列表只需使用一些Android提供的简单类即可,如SimpleListAdapter。如果list item是复合型的元素,则可继承BaseAdapter类,实现其中的方法,特别是getView方法。可以理解为程序在运行时正是通过这一方法在相应的位置添加元素。其他的一些方法也要留意,比如最近遇到的一个问题耗费了我很长时间:使用在xml中为ListView指定了divider也就是相邻列表条目之间的分割线。但是无论如何也显示不出来,而且点击列表条目也没有按键反应。最后发现原因是重写的Adapter类中的一个方法  public boolean isEnabled(int arg0) {  return false;  }, 默认是返回false,实际应当返回true才代表getView返回的条目是有效的。

  • 今天很奇怪,adb突然不能识别我的Android设备(Meizu MX),使用adb devices 命令得到下面的输出:
    List of devices attached ????????????   no permissions
    放狗搜索的结果一般是让编辑一个文件,注册手机设备的VendorID等,但是哥的meizu在android官网上根本没id啊……使用 adb kill-server, adb start-server重启adb也不管用。继续搜索并尝试,用root权限重启adb,问题解决。

  • 想让ImageButton变透明?Try using null for the background ...

    android:background="@null"
    
     
  • 随着软件功能的逐步完善,我也开始研究界面的设计了。一直以来我的编程只涉及到后台逻辑,从不关注外观。但是现在是在公司做开发,界面自然很重要。看着自己界面土的只掉渣心里也不是滋味啊。可是这工作实在很烦人,无论如何都调不出想要的效果,往往稍作一些尝试性的改动就要编译运行测试一下效果,费时虐心啊。没办法,硬着头皮开始查资料,从最基础的开始学:The Basics of Interface Design——http://msdn.microsoft.com/en-us/library/aa733613%28v=vs.60%29.aspx  这篇文章讲了一些常识性的理念。

  • 下面这三篇文章强烈推荐!对Android下常用的View都做了简单明了的说明,而且带有讲解和范例,都看完思路就能很清晰了。
  1. http://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts
  2. http://mobiforge.com/designing/story/understanding-user-interface-android-part-2-views
  3. http://mobiforge.com/designing/story/understanding-user-interface-android-part-3-more-views

  • 这篇文章介绍了一些Android界面开发的基础,包括很好用的9patch等等。值得一看。
  • http://www.netmagazine.com/tutorials/user-interface-design-android-apps

  • 这篇讲解了如何在Android下使用Style和Theme。
  • http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html

  • 下面这篇官网文章是必看的,介绍了Android下的各种“可绘制”对象。
  • http://developer.android.com/guide/topics/resources/drawable-resource.html

  • 你的ListView是否有过这样的问题:滚动之后List中条目的顺序混乱了?看这里 http://stackoverflow.com/questions/2955218/listview-in-arrayadapter-order-gets-mixed-up-when-scrolling

  • 有时候觉得自己在调错的时候像挤牙膏一样:怀疑哪里就再哪里Log一下,然后马上运行看看结果,如果不是那里的错再继续找下去。我也太懒了,就不能把可疑的地方都Log一下然后统一看结果么……或者说更应该养成在编码时log的习惯。

    • PorterDuff.Mode 这个主题我觉得有点图形学的感觉了,貌似是关于颜色的叠加、过滤什么的(也没仔细研究呢),光看文档看不明白,参考一下下面的链接吧有图有真相 http://www.ibm.com/developerworks/java/library/j-mer0918/

      • 最近才意识到自己的开发环境SDK里面有很多活生生的例子可以参考,想知道Android的edittext背景是如何实现的嘛:http://www.androidworks.com/changing-the-android-edittext-ui-widget

      • 9.png.图形文件是挺有意思也很强大的一种图形资源,它通过图像本身设定了图像在使用中的变形策略以及能包含内容的部分。通过SDK自带的draw9patch工具,我们可以把png转成9png。大致意思就是在原图像四周画线,左侧和上方的线的交叉区域在图像变形时会被拉伸,而别的部分保持不变;而另两侧画线的交叉区域则是允许包含内容的区域,也就是说假设这个9patch被用于做EditText的背景的话,那么用户输入的文字只能出现在这一区域。详细看上方的链接。

      • 另外还了解了一下关于sharp, gradient, rounded corner, selector等等ui设计相关的知识点。官网上都有详细的解释,就不赘述了,欢迎讨论。

      • 然后就是关于配色。怎么配色才比较和谐?(color harmony)看看下面的文章吧,有很多策略可以选,比如选择在颜色盘中相邻的颜色,选择同一颜色的不同亮度等等等等。最后一个链接给大家提供一个强有力的工具可以应用这些配色方案。
      • http://speckyboy.com/2010/05/19/beginners-guide-to-using-the-power-of-color-in-web-design/
      • http://www.uxmatters.com/mt/archives/2006/01/color-theory-for-digital-displays-a-quick-reference-part-i.php
      • http://wellstyled.com/tools/colorscheme2/index-en.html  More tools:http://www.hongkiat.com/blog/best-color-tools-for-web-designers/
      好了,今天就扯到这里。本来想记日记的,结果每天回来累的像坨大便,现在改成半月谈了。不过项目一直有进展,自己每天相当于上自习,收获也不少,还是挺充实的。顺便说一句,今天总算把界面搞的好看了点,那种幸福感怎么比实现了个大功能还强烈尼?不行以后改学艺术吧。哈哈,谢谢大家,下次再见。

      这篇关于Android实习第九至十八天——碎碎念汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



      http://www.chinasem.cn/article/808898

      相关文章

      Android Paging 分页加载库使用实践

      《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

      Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

      《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

      Android ClassLoader加载机制详解

      《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

      linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

      《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

      Android DataBinding 与 MVVM使用详解

      《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

      Android ViewBinding使用流程

      《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

      Linux实现线程同步的多种方式汇总

      《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

      Android学习总结之Java和kotlin区别超详细分析

      《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

      8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

      《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

      JAVA数组中五种常见排序方法整理汇总

      《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序