Xamarin.Android 记事本(一)
导读
1.视图及数据库的创建
2.listview数据绑定
3.listview的点击事件
正文
如何创建一个listview,大家可以看这里,基本流程操作是一模一样的,我就不多说了,然后就是新建一个数据库,代码如下
class Sqlite : SQLiteOpenHelper
{
public Sqlite(Context context)
: base(context, "notebooksql.db", null, )
{ } public override void OnCreate(SQLiteDatabase db)
{
db.ExecSQL("CREATE TABLE NoteBooksql ( _id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,title TEXT NOT NULL,context TEXT NOT NULL,time TIME NOT NULL)");
db.ExecSQL("INSERT INTO NoteBooksql (title,context,time)values('这是第一篇笔记','笔记笔记第一篇笔记笔记笔记第一篇笔记笔记笔记第一篇笔记笔记笔记第一篇笔记','2015-3-15')");
db.ExecSQL("INSERT INTO NoteBooksql (title,context,time)values('这是第二篇笔记','笔记笔记第二篇笔记笔记笔记第二篇笔记笔记笔记第二篇笔记笔记笔记第二篇笔记','2015-3-15')");
} public override void OnUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.ExecSQL("DROP TABLE IF EXISTS NoteBooksql");
OnCreate(db);
}
}
这里设置了一个自增主键和三个字段,然后我添加了两条默认数据。
数据库创建完成之后我们打开Activity1,继承listactivity,给listview进行绑定数据
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
vdb = new Sqlite(this);
cursor = vdb.ReadableDatabase.RawQuery("SELECT * FROM NoteBooksql", null);
StartManagingCursor(cursor);
string[] title = new string[] { "title", "time" };
int[] time = new int[] { Resource.Id.textView1, Resource.Id.textView2 };
ListAdapter = new SimpleCursorAdapter(this, Resource.Layout.Item, cursor,
title, time);
}
效果图如上
有了数据的listview却不能操作那边是毫无作用,我们可以重新OnListItemClick方法给listview添加点击事件
protected override void OnListItemClick(ListView l, View v, int position, long id)
{
string title= v.FindViewById<TextView>(Resource.Id.textView1).Text.ToString();
string time = v.FindViewById<TextView>(Resource.Id.textView2).Text.ToString();
vdb = new Sqlite(this);
cursor = vdb.ReadableDatabase.RawQuery("SELECT * FROM NoteBooksql where title= '" + title+ "' and time = '" + time + "'", null);
cursor.MoveToFirst();
string Nid = cursor.GetString(cursor.GetColumnIndex("_id"));
var intent = new Intent(this, typeof(Note));
intent.PutExtra("id", Nid);
StartActivity(intent);
this.Finish();
}
这里为了图方便,我直接根据title和time获取id。
效果图如下
Xamarin.Android 记事本(一)的更多相关文章
- Xamarin.Android 记事本(二)自定义AlertDialog
导读 1.自定义一个AlertDialog 2.添加一条数据 正文 记事本应当有一个添加功能,这里我打算在右上角放一个item,然后点击这个item弹出一个对话框,输入名称,点击确定跳转到另一个act ...
- Xamarin Android 记事本(三)删改
这篇我就不做太多的说明了,数据操作之前也都举过例子了,这里就直接贴出删除和修改的代码. public override bool OnOptionsItemSelected(IMenuItem ite ...
- Xamarin.Android之MvvmCross
欢迎大家加入以下开源社区 Xamarin-Cn:https://github.com/Xamarin-Cn Mvvmcross-Cn:https://github.com/Mvvmcross-Cn ...
- [Xamarin.Android] 发布NuGet套件
[Xamarin.Android] 发布NuGet套件 前言 在Xamarin中,可以将自己开发的项目包装成为NuGet套件发布至NuGet Server,来提供其他开发人员使用.本篇介绍如何封装并发 ...
- XAMARIN.ANDROID SIGNALR 实时消息接收发送示例
SignalR 是一个开发实时 Web 应用的 .NET 类库,使用 SignalR 可以很容易的构建基于 ASP.NET 的实时 Web 应用.SignalR 支持多种服务器和客户端,可以 Host ...
- XAMARIN ANDROID 二维码扫描示例
现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile 做一个简单的 Android 条码扫描示 ...
- 我正在使用Xamarin的跨平台框架—Xamarin.Android回忆录
一.缘起 在自己给别家公司做兼职外包的时候,已经明确知道外包的活不是那么好干的,一般在经历了初期热血澎湃的激情后,逐渐冷淡,愤怒,再冷淡,再愤怒…,听上去好像高潮迭起,但令人尴尬的是,这高潮迭起我们都 ...
- APP并非一个人在战斗,还有API—Xamarin.Android回忆录
前言 一般来说,一个客户端APP并非独立存在的,很多时候需要与服务器交互.大体可分为两方面的数据,常规字符串数据和文件数据,因为这两种数据很可能传输方式不一样,比如字符串之类的数据,使用HTTP协议, ...
- Xamarin.Android通知详解
一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...
随机推荐
- 算法复习——费用流模板(poj2135)
题目: Farm Tour Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16898 Accepted: 6543 De ...
- spring之scope作用域
spring中,bean的作用域有五种类型:默认是单例模式, singleton prototype request session ...
- bzoj 2017 [Usaco2009 Nov]硬币游戏 动态规划
[Usaco2009 Nov]硬币游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 431 Solved: 240[Submit][Status] ...
- LightOJ1125 Divisible Group Sums
Divisible Group Sums Given a list of N numbers you will be allowed to choose any M of them. So you c ...
- Codevs 3111 CYD啃骨头
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description: CYD吃饭时有N个骨头可以啃,但CYD要午睡了,所以他只有M分钟吃饭,已知 ...
- hdu 4951
Multiplication table Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- POJ 2125 最小点权覆盖集(输出方案)
题意:给一个图(有自回路,重边),要去掉所有边,规则:对某个点,可以有2种操作:去掉进入该点 的所有边,也可以去掉出该点所有边,(第一种代价为w+,第二种代价为w-).求最小代价去除所有边. 己思:点 ...
- HUNAN 11562 The Triangle Division of the Convex Polygon(大卡特兰数)
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11562&courseid=0 求n边形分解成三角形的 ...
- Netty构建游戏服务器(二)--Hello World
一,准备工作 1,netty-all-4.1.5.Final.jar(官网下载) 2,eclipse 二,步骤概要 1,服务器开发 (1),创建Server类 该类是程序的主入口,有main方法,服务 ...
- 什么是 Linux
什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络 ...