安卓sqlite数据库的使用
来源:互联网 发布:无锡消费数据 编辑:程序博客网 时间:2024/04/29 23:20
创建数据库逻辑代码:
<span style="font-size:18px;">package com.example.day14_work;import android.annotation.SuppressLint;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import android.widget.Toast;public class MySqlite extends SQLiteOpenHelper{static String NAME="work.db";static int VERSION=1;//上下文对象,数据库名称,游标工厂,数据库的版本public MySqlite(Context context, String name, CursorFactory factory,int version) {super(context, name, factory, version);// TODO Auto-generated constructor stub}public MySqlite(Context context){super(context,NAME,null,VERSION);}//数据库第一次创建时调用@Overridepublic void onCreate(SQLiteDatabase db) { String sql="create table myInformation(color varchar(10),contents varchar(100))"; db.execSQL(sql);}//数据库版本发生改变时调用,即数据库版本升级@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}//数据库版本发生改变时调用,即数据库版本降级,只有发生重大错误时才会调用@SuppressLint("NewApi") @Overridepublic void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stubsuper.onDowngrade(db, oldVersion, newVersion);}//每次打开数据库时调用,用于验证数据库打没打开@Overridepublic void onOpen(SQLiteDatabase db) {// TODO Auto-generated method stubsuper.onOpen(db);Log.i("===onOpen===", "数据库打开");}}</span>
第一个Activity的逻辑代码文件:
<span style="font-size:18px;">package com.example.day14_work;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.example.day14_work.adapter.MyAdapter;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {GridView gv;List<Map<String,Object>> list;MySqlite helper;MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gv=(GridView) findViewById(R.id.gv);helper=new MySqlite(getApplicationContext()); getData(); adapter=new MyAdapter(list,MainActivity.this); //SimpleAdapter adapter=new SimpleAdapter(getApplicationContext(), list, R.layout.style, new String[]{"content"},new int[]{R.id.tv}); gv.setAdapter(adapter); } @Override protected void onRestart() { super.onRestart(); getData(); gv.setAdapter(new MyAdapter(list,MainActivity.this)); } public void click(View v) { Intent intent=new Intent(MainActivity.this,Second.class); startActivity(intent); } public void getData() { list=new ArrayList<Map<String,Object>>(); SQLiteDatabase db=helper.getReadableDatabase();String sql="select * from myInformation";Cursor cursor = db.rawQuery(sql, null);while(cursor.moveToNext()){Map<String,Object> map=new HashMap<String, Object>();String color=cursor.getString(cursor.getColumnIndex("color"));String content=cursor.getString(cursor.getColumnIndex("contents"));map.put("color", color);map.put("content", content);list.add(map);//Toast.makeText(getApplicationContext(),color+"\n"+content, 0).show();}db.close(); } }</span>
自定义适配器类逻辑代码:
<span style="font-size:18px;">package com.example.day14_work.adapter;import java.util.List;import java.util.Map;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import com.example.day14_work.R;public class MyAdapter extends BaseAdapter{List<Map<String,Object>> list;Context context;public MyAdapter(List<Map<String, Object>> list, Context context) {super();this.list = list;this.context = context;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return list.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View view, ViewGroup parent) {ViewHolder holder = null;if(view==null){holder=new ViewHolder();view=LayoutInflater.from(context).inflate(R.layout.style, null);holder.tv=(TextView) view.findViewById(R.id.tv);view.setTag(holder);}else{holder=(ViewHolder) view.getTag();}String data = list.get(position).get("content").toString();String mycolor = list.get(position).get("color").toString();holder.tv.setText(data);if("红色".equals(mycolor)){holder.tv.setTextColor(android.graphics.Color.RED);}else if("蓝色".equals(mycolor)){holder.tv.setTextColor(android.graphics.Color.BLUE);}return view;}class ViewHolder{TextView tv;}}</span>
第二个Activity的逻辑代码文件:
<span style="font-size:18px;">package com.example.day14_work;import android.app.Activity;import android.content.Intent;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.RadioGroup.OnCheckedChangeListener;import android.widget.Toast;public class Second extends Activity{RadioGroup rg;EditText et;String content,selected;MySqlite helper;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.second);rg=(RadioGroup) findViewById(R.id.rg);et=(EditText) findViewById(R.id.et);rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {RadioButton rb=(RadioButton) findViewById(checkedId);selected=rb.getText().toString();if("红色".equals(selected)){et.setTextColor(android.graphics.Color.RED);}else if("蓝色".equals(selected)){et.setTextColor(android.graphics.Color.BLUE);}//Toast.makeText(getApplicationContext(), selected, 0).show();}});helper=new MySqlite(getApplicationContext());}public void click(View v){content=et.getText().toString();SQLiteDatabase db=helper.getReadableDatabase();String sql="insert into myInformation values('"+selected+"','"+content+"')";db.execSQL(sql);Intent intent=new Intent();finish();}}</span>
第一个Activity布局文件:
<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" ><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/ll" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="主页" android:textSize="26sp"/> <Button android:id="@+id/add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="添加" android:onClick="click" android:textSize="24sp" android:layout_marginLeft="30dp"/> </LinearLayout> <GridView android:id="@+id/gv" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" android:layout_below="@+id/ll" android:layout_marginTop="20dp"/> </RelativeLayout></span>
第二个Activity布局文件
<span style="font-size:18px;"><?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" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="添加数据" android:textSize="26sp"/> <Button android:id="@+id/finish" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="完成" android:onClick="click" android:textSize="24sp" android:layout_marginLeft="20dp"/> </LinearLayout> <RadioGroup android:id="@+id/rg" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" android:layout_marginTop="20dp"> <RadioButton android:id="@+id/red" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="红色" android:textSize="24sp"/> <RadioButton android:id="@+id/blue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="蓝色" android:textSize="24sp"/> </RadioGroup> <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00ff00" android:hint="请输入内容" android:gravity="center"/></LinearLayout></span>
自定义适配器用的样式布局文件:
<span style="font-size:18px;"><?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" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout></span>
0 1
- 安卓SQLite数据库的使用
- 安卓sqlite数据库的使用
- Sqlite 安卓的数据库使用
- SQLite安卓数据库使用
- 安卓开发:本地数据库SQLite的使用
- 安卓--SQLite数据库的简单使用(说明+代码)
- 安卓开发——SQLite数据库的使用
- 安卓开发SQLite关系数据库的使用
- 安卓本地数据库SQLite简单使用
- 安卓Sqlite的使用
- 安卓Sqlite的使用
- 安卓SQLite数据库
- 安卓 SQLite数据库
- 安卓SQLite打开数据库的错误
- 安卓的SQLite的使用
- 安卓开发中SQLite的使用
- 安卓开发中SQLite的使用
- [安卓]使用SQLite的标准步骤
- codeforces 572D Minimization
- Manacher算法
- SVC和PEDSVC
- COGS2119. 分糖果
- 零钱组合的几种解法
- 安卓sqlite数据库的使用
- Android绘图:Canvas绘制联系人姓氏侧滑列表
- 题目:1<n<9, n个猴子,第一个猴子扔一个,然后平均分为n份,拿一份; 第二个猴子扔一个,然后平均分n份,拿一份。。。依次到最后一个猴子也是扔一个,均分n份,拿一份。
- VMware.Workstation.11.1.0安装rhel-server-5.5-x86_64-dvd.ISO安装
- Java HashMap的工作原理
- LEETCODE-Climbing Stairs
- Java设置全局热键钩子——第三方包jintellitype实现
- poj 2479 最大连续子段和 dp算法
- qt中出现库函数无法解析的外部符号