`
sd6733531
  • 浏览: 66536 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android近期学习总结——开发笔记

阅读更多

一、常用类:

1. Activity是最基本的类,它代表一个显示页面。类似一个Servlet,可以显示页面、捕捉事件、显示菜单、处理复杂的用户交互等。

2.  Intent指一个目标。它包含ActionNameAction指定目标动作,Name指定目标类地址。Intent典型用法如下:

Intent intent=new Intent(thisContext,toClass);

intent.putExtra(Bundle xx);//Intent添加数据

startActivity(intent);//发送该intent

//另外还可以配置Intent Return来处理Intent数据返回。

//调用startActivityForResult(intent)即可实现该层嵌套。

3.对于典型的一些数据控件,比如ListViewTabHostAndroid对其都进行了简单封装和布局定义,对应有ListActivityTabActiviy等。

4. Android采用了典型的MVC结构。其表现如下:View既可以通过xml(layout目录下)生成,也可以通过硬编码的方式直接通过代码生成。对于xml中的View资源,可以在代码中通过getViewById()的方法获得。Model既可以通过xml(values目录下)生成,也可以硬编码的方式直接在代码中指定。ViewModel通过Adapter来进行连接。典型的Adapter包括ArrayAdapter(可以Sort()操作)CusorAdapter(Cusor中查询到数据源),ListAdapterSimpleAdapter(最常用)SpinnerAdapter(它是一个接口,设置Spinner应用SimpleAdaptersetDropDownResource方法)

5. SimpleAdapter典型用法:

List<Map<String,String>> list=new ArrayList();

Map<String,String> map=new HashMap();//代表列表中的一个项。Key值将决定Value的显示位置。

map.put(“name”, “WangFeng”);

map.put(“description”, “I am a Student.”);

list.add(map);

new SimpleAdapter(

this, //Context

listdata,//List<Map<String,?>>List<Map<?,String>> or Cursor

android.R.layout.simple_list_item_2,//which view display

new String[]{“name”,”description”},//data column Name

new int[]{android.R.id.text1,android.R.id.text2};//which data view display

ArrayAdapter的典型用法:

注意ArrayAdapter是一个泛型对象,其泛型类型与数据源的array class对应。ArrayAdapter仅有一列数据。因此内置了insert(),remove(),add(),clear()等数据操作方法。同时还提供了sort(Compartor)的排序方法。

new ArrayAdapter(

this,//Context

android.R.layout. simple_list_item_1,//which view

array//array object or resource id

)

二、开发陷阱:

1.在调用super.onCreate()方法之前,Activity的Context尚处于null状态。切勿在onCreate方法前初始化View组件。

2.在调用this.setContentView(xx.xml)之前,切勿对该layout文件使用findViewById()方法,否则将得到null结果。

3.使用ListView时,必须在setAdapter()方法之前调用setHeader()、setFooter()、setEmptyView(),否则将抛出异常。另外,不要尝试添加一个复杂的view放在listView的header里面,这会影响事件的捕获。

4.对于一个继承AdapterView的对象,切勿去捕捉Clicked、Selected事件,而应改用onItemClicked(),onItemSelected()事件。否则将抛出异常。

5.如ListView的数据源发生了改变。应调用notifyDataSetChanged()方法来更新视图。不过SimpleAdapter不提供notifyDataSetChanged()方法。更新以SimpleAdapter为桥梁的视图只能采用重新setAdapter()的方法。

6.对于布局文件,在嵌套LinearLayout时,请尽量使用wrap_content。使用match_parent将可能覆盖父容器,并导致无法显示后面的布局。

7.Android中的Calendar默认是处于GMT+0:0的时区。因此其Date对象与本机Date差值8小时。

三、Android开源工具、项目:

 

1.android/tools目录下有个叫Hierarchy Viewer的工具,在启动模拟器后运行该bat文件将加载应用界面。可以帮助界面调优。

2.DroidDraw:是一个开源的Java桌面工具。运行后可以对Android界面进行可视化编辑。不过DroidDraw与Eclipse的编码好像有问题。DroidDraw开发AbsoluteLayout较有优势。普通编辑可视化layout可以使用ADT内置的工具,使用方法是进入xml文件,选择layout标签。

3.ChartEngin:Android平台下的一个免费项目,用于显示各种报表。

4.HessianDroid:Hessianandroid版本,使用Hessian可以完成轻量级RPC对象传输。

 

分享到:
评论

相关推荐

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    Android Training学习笔记——Navigation 参考源码

    在Android应用开发中,Navigation组件是一个强大的工具,用于管理应用程序中的屏幕..."Android Training学习笔记——Navigation 参考源码"提供了一个深入学习和实践的平台,对于提升Android开发技能具有显著的价值。

    Android开发者学习笔记——View、Canvas、bitmap

    Android 开发者学习笔记——View、Canvas、bitmap 是 Android 开发中常用的类,本文将通过实例讲解 View、Canvas 等相关知识点。 从资源中获取位图 在 Android 开发中,获取位图可以使用 BitmapDrawable 或 ...

    Android Training学习笔记——Navigation 参考源码(ListView版)

    这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”深入探讨了如何使用Navigation构建一个基于ListView的导航系统。我们将从以下几个方面来详细讨论这个主题: 1. **Navigation组件简介** ...

    Android Training学习笔记——RecyclerView和CardView

    这篇“Android Training学习笔记”主要围绕这两个组件展开,旨在帮助开发者提升他们的Android应用设计能力。 RecyclerView是Android SDK提供的一种列表视图控件,取代了早期的ListView。RecyclerView的优势在于它的...

    Android Training学习笔记——App Bar 参考源码

    这篇文章是基于“Android Training”系列的学习笔记,主要探讨了App Bar的设计原理和参考源码分析。下面将详细阐述App Bar的相关知识点。 首先,App Bar是Android设计指南中推荐的用户界面元素,它位于屏幕顶部,...

    Android开发笔记——UI基础编程

    这份"Android开发笔记——UI基础编程"的资料集包含了两部分:新版Android开发教程+笔记七--基础UI编程1.pdf和新版Android开发教程+笔记七--基础UI编程2.pdf,将深入讲解Android应用程序中用户界面的设计与实现。...

    Android学习笔记——Http通信 源码

    这篇"Android学习笔记——Http通信 源码"主要探讨了如何在Android应用中利用WebView控件加载网页以及使用ImageView控件加载网络图片,这两部分是Android应用与互联网交互的常见场景。 首先,我们来深入理解一下`...

    Android开发笔记——环境搭建

    这篇"Android开发笔记——环境搭建"涵盖了这一基础但至关重要的过程,旨在帮助初学者快速入门。以下将详细介绍Android开发环境的搭建步骤,以及ADB(Android Debug Bridge)的相关知识。 首先,我们需要安装Java ...

    免费 android 应用 源代码——记事本

    标题中的“免费 android 应用 源代码——记事本”表明这是一份关于Android应用开发的资源,特别是一个记事本应用的源代码。记事本应用是Android平台上常见的学习示例,它通常涉及到基础的用户界面设计、数据存储以及...

    Android学习笔记——获取网络图片并显示

    在Android开发中,获取网络图片并显示是一项基本但至关重要的任务。这通常涉及到网络请求、图片处理和UI组件的交互。下面将详细讲解这个过程,包括XML布局、Java代码实现以及必要的权限设置。 首先,我们需要在XML...

    黑马程序员——Android移动开发源码

    黑马程序员——Android移动开发源码

    Android Training学习笔记——Navigation 参考源码(NavigationView版)

    本篇文章将深入探讨`NavigationView`与`Navigation`组件的使用,结合Android Training的学习笔记,我们将理解其核心概念、功能以及如何在实践中应用。 `NavigationView`是Android Design Support Library的一部分,...

    Android学习笔记——Canvas & clipRect

    这篇学习笔记将深入探讨这两个概念及其在实际应用中的使用。 首先,Canvas可以理解为画布,它是Android系统提供的用于在屏幕上绘制图形的对象。在Android中,我们可以通过Canvas来绘制各种形状,如线条、矩形、圆、...

    Android 学习笔记——利用JNI技术在Android中调用、调试C++代码

    这篇“Android学习笔记——利用JNI技术在Android中调用、调试C++代码”将带你深入理解如何在Android应用中使用JNI来调用C++代码,以及如何进行调试。以下是对这一主题的详细阐述。 1. **JNI简介** JNI是Java平台的...

    Android开发笔记——模拟器、应用教程

    Android开发笔记,内容涉及模拟器参数、进程与线程、Android 释放手机资源,进程释放优先级、分析HelloAndroid、添加编辑框与按钮、使用Intent启动另一个Activity、在不同Task中启动Activity、Intent与Intent ...

    Android学习笔记之——Content Providers

    之前博文《 Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述 》曾经介绍过android有四大组件。本博文学习一下Content Providers(内容提供器) 目录 Android运行时 ...

    Android开发笔记——模拟器、应用教程 pdf

    总之,这份"Android开发笔记——模拟器、应用教程"将引导你全面了解Android开发的核心技术和实践方法,无论你是初学者还是经验丰富的开发者,都可以从中受益。通过学习和掌握这些知识点,你将能够创建出高质量、适应...

    正确使用Android性能分析工具——TraceView _ bxbxbai_Android开发笔记1

    在 Android 开发中,性能优化是提升用户体验的关键环节之一。TraceView 是 Android 提供的一款强大的性能分析工具,它可以帮助开发者定位应用程序中的性能瓶颈,尤其是在 UI 渲染和 CPU 使用率方面。本文将详细介绍...

    Android学习笔记——Menu介绍(二)

    在Android开发中,Menu是用户界面中的一个重要元素,用于提供额外的操作选项。本文将深入探讨上下文菜单(Context Menu)和弹出菜单(Popup Menu)这两种Menu类型。 **上下文菜单(Context Menu)** 上下文菜单是针对UI...

Global site tag (gtag.js) - Google Analytics