app-求解啊 android数据库问题

问题描述

求解啊 android数据库问题
我在做一个android的app 用到了数据库 就在手机上创建数据库 结果显示的一直都是最后一次存入的信息 比如我存了三条 前面两个不是cmcc 最后一条存的是cmcc的信息 结果就显示了三条cmcc 由于手机没有root 也没有刷机 看不到数据库源文件 求解大神解答

解决方案

呼呼,亏我看完了。

解决方案二:
你可以用模拟器啊,默认就是root了的

解决方案三:
代码贴出来,这绝对是代码没写对。

解决方案四:
恩,估计是你写错了~~~~~~~~~~~

解决方案五:
这是activity
package com.chongyou.main;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.chongyou.dao.WifiDao;
import com.chongyou.db.WifiInfoSQLiteOpenHelper;
import com.chongyou.wifiAdmin.SerializableMap;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class SaveActivity extends Activity implements OnClickListener {
public static int RESULT_CODE=2;
private TextView tv_save;
private Button but01;
private Button but02;
private Button but03;
private Map map;
List> data2=new ArrayList>();
private ListView lv_save;

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_save);    lv_save=(ListView) findViewById(R.id.lv_save);    tv_save=(TextView) findViewById(R.id.tv_save);    but01=(Button) findViewById(R.id.but01);    but02=(Button) findViewById(R.id.but02);    but03=(Button) findViewById(R.id.but03);    but01.setOnClickListener(this);    but02.setOnClickListener(this);    but03.setOnClickListener(this);    Bundle bundle = getIntent().getExtras();      SerializableMap serializableMap = (SerializableMap) bundle              .get(""wifiInfo"");      map = serializableMap.getMap();    tv_save.setText(map.toString());}@Overridepublic void onClick(View v) {    // TODO Auto-generated method stub    switch (v.getId()) {   case R.id.but01:        WifiInfoSQLiteOpenHelper openHelper=new WifiInfoSQLiteOpenHelper(this);        openHelper.getWritableDatabase();        insert();        break;   case R.id.but02:        queryAll();        break;   case R.id.but03:        deleteAll();        break;    default:        break;    }}public void insert(){    WifiDao dao=new WifiDao(getBaseContext());    dao.insert(map);    Toast.makeText(this存储成功"" 0).show();}public void queryAll(){    WifiDao dao=new WifiDao(getBaseContext());    data2=dao.queryAll();    SimpleAdapter adapter=new SimpleAdapter(this             data2             R.layout.savewifi_item             new String[]{""wifiName""wifiStrength""MacAddress""}             new int[]{R.id.wifi_name2R.id.wifi_strength2R.id.macaddress2});    lv_save.setAdapter(adapter);}private void deleteAll() {    WifiDao dao=new WifiDao(getBaseContext());    dao.deleteAll();    Toast.makeText(this删完喽"" 0).show();}

}

这是dao包

package com.chongyou.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.chongyou.db.WifiInfoSQLiteOpenHelper;

