zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android程序ToDoList

Android程序 todoList
2023-09-14 08:59:40 时间

本文的目的是创建一个简单的ToDoList列表。

这个应用的功能是记录我的代办事项,简单到不需要本地存储,所有的代办事项都只是存储在内存中,就是只有程序打开的时候可以增加查看代办事项,当程序关闭的时候,代办事项就清空了。

代码在:https://github.com/jianfengye/Android_Works/tree/master/ToDoList

流程和Windows Form的开发一样:

首先是界面设计,res/layout/main.xml 的设计。这里如果使用Android Common Xml Editor的话,可以使用可视化的控件设计。当然也可以直接使用xml的文本编辑器。

其次是程序中使用到的常量。res/values/中存放的就是配置参数的键值了。

再下来就是程序逻辑了。编写src/中的java逻辑代码。

2 layout

layout定义了一个可视化的用户界面,我们可以使用两种方法来定义layout:

在XML中定义UI元素

在运行时延迟加载UI元素

 

使用XML定义UI元素的好处就是将逻辑层和现实层分离开。通常情况下,XML中的控件元素名称和控件类名称是对应的,而且属性的名称和类的方法也是对应的,比如EditText控件有个text属性,那么在EditText控件类中就有个setText()方法。

每个控件都可以有一个id属性,在res/main.xml中,对一个控件设置id属性应该使用@符号开头,比如 Button android:id="@+id/my_button" ,其中的@符号表示这个字符串应该被当作id字符串和id资源被解析。其中的+号表示这个是个新资源文件,必须被加到R.java文件中去。拥有ID属性的控件可以在程序中使用findViewById定位出来。

 

每个控件都需要设置的是layout_width和layout_height,表示这个控件的大小。

这两个属性的值可以是wrap_content和fill_parent(在 API LEVEL 8之后也叫match_parent

)。wrap_content意思是仅仅包含住内容的大小就行了。fill_parent的意思是扩展到父节点的大小。

注意,在长度设置的时候,不要使用像素大小来进行设置(尽管那个是可行的)。建议使用dp(像素无关大小),wrap_content或者fill_parent进行设置。

 

layout的类型分为三种:linear layout, relative layout 和 webview。

linear layout意思是线性的,分层的排列,和html中默认的标签排序是一样的。

relative layout意思是相对的,和html中relative的意思是一样的。

webview就是可以内嵌html进行处理。这个也是现在很多应用使用的方法了。

3 ArrayAdapter

layout除了可以通过xml在onCreate的时候绘制,也可以在运行中不断增加,即内容是动态的。我们可以使用AdapterView来进行增加。具体就是将一个ArrayAdapter绑定到一个AdapterView上。比如ListView。

大概的代码如下:


然后当你修改了ArrayAdapter中的值的时候,你需要通知其绑定的控件做更新,就要使用notifyDataSetChanged()这个函数了。

比如:


Android组件化开发(七)--从零开始教你分析项目需求并实现 前面几篇文章我们封装了几个组件化功能组件:包括:**网络请求组件,图片加载请求组件,应用保活组件,音乐播放组件封装。** 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
Android组件化开发(六)-- 短视频播放组件封装 前面几篇文章我们封装了几个组件化功能组件: 包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`,`音乐播放组件封装`。 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
Android组件化开发(五)--完整版音乐播放组件的封装 前面几篇系列文章我们讲解了`组件化开发`中几个常用功能组件的开发,包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`。今天我们来封装一个`音乐播放组件`。
Android组件化开发(四)--进程保活组件的封装 前面文章我们封装了网络请求组件`lib_nework`和图片加载组件`lib_image_loader`,今天我们来封装一个进程保活的组件`lib_pull_alive`
Android组件化开发(二)--网络请求组件封装 前面一篇文章我们讲解了`maven私服`的搭建,maven私服在`组件化框架`中有一个很重要的地位就是可以将我们的`lib`库放到局域网中,供公司其他开发者使用,实现类库的分享。 下面是这个系列准备实现的一个`组件化实战项目框架`: