这几天的便签开发,首先遇到的问题就是数据库操作问题。现在已经可以读写数据库了,并能将数据放在正确的位置显示。

专门建立了一个数据库操作的包,命名为“...database”。新建一个类继承自SQLiteOpenHelper,有一个参数类型为Context的构造方法,只有一行语句来生成对象:

super(ctx, DATABASE_NAME, null, DATABASE_VERSION);

重写了两个方法,一个是 onCreate(SQLiteDatabase db) ,执行数据库的创建语句:

db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + TIME + " INTEGER, "
+ DETAIL + " TEXT NOT NULL);");

另外一个是 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) ,升级数据库,两行语句:

db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);

到此为止,数据库创建的类完成。

然后是数据绑定到listview,这一部分在MainActivity中完成。

getNotes()方法从数据库中获取数据集:

return managedQuery(CONTENT_URI, FROM, null, null, ORDER_BY);

showNotes(Cursor cursor)方法进行数据绑定:

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.item, cursor, FROM, TO);
setListAdapter(adapter);

打开一条便签后应该是要将相关的数据显示在新打开的NotesDetailActivity中的,也就是要实现在两个Activity中进行数据传递。我能想到的办法就是将在List中被点击的这条便签的数据保存下来,传递到新的NotesDetailActivity中。

给ListView中的Item添加点击事件的方法是:

onListItemClick(ListView l, View v, int position, long id)。

这个方法有四个参数,官方文档解释如下:

l The ListView where the click happened

v The view that was clicked within the ListView

position The position of the view in the list

id The row id of the item that was clicked

首先想到的是“怎么从这个被点击的Item取到数据库中的相应数据”,以此入手开始学习解决这个问题。

首先是获取被点击的Item:

View view = l.getChildAt(position);

第二步是从中取出绑定的数据:

TextView textView = (TextView) view.findViewById(R.id.detail);
detail = textView.getText().toString();

第三步是通过Intent将数据传递给另外一个Activity:

这一步分为两小步,可以理解为一是发送消息:

intent.putExtra("detail", detail);

二是接收消息(在另一个Activity中):

Intent intent = this.getIntent();
String detail = intent.getStringExtra("detail");

这里就是利用了Intent传递数据的机制。

Android再学习-便签开发小结-20141119的更多相关文章

  1. Android:日常学习笔记(8)———开发微信聊天界面

    Android:日常学习笔记(8)———开发微信聊天界面 只做Nine-Patch图片 Nine-Patch是一种被特殊处理过的PNG图片,能够指定哪些区域可以被拉升,哪些区域不可以.

  2. Android我的便签-----SQLite的使用方法

    在Android开发中也有数据库的存在,最近有空,把以前写的一个便签来讲述一下Android中的数据库,跟大家分享分享的,希望对大家有所帮助. SQLite简介 SQLite,是一款轻量级的关系型数据 ...

  3. Android再学习-20141023-Intent-Thread

    20141023-Android再学习 Intent对象的基本概念 Intent是Android应用程序组件之一 Intent对象在Android系统中表示一种意图 Intent当中最重要的内容是ac ...

  4. Android再学习-20141022-Activity的生命周期

    20141022-Android再学习 如何在一个应用程序当中定义多个Activity 定义一个类,继承Activity 在该类当中,复写Activity当中的onCreate方法.onCreate( ...

  5. Android再学习-20141018-布局-进度条

    20141018-Android再学习 对齐至控件的基准线 为了保证印刷字母的整齐而划定的线(四线三格的第三条线). android:layout_alignBaseline 与父控件的四个边缘对齐( ...

  6. Android再学习

    1.点击事件的几种实现方式 Button Btn1 = (Button)findViewById(R.id.button1);//获取按钮资源 Btn1.setOnClickListener(new ...

  7. Android再学习-20141111-Android应用的七大件

    Android应用的七大件 应用程序的四大组件: Android的四大组件,使用时需要在程序中注册. Activity: Activity是应用程序的一个界面,可以通过这个界面查看联系人.打电话或者玩 ...

  8. Android再学习-20140928-布局

    关于布局中的单位 PX是像素,这个没有问题.另外还有两个单位,一个是dp,这个是个相对单位,在任何分辨率的屏幕上显示效果是一样的,所以用dp来进行控件的大小设置.另外,字体的设置推荐用sp,这样字体可 ...

  9. android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)

    如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http:// ...

随机推荐

  1. C C++ Java中的static

    [原文出处]: http://hi.baidu.com/aezealer/blog/item/fb8fdd438113c8169213c6c5.h tml 术语“static”有段不寻常的历史.起初, ...

  2. 转:Node.js软肋之CPU密集型任务

    文章来自于:http://www.infoq.com/cn/articles/nodejs-weakness-cpu-intensive-tasks Node.js在官网上是这样定义的:“一个搭建在C ...

  3. win7 snmp

    http://blog.chinaunix.net/uid-21857285-id-3340206.html

  4. Oracle12c中新建用户

    运行SQLPlus,以  sysdba打开 新建用户需要 create user C##[username] identified by [password] grant dba to C##[use ...

  5. BZOJ3392: [Usaco2005 Feb]Part Acquisition 交易

    3392: [Usaco2005 Feb]Part Acquisition 交易 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 26  Solved:  ...

  6. Android新浪微博客户端(一)——主框架搭建

    原文出自:方杰| http://fangjie.info/?p=62 转载请注明出处 提前声明的是,我是按照Ivan的这套教程学下来的. 首先,对于任何应用我们都需要建立一套消息处理机制,就是当用户在 ...

  7. HDU - 5156 Harry and Christmas tree

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=5156 题意 : 给一颗编号为1-n的以1为根的树, 已知有m个颜色的礼物分布在某些节点上(同一节点 ...

  8. [LeetCode] Search in Rotated Sorted Array I (33) && II (81) 解题思路

    33. Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to you be ...

  9. HDU-1869六度分离

    Problem Description 1967 年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不 ...

  10. Google Code Jam 2012 round 2 problem A: Swinging Wild

    题目连接 题意:你要从起点经过绳子荡到终点,每次你必须抓住另一个绳子,在空中不能向下爬.问是否有合理的方案 做法: 直接模拟 #include <iostream> #include &l ...