public class WifiDao {
private WifiInfoSQLiteOpenHelper mOpenHelper;

public WifiDao(Context context){    mOpenHelper = new WifiInfoSQLiteOpenHelper(context);}public void insert(Map<String String> map){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL(""insert into wifiInfo(wifiNamewifiStrengthMacAddress)values(???);""new Object[]{map.get(""wifiName"")map.get(""wifiStrength"")map.get(""MacAddress"")});        db.close();    }}public List<Map<String String>> queryAll(){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        Cursor cursor=db.rawQuery(""select * from wifiInfo;"" null);        if(cursor!=null&&cursor.getCount()>0){            List<Map<String String>> wifiQueryList=new ArrayList<Map<StringString>>();            Map<String String> wifiQuery=new HashMap<String String>();            while(cursor.moveToNext()){                wifiQuery.put(""_id"" cursor.getInt(0)+"""");                wifiQuery.put(""wifiName""cursor.getString(1));                wifiQuery.put(""wifiStrength""cursor.getString(2));                wifiQuery.put(""MacAddress""cursor.getString(3));                wifiQueryList.add(wifiQuery);            }            db.close();            return wifiQueryList;        }        db.close();    }    return null;}public void deleteAll(){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL(""delete from wifiInfo;"");        db.close();    }}

}

解决方案六:
这是activity
package com.chongyou.main;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.chongyou.dao.WifiDao;
import com.chongyou.db.WifiInfoSQLiteOpenHelper;
import com.chongyou.wifiAdmin.SerializableMap;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class SaveActivity extends Activity implements OnClickListener {
public static int RESULT_CODE=2;
private TextView tv_save;
private Button but01;
private Button but02;
private Button but03;
private Map map;
List> data2=new ArrayList>();
private ListView lv_save;

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_save);    lv_save=(ListView) findViewById(R.id.lv_save);    tv_save=(TextView) findViewById(R.id.tv_save);    but01=(Button) findViewById(R.id.but01);    but02=(Button) findViewById(R.id.but02);    but03=(Button) findViewById(R.id.but03);    but01.setOnClickListener(this);    but02.setOnClickListener(this);    but03.setOnClickListener(this);    Bundle bundle = getIntent().getExtras();      SerializableMap serializableMap = (SerializableMap) bundle              .get(""wifiInfo"");      map = serializableMap.getMap();    tv_save.setText(map.toString());}@Overridepublic void onClick(View v) {    // TODO Auto-generated method stub    switch (v.getId()) {   case R.id.but01:        WifiInfoSQLiteOpenHelper openHelper=new WifiInfoSQLiteOpenHelper(this);        openHelper.getWritableDatabase();        insert();        break;   case R.id.but02:        queryAll();        break;   case R.id.but03:        deleteAll();        break;    default:        break;    }}public void insert(){    WifiDao dao=new WifiDao(getBaseContext());    dao.insert(map);    Toast.makeText(this存储成功"" 0).show();}public void queryAll(){    WifiDao dao=new WifiDao(getBaseContext());    data2=dao.queryAll();    SimpleAdapter adapter=new SimpleAdapter(this             data2             R.layout.savewifi_item             new String[]{""wifiName""wifiStrength""MacAddress""}             new int[]{R.id.wifi_name2R.id.wifi_strength2R.id.macaddress2});    lv_save.setAdapter(adapter);}private void deleteAll() {    WifiDao dao=new WifiDao(getBaseContext());    dao.deleteAll();    Toast.makeText(this删完喽"" 0).show();}

}

这是dao包

package com.chongyou.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.chongyou.db.WifiInfoSQLiteOpenHelper;

public class WifiDao {
private WifiInfoSQLiteOpenHelper mOpenHelper;

public WifiDao(Context context){    mOpenHelper = new WifiInfoSQLiteOpenHelper(context);}public void insert(Map<String String> map){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL(""insert into wifiInfo(wifiNamewifiStrengthMacAddress)values(???);""new Object[]{map.get(""wifiName"")map.get(""wifiStrength"")map.get(""MacAddress"")});        db.close();    }}public List<Map<String String>> queryAll(){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        Cursor cursor=db.rawQuery(""select * from wifiInfo;"" null);        if(cursor!=null&&cursor.getCount()>0){            List<Map<String String>> wifiQueryList=new ArrayList<Map<StringString>>();            Map<String String> wifiQuery=new HashMap<String String>();            while(cursor.moveToNext()){                wifiQuery.put(""_id"" cursor.getInt(0)+"""");                wifiQuery.put(""wifiName""cursor.getString(1));                wifiQuery.put(""wifiStrength""cursor.getString(2));                wifiQuery.put(""MacAddress""cursor.getString(3));                wifiQueryList.add(wifiQuery);            }            db.close();            return wifiQueryList;        }        db.close();    }    return null;}public void deleteAll(){    SQLiteDatabase db=mOpenHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL(""delete from wifiInfo;"");        db.close();    }}

}

解决方案七:
已经找到方法了
Map wifiQuery=new HashMap();
while(cursor.moveToNext()){
wifiQuery.put(""_id"" cursor.getInt(0)+"""");
wifiQuery.put(""wifiName""cursor.getString(1));
wifiQuery.put(""wifiStrength""cursor.getString(2));
wifiQuery.put(""MacAddress""cursor.getString(3));
wifiQueryList.add(wifiQuery);
}
应该是

        while(cursor.moveToNext()){                    Map<String String> wifiQuery=new HashMap<String String>();            wifiQuery.put(""_id"" cursor.getInt(0)+"""");            wifiQuery.put(""wifiName""cursor.getString(1));            wifiQuery.put(""wifiStrength""cursor.getString(2));            wifiQuery.put(""MacAddress""cursor.getString(3));            wifiQueryList.add(wifiQuery);        }                    存数据的临时map应该在while里面  谢谢各位的热心帮忙

解决方案八:
eclipse里面的ddms不是可以直接找到数据库导出来看

时间: 2024-09-20 00:13:44

app-求解啊 android数据库问题的相关文章

app-关于android APP开发中SQLITE数据库的问题

问题描述 关于android APP开发中SQLITE数据库的问题 代码如下,首先请问我写的这段创建数据库的代码有没有错误?然后把这个类的文件放在哪里才对啊,目前程序一打开就是程序已经停止运行,APP的第一个ACTIVITY我设置的就是判断这个库中的某个表中有没有数据.我现在感觉就是程序打开,这个库还没有创建,是不存在的,所以运行不了.请大神指教下我.或者说怎么让APP一开始运行的第一步就是运行以下的代码来创建这个数据库.求指教. //数据库创建类 package com.captain.dao

android 数据库崩溃问题

问题描述 android 数据库崩溃问题 E/AndroidRuntime( 3752): android.database.sqlite.SQLiteException: unable to open database file (code 14) E/AndroidRuntime( 3752): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181) E/AndroidRuntime(

Android 数据库文件存取至储存卡的方法_Android

废话不多说了,直接给大家贴代码了,具体代码如下 <?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_

Android 数据库文件存取至储存卡的方法

废话不多说了,直接给大家贴代码了,具体代码如下 <?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_

Android数据库中事务操作方法之银行转账示例

本文实例讲述了Android数据库中事务操作方法之银行转账功能.分享给大家供大家参考,具体如下: 主java package com.itheima.transtation; import com.itheima.transtation.db.BankOpenHelper; import android.os.Bundle; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import and

android数据库储方式(一) SQLite的基本操作

最近开始在某个项目中实习,充分认识到了自己的不足,包括能力和性格等各种方面的缺陷.如何快速掌 握开发环境,如何与其他程序员沟通交流,如何准确知道分配给自己的模块具体实现的功能等等,都是大问题 ,更重要的是,自己不能仅仅只是写代码而已,还要清楚自己的代码的应用环境,别人是怎样用的,自己应该 提供哪些接口.这就属于扩展性的问题,不是一个新手能够马上明白的,但却是我们是否能够"脱农"的关键 . 废话不多说,本文讲诉的是我在项目中使用到的新知识---android数据库的操作.以前并没有任何

android开发-android数据库插入问题老是出错。新手。很急,在线等。谢谢大神了

问题描述 android数据库插入问题老是出错.新手.很急,在线等.谢谢大神了 public class MyDatabaseHelper extends SQLiteOpenHelper { final String CREATE_TABLE_SQL = "create table dict(_id integer primary " + "key autoincrement , word , detail)"; public MyDatabaseHelper(C

Android数据库高手秘籍(二)——创建表和LitePal的基本用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38556989 上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的.但是我们都知道,数据库是要和程序结合在一起使用的,单独对一个数据库去进行増删改查操作并没有什么意义,因此今天我们就来学习一下如何在Android程序当中去操作SQLite数据库,还没看过前一篇文章的朋友可以先去参考 Android数据库高手秘籍(一

android 数据库 自增 id的问题

问题描述 android 数据库 自增 id的问题 Android sqlite数据库,一个表有一个自增id(主键),插入数据的时候没有手动指定(我觉得id应该会自动赋值),查询的时候id都是0,这是为什么,我用sqlite studio打开db文件,发现id是有值的,而且是从1开始自动增长的. 解决方案 关于数据库自增ID数据写入问题的解决Android sqlite数据删除解决自增id问题android 中应用SQLite 常用自增ID,ID归零方法 解决方案二: 不一定id 都是自增长的,