`

Android——SQLite笔记本

 
阅读更多
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);
				
			}

		     
		    });
	    
	    
	    
	    /*myListViewOnItemClickListener */
	    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.zip"可能包含了关于Android中SQLite数据库的源码分析、使用示例以及相关的图像资源,如1-120912223R80-L.png,可能用于解释或展示SQLite在Android中的工作原理。...

    安卓开发实验6——SQLite和SQLiteDatabase应用

    在本实验“安卓开发实验6——SQLite和SQLiteDatabase应用”中,我们将深入学习如何在Android应用程序中集成SQLite数据库来存储和检索数据,特别是新闻信息。我们将使用ListView组件来动态地展示这些新闻内容,提供...

    【Android】Room —— SQLite的替代品Demo

    具体使用可参考文章:http://t.csdn.cn/n54CZ

    Android源码——SqliteManager 源码.zip

    这份"Android源码——SqliteManager 源码.zip"包含了一些关于SqliteManager的源代码分析以及可能的示例图片,帮助开发者深入理解其工作原理。 首先,我们来看一下SQLiteManager的基本架构。通常,它会包含以下几个...

    安卓Android源码——SqliteManager源码.zip

    《深入解析Android SqliteManager源码》 在Android开发中,SQLite数据库是广泛使用的轻量级数据库,它为应用程序提供了存储和检索结构化数据的能力。SQLiteManager是Android系统中用于管理SQLite数据库的一个重要...

    Android源码——SQLite 增、删、查、改操作源码.zip

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库系统,适用于移动设备。SQLite被集成到Android系统中,允许开发者在应用程序中存储和管理数据。本压缩包包含的源码和图片资源详细讲解了...

    安卓Android源码——SQLite增、删、查、改操作源码.zip

    在安卓(Android)平台上,SQLite是一个轻量级的数据库系统,用于存储应用程序的数据。它无需服务器进程,且完全支持SQL标准,使得开发者可以方便地在Android应用中进行数据管理。本压缩包包含的源码详细展示了...

    IOS应用源码——SQLite.rar

    《iOS应用源码——SQLite深度解析》 SQLite是一款轻量级的、开源的、自包含的、无服务器的、零配置的SQL数据库引擎,广泛应用于移动设备和嵌入式系统中,包括iOS应用开发。在iOS应用源码中,SQLite扮演着数据存储和...

    安卓Android源码——sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查.rar

    本资源“安卓Android源码——sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查.rar”提供了一个实用的示例,帮助开发者深入理解SQLite在Android平台上的应用。 首先,我们来详细讲解...

    安卓Android源码——sqlite的一些基本操作,包括数据库创建、数据库版本升级、创建表、数据的增删改查.zip

    在这个压缩包中,我们重点探讨了如何在Android平台上进行SQLite数据库的基本操作,主要包括数据库的创建、版本升级、表格创建以及数据的增删改查。 首先,数据库的创建是通过SQLiteOpenHelper类来实现的。这个类...

    Android SQLite学习工具

    这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...

    Android数据库SQLite详解

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。SQLite具有高效、可靠且易于集成的特点,使得它成为Android应用数据...

    安卓Android源码——数据库SQLite.zip

    【标题】"安卓Android源码——数据库SQLite.zip" 提供的内容主要聚焦于Android操作系统中用于数据存储的SQLite数据库。SQLite是一个轻量级的关系型数据库,它被广泛集成在移动设备和嵌入式系统中,包括Android。这个...

    Android基于Sqlite的学生信息管理系统.zip

    本文将深入探讨一个特别针对学生信息管理的系统——“Android基于SQLite的学生信息管理系统”。该系统是人工智能技术在项目实践中的具体体现,通过Java编程语言实现了对SQLite数据库的高效利用,为教育领域的数据...

    svn数据库清理工具——sqlite脚本

    当遇到svn: E155009: Failed to run the WC DB work queue associated with错误时需要用到的SQLite数据库打开工具。此工具是2018.08.15下载的官网最新版本。

    Android+SQlite《学生信息管理系统》(增删改查)源代码

    Android+SQlite 简单的《学生信息管理系统》(实现基本增删改查) 此代码中还有与其相对应的apk文件(在SIMS/bin目录中),大家可先行放手机上看一下效果。 希望对初学者有一定的帮助。(本人自己编写)

    Android源码——连接SQLite数据库源码.zip

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储应用程序中的数据。本文将深入解析Android源码中连接SQLite数据库的相关知识点。 首先,要...

    Android中SQLite数据库查看工具

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个...

Global site tag (gtag.js) - Google Analytics