代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
安卓的小型sql数据库
作者:
蜗牛在路上
/ 发布于
2014/12/19
/
815
package com.example.sql; import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; @SuppressLint("SdCardPath") public class SplActivity extends Activity implements OnClickListener{ private Button insertBtn, selectBtn,displayBtn; private ListView mListView; private SQLiteDatabase db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sql_activity); mListView=new ListView(this); BtnInit(); OpenCreateDB(); //单击事件 mListView.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { final Cursor c = db.rawQuery("SELECT * FROM HomeLibrary WHERE _id = ?", new String[]{""+(arg2+1)}); if(c.moveToFirst()) { View view1=LayoutInflater.from(SplActivity.this).inflate(R.layout.dialog, null); final TextView idd=(TextView) view1.findViewById(R.id.textView1); final EditText command=(EditText) view1.findViewById(R.id.editText2); final EditText result=(EditText) view1.findViewById(R.id.editText3); idd.setText(c.getInt(0)+""); command.setText(c.getString(1)); result.setText(c.getString(2)); new AlertDialog.Builder(SplActivity.this) .setTitle("手动修改数据") .setView(view1) .setPositiveButton("确定修改", new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ContentValues cv = new ContentValues(); cv.put("command",command.getText().toString()); db.update("HomeLibrary", cv, "_id = ?", new String[]{idd.getText().toString()}); cv.put("result",result.getText().toString()); db.update("HomeLibrary", cv, "_id = ?", new String[]{idd.getText().toString()}); } }).create().show(); } } }); } public void BtnInit(){ insertBtn=(Button)findViewById(R.id.insert); selectBtn=(Button)findViewById(R.id.select); displayBtn=(Button)findViewById(R.id.display); mListView=(ListView)findViewById(R.id.listview); insertBtn.setOnClickListener(this); selectBtn.setOnClickListener(this); displayBtn.setOnClickListener(this); } public class DTData { int _id;//与所建立的表对应 String command; String result; public DTData(String command,String result){ this.command=command; this.result=result; } } public void OpenCreateDB(){ db = openOrCreateDatabase("/sdcard/douting/HomeLibrary.db", Context.MODE_PRIVATE, null); //db.execSQL("DROP TABLE IF EXISTS HomeLibrary"); //初始化数据库 //判断文件是否建立了表格,没有这生成表格 db.execSQL("CREATE TABLE IF NOT EXISTS HomeLibrary (_id INTEGER PRIMARY KEY AUTOINCREMENT, command VARCHAR, result VARCHAR)"); } //加载数据到HomeLibrary表 public void InsertData(){ View view1=LayoutInflater.from(SplActivity.this).inflate(R.layout.dialog, null); final TextView idd=(TextView) view1.findViewById(R.id.textView1); final EditText command=(EditText) view1.findViewById(R.id.editText2); final EditText result=(EditText) view1.findViewById(R.id.editText3); idd.setText("序号自动生成"); new AlertDialog.Builder(SplActivity.this) .setTitle("手动加载数据") .setView(view1) .setPositiveButton("确定加载", new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { db.execSQL("INSERT INTO HomeLibrary VALUES (NULL,?,?)", new Object[]{command.getText().toString(),result.getText().toString()}); Log.d("msg","加载成功"); } }).create().show(); } public void Find(String str1,int key) { List<String> list=new ArrayList<String>(); Cursor c = db.rawQuery("SELECT * FROM HomeLibrary", null); int[] num = new int[c.getCount()]; //定义和数据库指令条数相等大小的数组 Log.d("msg","--------------全部数据----------------------------"); Log.d("msg",""+str1.length());//获得字符串中的对应字符 int k=0; while (c.moveToNext()) { if(c.getString(key).indexOf(str1.charAt(0))>=0) { num[k++] = c.getInt(0); Log.d("msg",""+str1.charAt(0)+num[k-1]); } } //循环匹配到最后一个字符 for (int i = 1; i < str1.length(); i++) { int j=k=0; while(num[j]!=0){ c.moveToFirst(); c.move(num[j]-1); //移动的时候要减1,否则会移动到下一个 if(c.getString(key).indexOf(str1.charAt(i))>=0) { num[j]=0; num[k++] = c.getInt(0); Log.d("msg",""+str1.charAt(i)+num[k-1]); } j++; } } c.moveToFirst(); if(num[0]!=0) c.move(num[0]-1); //移动的时候要减1,否则会移动到下一个 else c.move(0); //防止都查不到出错 String string=""+c.getInt(0)+" "+c.getString(1)+" "+c.getString(2); list.add(string); c.close(); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,list); mListView.setAdapter(adapter); } //查找数据 public void Select(){ View view1=LayoutInflater.from(SplActivity.this).inflate(R.layout.dialog, null); final TextView idd=(TextView) view1.findViewById(R.id.textView1); final EditText command=(EditText) view1.findViewById(R.id.editText2); final EditText result=(EditText) view1.findViewById(R.id.editText3); idd.setText("选择其中一个查询"); new AlertDialog.Builder(SplActivity.this) .setTitle("手动查询数据") .setView(view1) .setPositiveButton("确定查询", new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if(command.getText().toString().length()!=0) Find(command.getText().toString(), 1); else if(result.getText().toString().length()!=0) Find(result.getText().toString(), 2); Log.d("msg","查询成功"); } }).create().show(); } //显示数据 public void Display(){ List<String> list=new ArrayList<String>(); Cursor c = db.rawQuery("SELECT * FROM HomeLibrary", null); while (c.moveToNext()) { String string=""+c.getInt(0)+" "+c.getString(1)+" "+c.getString(2); list.add(string); Log.d("msg",string); } c.close(); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,list); mListView.setAdapter(adapter); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.insert: InsertData(); break; case R.id.display: Display(); break; case R.id.select: Select(); break; } } }
试试其它关键字
sql数据库
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
蜗牛在路上
贡献的其它代码
(
5
)
.
解一元二次方程
.
安卓的小型sql数据库
.
获取同环比时间
.
获取指定日期近31天的日期列表
.
使用IO流进行文件的合并
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3