package com.example.notebook; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class ToDoDB extends SQLiteOpenHelper { private final static String DATABASE_NAME = "todo_db"; private final static int DATABASE_VERSION = 1; private final static String TABLE_NAME = "todo_table"; public final static String FIELD_id = "_id"; public final static String FIELD_TEXT = "todo_text"; public ToDoDB(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String sql = "CREATE TABLE " + TABLE_NAME + " (" + FIELD_id + " INTEGER primary key autoincrement, " + " " + FIELD_TEXT + " text)"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub String sql = "DROP TABLE IF EXISTS " + TABLE_NAME; db.execSQL(sql); onCreate(db); } public Cursor select() { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null); return cursor; } public long insert(String text) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put(FIELD_TEXT, text); long row = db.insert(TABLE_NAME, null, cv); return row; } public void delete(int id) { SQLiteDatabase db = this.getWritableDatabase(); String where = FIELD_id + " = ?"; String[] whereValue = { Integer.toString(id) }; db.delete(TABLE_NAME, where, whereValue); } public void update(int id, String text) { SQLiteDatabase db = this.getWritableDatabase(); String where = FIELD_id + " = ?"; String[] whereValue = { Integer.toString(id) }; ContentValues cv = new ContentValues(); cv.put(FIELD_TEXT, text); db.update(TABLE_NAME, cv, where, whereValue); } }
package com.example.notebook; import cn.waps.AdView; import cn.waps.AppConnect; import cn.waps.MiniAdView; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; import android.media.MediaPlayer; public class MainActivity extends Activity { private ToDoDB myToDoDB; private Cursor myCursor; private ListView myListView; private EditText myEditText; private MediaPlayer sound,sound1; private TextView showmore; private int _id; protected final static int MENU_ADD = Menu.FIRST; protected final static int MENU_EDIT = Menu.FIRST + 1; protected final static int MENU_DELETE = Menu.FIRST + 2; @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub super.onOptionsItemSelected(item); switch(item.getItemId()){ case MENU_ADD: this.addTodo(); break; case MENU_EDIT: this.editTodo(); break; case MENU_DELETE: this.deleteTodo(); break; } return super.onOptionsItemSelected(item); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.qq); setTitle("微型记事本"); //06e8abfabdbcb8f90a16d24e54fe5653 //AppConnect.getInstance("06e8abfabdbcb8f90a16d24e54fe5653", "mmw", this); AppConnect.getInstance(this); AppConnect.getInstance(this).setCrashReport(false); myListView = (ListView) this.findViewById(R.id.myListView); myEditText = (EditText) this.findViewById(R.id.myEditText); showmore = (TextView)findViewById(R.id.showmore); // 初始化自定义广告数据 AppConnect.getInstance(this).initAdInfo(); // 初始化插屏广告数据 AppConnect.getInstance(this).initPopAd(this); // 迷你广告调用方式 //定时的更新,点击后进入链接页面 送金币哦 // AppConnect.getInstance(this).setAdBackColor(Color.argb(50, 120, 240, 120));//设置迷你广告背景颜色 // AppConnect.getInstance(this).setAdForeColor(Color.YELLOW);//设置迷你广告文字颜色 LinearLayout miniLayout = (LinearLayout) findViewById(R.id.miniAdLinearLayout); new MiniAdView(this, miniLayout).DisplayAd(15);// 10秒刷新一次 LinearLayout miniLayout2 = (LinearLayout) findViewById(R.id.miniAdLinearLayout2); new MiniAdView(this, miniLayout2).DisplayAd(15);// 10秒刷新一次 // 互动广告调用方式 在窗口固定位置显示一条广告 点击然后就直接下载了 LinearLayout container = (LinearLayout) findViewById(R.id.AdLinearLayout); new AdView(this, container).DisplayAd(); //显示插屏广告 窗口一样跳出来的那种 有个叉叉点了就关闭了 有时候第一次打开没有 第二次打开才会出现 //也许是还没有下载 到缓存中,没有准备好 //判断插屏广告是否已初始化完成,用于确定是否能成功调用插屏广告 boolean hasPopAd = AppConnect.getInstance(this).hasPopAd(this); if(hasPopAd){ AppConnect.getInstance(this).showPopAd(this); //根据指定的theme样式展示插屏广告,theme主要为系统样式id //AppConnect.getInstance(this).showPopAd(this, android.R.style.Theme_Translucent); } sound = new MediaPlayer(); sound = MediaPlayer.create(this,R.raw.welcome111); sound1 = new MediaPlayer(); sound1 = MediaPlayer.create(this,R.raw.welcome121); myToDoDB = new ToDoDB(this); sound.start(); /*取得DataBase里的数据*/ myCursor = myToDoDB.select(); /* new SimpleCursorAdapter,并传入myCursor.显示的字段为todo_text */ SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.mylist, myCursor, new String[] { ToDoDB.FIELD_TEXT }, new int[] { R.id.myTextView1 }); myListView.setAdapter(adapter); //显示推荐列表 showmore.setOnClickListener(new TextView.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //显示推荐列表(综合) AppConnect.getInstance(MainActivity.this).showOffers(MainActivity.this); } }); /*myListViewOnItemClickListener */ myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { /*将myCursor移动到单机的值*/ myCursor.moveToPosition(arg2); /* 获取字段_id的值 */ _id = myCursor.getInt(0); /*取得字段todo_text的值*/ myEditText.setText(myCursor.getString(1)); } }); myListView .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { /* getSelectedItem所取得的是SQLiteCursor */ SQLiteCursor sc = (SQLiteCursor) arg0.getSelectedItem(); _id = sc.getInt(0); myEditText.setText(sc.getString(1)); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. //getMenuInflater().inflate(R.menu.main, menu); super.onCreateOptionsMenu(menu); /* 添加三个 MENU */ menu.add(Menu.NONE, MENU_ADD, 0, R.string.strAddButton); menu.add(Menu.NONE, MENU_EDIT, 0, R.string.strEditButton); menu.add(Menu.NONE, MENU_DELETE, 0, R.string.strDeleteButton); return true; } public void addTodo(){ if (myEditText.getText().toString().equals("")) return; /*将数据添加到数据库*/ myToDoDB.insert(myEditText.getText().toString()); /* 重新查询 */ myCursor.requery(); /*刷新myListView */ myListView.invalidateViews(); myEditText.setText(""); _id = 0; } public void deleteTodo(){ if(_id == 0)return; myToDoDB.delete(_id); myCursor.requery(); myListView.invalidateViews(); myEditText.setText(""); _id=0; } public void editTodo(){ if (myEditText.getText().toString().equals("")) return; /*将数据添加到数据库*/ myToDoDB.update(_id,myEditText.getText().toString()); /* 重新查询 */ myCursor.requery(); /*刷新myListView */ myListView.invalidateViews(); myEditText.setText(""); _id = 0; } @Override protected void onDestroy() { // TODO Auto-generated method stub sound1.start(); super.onDestroy(); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/bg"> <LinearLayout android:id="@+id/miniAdLinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> <EditText android:id="@+id/myEditText" android:layout_width="match_parent" android:layout_height="56dp" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> <LinearLayout android:id="@+id/miniAdLinearLayout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> <ListView android:id="@+id/myListView" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> <LinearLayout android:id="@+id/AdLinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> <TextView android:id="@+id/showmore" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="更多应用下载~~" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <CheckedTextView android:id="@+id/myTextView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text=" " /> </LinearLayout>
相关推荐
这个压缩包文件"Android源码——数据库SQLite.zip"可能包含了关于Android中SQLite数据库的源码分析、使用示例以及相关的图像资源,如1-120912223R80-L.png,可能用于解释或展示SQLite在Android中的工作原理。...
在本实验“安卓开发实验6——SQLite和SQLiteDatabase应用”中,我们将深入学习如何在Android应用程序中集成SQLite数据库来存储和检索数据,特别是新闻信息。我们将使用ListView组件来动态地展示这些新闻内容,提供...
具体使用可参考文章:http://t.csdn.cn/n54CZ
这份"Android源码——SqliteManager 源码.zip"包含了一些关于SqliteManager的源代码分析以及可能的示例图片,帮助开发者深入理解其工作原理。 首先,我们来看一下SQLiteManager的基本架构。通常,它会包含以下几个...
《深入解析Android SqliteManager源码》 在Android开发中,SQLite数据库是广泛使用的轻量级数据库,它为应用程序提供了存储和检索结构化数据的能力。SQLiteManager是Android系统中用于管理SQLite数据库的一个重要...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库系统,适用于移动设备。SQLite被集成到Android系统中,允许开发者在应用程序中存储和管理数据。本压缩包包含的源码和图片资源详细讲解了...
在安卓(Android)平台上,SQLite是一个轻量级的数据库系统,用于存储应用程序的数据。它无需服务器进程,且完全支持SQL标准,使得开发者可以方便地在Android应用中进行数据管理。本压缩包包含的源码详细展示了...
《iOS应用源码——SQLite深度解析》 SQLite是一款轻量级的、开源的、自包含的、无服务器的、零配置的SQL数据库引擎,广泛应用于移动设备和嵌入式系统中,包括iOS应用开发。在iOS应用源码中,SQLite扮演着数据存储和...
本资源“安卓Android源码——sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查.rar”提供了一个实用的示例,帮助开发者深入理解SQLite在Android平台上的应用。 首先,我们来详细讲解...
在这个压缩包中,我们重点探讨了如何在Android平台上进行SQLite数据库的基本操作,主要包括数据库的创建、版本升级、表格创建以及数据的增删改查。 首先,数据库的创建是通过SQLiteOpenHelper类来实现的。这个类...
这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。SQLite具有高效、可靠且易于集成的特点,使得它成为Android应用数据...
【标题】"安卓Android源码——数据库SQLite.zip" 提供的内容主要聚焦于Android操作系统中用于数据存储的SQLite数据库。SQLite是一个轻量级的关系型数据库,它被广泛集成在移动设备和嵌入式系统中,包括Android。这个...
本文将深入探讨一个特别针对学生信息管理的系统——“Android基于SQLite的学生信息管理系统”。该系统是人工智能技术在项目实践中的具体体现,通过Java编程语言实现了对SQLite数据库的高效利用,为教育领域的数据...
当遇到svn: E155009: Failed to run the WC DB work queue associated with错误时需要用到的SQLite数据库打开工具。此工具是2018.08.15下载的官网最新版本。
Android+SQlite 简单的《学生信息管理系统》(实现基本增删改查) 此代码中还有与其相对应的apk文件(在SIMS/bin目录中),大家可先行放手机上看一下效果。 希望对初学者有一定的帮助。(本人自己编写)
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储应用程序中的数据。本文将深入解析Android源码中连接SQLite数据库的相关知识点。 首先,要...
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个...