Android程序ToDoList
本文的目的是创建一个简单的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 layoutlayout定义了一个可视化的用户界面,我们可以使用两种方法来定义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 ArrayAdapterlayout除了可以通过xml在onCreate的时候绘制,也可以在运行中不断增加,即内容是动态的。我们可以使用AdapterView来进行增加。具体就是将一个ArrayAdapter绑定到一个AdapterView上。比如ListView。
大概的代码如下:
然后当你修改了ArrayAdapter中的值的时候,你需要通知其绑定的控件做更新,就要使用notifyDataSetChanged()这个函数了。
比如:
Android组件化开发(七)--从零开始教你分析项目需求并实现 前面几篇文章我们封装了几个组件化功能组件:包括:**网络请求组件,图片加载请求组件,应用保活组件,音乐播放组件封装。** 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
Android组件化开发(六)-- 短视频播放组件封装 前面几篇文章我们封装了几个组件化功能组件: 包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`,`音乐播放组件封装`。 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
Android组件化开发(五)--完整版音乐播放组件的封装 前面几篇系列文章我们讲解了`组件化开发`中几个常用功能组件的开发,包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`。今天我们来封装一个`音乐播放组件`。
Android组件化开发(四)--进程保活组件的封装 前面文章我们封装了网络请求组件`lib_nework`和图片加载组件`lib_image_loader`,今天我们来封装一个进程保活的组件`lib_pull_alive`
Android组件化开发(二)--网络请求组件封装 前面一篇文章我们讲解了`maven私服`的搭建,maven私服在`组件化框架`中有一个很重要的地位就是可以将我们的`lib`库放到局域网中,供公司其他开发者使用,实现类库的分享。 下面是这个系列准备实现的一个`组件化实战项目框架`:
相关文章
- android scaleanimation动画,【Android动画九章】-RotateAnimation(旋转动画)和ScaleAnimation(尺寸动画)…[通俗易懂]
- Android telephony_android获取真实时间
- android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法
- android开机动画多长时间_Android开机动画及黑屏[通俗易懂]
- Android点击button弹出ProgressDialog,响应结束后ProgressDialog消失
- android 验证码短信验证码,Android短信验证码倒计时验证的2种常用方式
- robotium android,Robotium 测试Android apk安装包
- Android中mesure过程详解 –[通俗易懂]
- android系统中toast是什么_Android个人资料简单布局
- Android SDK Tools_android.intent.category.DEFAULT
- EC200&UC200_Linux&Android_USB驱动移植说明
- Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.C
- PHP获取客户端机型,可区分windows、ios、android
- 【Android 安全】DEX 加密 ( Application 替换 | 加密不侵入原则 | 替换 ActivityThread 的 mInitialApplication 成员 )
- 【Android 安装包优化】Android 应用中 7zr 可执行程序准备 ( Android Studio 导入可执行 7zr 程序 | 从 Assets 资源文件拷贝 7zr 到内置存储 )
- 【Android 逆向】x86 汇编 ( cmp 比较指令 | test 比较指令 )
- 【Android 逆向】Android 进程注入工具开发 ( 调试进程中寄存器的作用 | 通过 EIP 寄存器控制程序运行 | EIP 寄存器的存档与恢复 )
- 【Android NDK 开发】CMake 中查找链接 Android 自带动态库位置说明 ( ndk-bundleplatformsandroid-29arch-armusrlib )
- Android实现微信自动抢红包的程序详解手机开发
- Android 写一个属于自己的富文本编辑器详解手机开发
- Android源码学习之工厂方法模式应用及优势介绍
- android中ProgressDialog与ProgressBar的使用详解
- android工程下不能运行javamain程序的解决方法
- Android中生成、使用Json数据实例