Xamarin.Android 记事本(一)

导读

1.视图及数据库的创建

2.listview数据绑定

3.listview的点击事件

正文

如何创建一个listview,大家可以看这里,基本流程操作是一模一样的,我就不多说了,然后就是新建一个数据库,代码如下

class Sqlite : SQLiteOpenHelper
    {
        public Sqlite(Context context)
            : base(context, "notebooksql.db", null, 1)
        { }

        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。

效果图如下

时间: 2024-08-30 03:35:30

Xamarin.Android 记事本(一)的相关文章

Xamarin Android 记事本(三)删改

这篇我就不做太多的说明了,数据操作之前也都举过例子了,这里就直接贴出删除和修改的代码. public override bool OnOptionsItemSelected(IMenuItem item) { switch (item.ItemId) { case 1: { Android.App.AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog ad = builder.Create(); ad.S

[Xamarin.Android] 发布NuGet套件

[Xamarin.Android] 发布NuGet套件 前言 在Xamarin中,可以将自己开发的项目包装成为NuGet套件发布至NuGet Server,来提供其他开发人员使用.本篇介绍如何封装并发布NuGet套件,让开发人员能自行建立NuGet Server中的NuGet套件,为自己留个纪录也希望能帮助到有需要的开发人员. 封装 首先将要封装成NuGet套件的程序代码,建立为Class Library (Android)类型的项目.在项目完成编译之后取得产出的dll档,这个dll档就是要封装

Xamarin.Android之MvvmCross

简介 相信做了开发有一定经验的人都知道IOC的存在,而Xamarin.Android中还没有IOC的存在.特别是在Xamarin.Android下,如果仅仅只是显示简单的数据,就需要通过很多的FindViewById来查找组件,并且还要负责呈现,今天我们将通过学习MVVMCross组件来简化这些操作,达到PCL部分的最大化,下面我们以一个官方的DEMO来学习. 题外话: 由于公司的发展需要,需要招聘Xamarin方面的人才,如果你对Xamarin感兴趣的可以直接联系楼主,现在我们要召集8个人进行

Xamarin.Android绑定库分享

使用Xamarin.Android时,会用到各种第三方库,而这些库基本上是java编写的,要在Xamarin.Android中使用这些库,就需要通过Android Binding Project绑定对应的java库,然后在C#中使用.绑定时,可能需要编写相关的转换规则或者修改对应的java源代码,遇到问题时,可以到Xamarin的官网查看,也可以Google. Xamarin.Android绑定参考文档地址: http://developer.xamarin.com/guides/android

跨过几个坑,终于完成了我的第一个Xamarin Android App!

时间过得真快,距离上次发随笔又是一年多.作为上次发的我的第一个WP8.1应用总结的后继,这次同样的主要功能,改为实现安卓版APP.前几个月巨硬收购Xamarin,把Xamarin集成到VS里了,大大方便了我广大.net码农.由于年初脱了WP的坑,换了个安卓低端机,想着什么时候装Xamarin开发个App玩玩. 上个月笔记本100G的C盘莫名其妙快满了,趁着重装系统的机会,安装了VS2015 with sp3,下载开发Android App需要的各种东东.这里要感谢[C#]VS2015开发环境的安

Xamarin.Android开发实践(十七)

Xamarin.Android之定位 一.前言 打开我们手中的应用,可以发现越来越多的应用使用了定位,从而使我们的生活更加方便,所以本章我们将学习如何在Xamarin中进行定位的开发. 二.准备工作 因为我们的虚拟机是运行在电脑本地的,自然就没法进行定位了,但是我们可以借助DDMS这个工具帮助我们去调试. 首先要确定你的Android SDK所在的目录,读者可以通过以下方式找到: 工具->选项 然后读者打开该文件夹下的tools文件夹,我们就可以看到里面有很多以bat结果的文件,这个时候我们打开

Xamarin.Android中使用ResideMenu实现侧滑菜单

上次使用Xamarin.Android实现了一个比较常用的功能PullToRefresh,详情见:Xamarin. Android实现下拉刷新功能 这次将实现另外一个手机App中比较常用的功能:侧滑菜单.通过搜索,发现有很多侧滑菜单,有仿手机QQ的侧滑菜单,有折叠的侧滑菜单,有SlidingMenu等,不过我还是比较喜欢 ResideMenu实现的效果,所以想通过Xamarin.Android的绑定实现该效果.这次实现该菜单遇到的问题比较多,花的时间也较多,花了三四个晚上才解决所有的问题.下面是

xamarin.android 绑定百度地图SDK遇到的问题

在 xamarin.android 绑定项目中,绑定 百度地图的LBS地图SDK,参考 https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/ 设置好后,编译,  然后提示错误,其中一个错误 是 意思就是说转换 出来的CS 代码中,有重复的 类型. 理论上来说,转换的 CS 代码 是不应该出现重复代码的,有重复,意味这 jar有重复代码. 然后查看 百度地

张高兴的 Xamarin.Android 学习笔记:(一)环境配置

最近在自学 Xamarin 和 Android ,同时发现国内在做 Xamarin 的不多.我在自学中间遇到了很多问题,而且百度到的很多教程也有些过时,现在打算写点东西稍微总结下,顺便帮后人指指路了.由于手头没啥中文资料,我也是自己摸索出来的,而且我对 Android 也只是处于最开始的了解阶段(学习笔记嘛,别学边写嘛╮(╯▽╰)╭),难免会出现错误,有问题大家共同讨论(毕竟 .Net 就要靠我们腾达了). 以 Visual Studio 2015 Community 为例. 1. 安装 Xam