Android快速入门的第二个App
直接进入第二个APP是因为第一个app已经被Helloworld抢占了。如果是纯种新手请立即去创建一个Helloworld然后熟悉一下基本操作和文件结构。
本文我们将编写一个比较简单但是非常实用的App——备忘录。
- 我们在这里将会学习,App最最基础的一部分知识。
在此之前,我们先看看做这个APP需要自己要做成什么样子的APP。
大致如下:1
户可以1.查看 2.添加 3.移除 清单上面的选项。
A. 标题
B. 一个list(可以垂直下滑,按住可以删除item)
C. 用TextView和Button进行增加item
好,开始编写了。
1. 新建安卓应用,输入名称,然后记得选择最小版本4.0版本,theme可以选择,holo lightwith actionBar。下一步;
图标随你,下一步
创建BlankActivity。下一步;
Activity名称命名为ToDoActivity。下一步,完成便好。
插播一条Tip:
在Android框架里:
一个Activity = 一个UI的屏幕 你也可以理解成一张网页
res/layout = 布局,也就是看起来是什么样子
Src/*.java = 行为
- 先把长什么样子梳理好,然后将各个组件赋予功能
把视图拖到布局中
○ Composite → ListView
○ Text Fields → PlainText
○ Form Widgets → Button
● 双击Listview进入布局文件中修改
○ ListView → height 380dp
● 修改 ID
○ ListView = lvItems
○ EditText = etNewItem
○ Button = btnAddItem
修改后的xml文件如下。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TodoActivity" >
<Button
android:id="@+id/btnAddItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="addTodoItem"
android:text="Add" />
<EditText
android:id="@+id/edNewItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/lvItems"
android:layout_alignParentBottom="true"
android:ems="10"
android:hint="输入任务" >
<requestFocus />
</EditText>
<ListView
android:id="@+id/lvItems"
android:layout_width="match_parent"
android:layout_height="380dp"
android:layout_above="@+id/btnAddItem"
android:layout_alignRight="@+id/btnAddItem" >
</ListView>
</RelativeLayout><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TodoActivity" >
<Button
android:id="@+id/btnAddItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="addTodoItem"
android:text="Add" />
<EditText
android:id="@+id/edNewItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/lvItems"
android:layout_alignParentBottom="true"
android:ems="10"
android:hint="输入任务" >
<requestFocus />
</EditText>
<ListView
android:id="@+id/lvItems"
android:layout_width="match_parent"
android:layout_height="380dp"
android:layout_above="@+id/btnAddItem"
android:layout_alignRight="@+id/btnAddItem" >
</ListView>
</RelativeLayout>
public class TodoActivity extends Activity {
ArrayList<String> items;
ArrayAdapter<String> itemsAdapter;
ListView lvItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_todo);
lvItems = (ListView) findViewById(R.id.lvItems);
items = new ArrayList<String>();
itemsAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, items);
lvItems.setAdapter(itemsAdapter);
items.add("1st")
}
-
现在可以运行了。此时只是可以显示出我们的1st但是没有办法添加任何东西。
我们接下来就要完成这个任务,在layout 中 Button添加onclick属性 -
-
接着我们添加移除功能——长按移除。
接着需要一个jar包,到这里下载 http://download.csdn.net/detail/ctt594088/7683963
然后将这个包拖入libs文件夹中。
-
接着在TodoActivity.java中编写 下面两个函数
-
在初始化的地方调用 readItems();
在添加与删除之后调用 writeItems();如下
源码下载地址:
http://download.csdn.net/detail/ctt594088/7684281