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 ...
随机推荐
- jQuery获得页面元素的绝对/相对位置
获取页面某一元素的绝对X,Y坐标,可以用offset()方法: var X = $('#DivID').offset().top; var Y = $('#DivID').offset().left; ...
- BZOJ 1016 [JSOI2008]最小生成树计数 ——Matrix-Tree定理
考虑从小往大加边,然后把所有联通块的生成树个数计算出来. 然后把他们缩成一个点,继续添加下一组. 最后乘法原理即可. 写起来很恶心 #include <queue> #include &l ...
- BZOJ 3527 [Zjoi2014]力 ——FFT
[题目分析] FFT,构造数列进行卷积,挺裸的一道题目诶. 还是写起来并不顺手,再练. [代码] #include <cmath> #include <cstdio> #inc ...
- 史上最详细的linux关于connect: network is unreachable 问题的解决方案
1.虚拟机常用连接网络方式有两种:桥接和NAT. 使用桥接模式:则保证虚拟机的网段与物理机的网段保持一致.如下: 虚拟机网卡配置: 物理机使用WiFi接入网络(我用的是WiFi,你们可能用的是有线道理 ...
- 数字串(codevs 1394)
题目描述 Description 给你一个长度为n的数字串,数字串里会包含1-m这些数字.如果连续的一段数字子串包含了1-m这些数字,则称这个数字字串为NUM串.你的任务是求出长度最短的NUM串是什么 ...
- angular中多控制器的依赖注入写法
直接看图,每个控制器有自己的名称,第二个参数中有需要注入的依赖对象,最后是我们的自定义函数,这样我们可以以模块化的方式进行书写.
- Java面试题集(五)
三.开源框架 什么是mybaties? Mybaties是支持普通sql查询,存储过程和高级映射的优秀持久层框架.Mybaties消除了几乎所有的jdbc代码和参数的手工设置以及结果集的检索.Myba ...
- msp430项目编程36
msp430中项目---sd接口编程36 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结
- Python入门--14--字典
基础知识: 0.python对值没有要求,但对key有些要求,必须是非变量(变量,列表,字典) 1.在列表中使用成员资格操作符,和在字典中使用成员资格操作符,后者会更快 2.fromkeys这个函数会 ...
- php——解决中文乱码问题
一般写代码的时候遇到中文乱码的问题还是比较烦躁的,下面是我总结的几种中文乱码的解决办法: 1:php在头部设置header设置编码方式: header('Content-type:text/html; ...