安卓中怎么从命令行查看数据库中的数据

安卓中怎么从命令行查看数据库中的数据,第1张

1,进入到控制台中,输入adb shell,进入到命令模式的环境中

2,输入:cd /data/data/

3, 选择你所在的数据库文件,比如我的comandroidhomework, 输入命令:cd comandroidhomework

4, 可以使用ls -l 命令查看当前目录中的文件

5,输入: cd databases 进入到数据库文件中

6, ls -l 显示你数据库中你建立的数据库

7, sqlite3 infodb 进入到你选择的数据库中

8, tables :查看你建的表

9, select from table_name;s 可以查看整个表的信息

10, 使用其他的SQL语句可以进一步对表进行 *** 作,注意SQL语句必须用分号(;)结尾

public class MyDbOpenHeler extends SQLiteOpenHelper {

    private static final String name="zhoukedb";

    private static final int version=1;

    public MyDbOpenHeler(Context context) {

        super(context, name, null, version);

    }

    @Override

    public void onCreate(SQLiteDatabase db) {

        dbexecSQL("create table if not exists word(_id integer primary key autoincrement,name varchar(20),age int)");

    }

    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}

------------------------------------------------

public class Main2Activity extends AppCompatActivity {

    ListView lv;

    MyDbOpenHeler heler;

    SQLiteDatabase db;

    SimpleCursorAdapter adapter;

    EditText et1;

    //通知

    NotificationManager manage;

    //---

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        superonCreate(savedInstanceState);

        setContentView(Rlayoutactivity_main2);

        lv= (ListView) findViewById(Ridlv);

        //实例化数据库帮助类

        heler=new MyDbOpenHeler(this);

        //获取一个可读写的数据库 *** 作对象

        db=helergetWritableDatabase();

        Cursor word = dbquery("word", null, null, null, null, null, "_id desc");

        adapter=new SimpleCursorAdapter(this,Rlayoutlist_ltem,word,

                new String[]{"_id","name","age"},new int[]{Ridtv1,Ridtv2,Ridtv3},

                CursorAdapterFLAG_REGISTER_CONTENT_OBSERVER);

        lvsetAdapter(adapter);

//        if(wordisClosed()){

//            wordclose();

//        }

        registerForContextMenu(lv);

        //通知的实例化

        manage= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        //---

        et1= (EditText) findViewById(Ridet1);

    }

    //创建选项菜单

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        menuadd(1,1,0,"增");

        return superonCreateOptionsMenu(menu);

    }

    //选项菜单监听事件

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

        View inflate = Viewinflate(this, Rlayoutdialog, null);

        final EditText et1 = (EditText) inflatefindViewById(Ridet1);

        final EditText et2 = (EditText) inflatefindViewById(Ridet2);

        new AlertDialogBuilder(this)setTitle("增加新学生信息")setView(inflate)

                setPositiveButton("确认", new DialogInterfaceOnClickListener() {

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        ContentValues cv=new ContentValues();

                        cvput("name",et1getText()toString());

                        cvput("age", et2getText()toString());

                        long word = dbinsert("word", null, cv);

                        if (word>0){

                            ToastmakeText(Main2Activitythis,"增加数据成功",ToastLENGTH_SHORT)show();

                            Cursor word2 = dbquery("word", null, null, null, null, null, "_id desc");

                            adapterchangeCursor(word2);

                            //通知---开始

                            NotificationCompatBuilder builder=new NotificationCompatBuilder(Main2Activitythis);

                            buildersetSmallIcon(Rdrawableaa)

                                    setContentText("年龄:"+et2getText()toString())

                                    setContentTitle(et1getText()toString())

                                    setAutoCancel(true);

                            managenotify(1,builderbuild());

                            //通知 --结束

                        }

                    }

                })setNegativeButton("取消", new DialogInterfaceOnClickListener() {

            @Override

            public void onClick(DialogInterface dialog, int which) {

            }

        })show();

        return superonOptionsItemSelected(item);

    }

    //创建上下文菜单

    @Override

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuContextMenuInfo menuInfo) {

        superonCreateContextMenu(menu, v, menuInfo);

        menuadd(1,2,0,"修改");

        menuadd(1,3,0,"删除");

    }

    //上下文菜单监听事件

    @Override

    public boolean onContextItemSelected(MenuItem item) {

        //获取当前点击项的索引

        AdapterViewAdapterContextMenuInfo info= (AdapterViewAdapterContextMenuInfo) itemgetMenuInfo();

        int position = infoposition;

        //根据索引获取这一行数据,把它转化为Cursor

        Cursor  cursor= (Cursor) adaptergetItem(position);

        //从结果集中取出id

        final int _id = cursorgetInt(0);

        switch (itemgetItemId()){

            case 2:

                View inflate = Viewinflate(this, Rlayoutdialog, null);

                final EditText et1 = (EditText) inflatefindViewById(Ridet1);

                final EditText et2 = (EditText) inflatefindViewById(Ridet2);

                //获取单词名称

                String name=cursorgetString(1);

                String age=cursorgetString(2);

                et1setText(name);

                et2setText(age);

                new AlertDialogBuilder(this)setTitle("修改学生信息")setView(inflate)

                        setPositiveButton("确认", new DialogInterfaceOnClickListener() {

                            @Override

                            public void onClick(DialogInterface dialog, int which) {

                                ContentValues cv=new ContentValues();

                                cvput("name",et1getText()toString());

                                cvput("age", et2getText()toString());

                                int word=dbupdate("word",cv,"_id=",new String[]{StringvalueOf(_id)});

                                if (word>0){

                                    ToastmakeText(Main2Activitythis,"修改数据成功",ToastLENGTH_SHORT)show();

                                    Cursor word2 = dbquery("word", null, null, null, null, null, "_id desc");

                                    adapterchangeCursor(word2);

                                }

                            }

                        })setNegativeButton("取消", new DialogInterfaceOnClickListener() {

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                    }

                })show();

                break;

            case 3:

                int word = dbdelete("word", "_id=", new String[]{StringvalueOf(_id)});

                if (word>0){

                    ToastmakeText(Main2Activitythis,"删除数据成功",ToastLENGTH_SHORT)show();

                    Cursor word2 = dbquery("word", null, null, null, null, null, "_id desc");

                    adapterchangeCursor(word2);

                }

                break;

        }

        return superonContextItemSelected(item);

    }

    public void click1(View view) {

        //模糊查询

        String aa=et1getText()toString();

        Cursor word2 = dbquery("word", null, "name like ", new String[]{"%"+aa+"%"}, null, null, "_id desc");

        adapterchangeCursor(word2);

        //正常查询

 //       Cursor word2 = dbquery("word", null, "name=", new String[]{aa}, null, null, "_id desc");

    }

}

public

class

DatabaseHelper

extends

SQLiteOpenHelper

{

private

static

DatabaseHelper

mInstance

=

null;

/

数据库名称

/

public

static

final

String

DATABASE_NAME

=

"xysdb";

/

数据库版本号

/

private

static

final

int

DATABASE_VERSION

=

1;

/数据库SQL语句

添加一个表/

private

static

final

String

NAME_TABLE_CREATE

=

"create

table

test("

+

"_id

INTEGER

PRIMARY

KEY

AUTOINCREMENT,"

+

"name

TEXT,"+"hp

INTEGER

DEFAULT

100,"+

"mp

INTEGER

DEFAULT

100,"

+

"number

INTEGER);";

DatabaseHelper(Context

context)

{

super(context,

DATABASE_NAME,

null,

DATABASE_VERSION);

}

/单例模式/

static

synchronized

DatabaseHelper

getInstance(Context

context)

{

if

(mInstance

==

null)

{

mInstance

=

new

DatabaseHelper(context);

}

return

mInstance;

}

@Override

public

void

onCreate(SQLiteDatabase

db)

{

/向数据中添加表/

dbexecSQL(NAME_TABLE_CREATE);

}

@Override

public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,

int

newVersion)

{

/可以拿到当前数据库的版本信息

与之前数据库的版本信息

用来更新数据库/

}

/

删除数据库

@param

context

@return

/

public

boolean

deleteDatabase(Context

context)

{

return

contextdeleteDatabase(DATABASE_NAME);

}

}

在其他数据库上作开发,一般都使用工具来检查和处理数据库的内容,而不是仅仅使用数据库的

API。使用

Android

模拟器,有两种可供选择的方法来管理数据库。

首先,模拟器绑定了

sqlite3

控制台程序,可以使用

adb

shell

命令来调用他。只要你进入了模拟器的

shell,在数据库的路径执行

sqlite3

命令就可以了。数据库文件一般存放在:

/data/data/yourapppackage/databases/your-db-name

如果你喜欢使用更友好的工具,你可以把数据库拷贝到你的开发机上,使用

SQLite-aware

客户端来 *** 作它。这样的话,你在一个数据库的拷贝上 *** 作,如果你想要你的修改能反映到设备上,你需要把数据库备份回去。

把数据库从设备上考出来,你可以使用

adb

pull

命令(或者在

IDE

上做相应 *** 作)。存储一个修改过的数据库到设备上,使用

adb

push

命令。

一个最方便的

SQLite

客户端是

FireFox

SQLite

Manager

扩展,它可以跨所有平台使用。

android访问其他数据库需要什么权限

如果您需要让某些登录用户具有不同的访问权限,请确保用户数据库表格包含一个特定的列,该列指定每个用户的访问权限(“来宾”、“用户”、“管理员”等)。每个用户的访问权限应该由站点管理员在数据库中输入。

在大多数数据库应用程序中,每当新建一个记录时,可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限(例如“来宾”);然后手动更改例外的情况(例如,将“来宾”更改为“管理员”)。用户现在即可访问所有管理员页。

确保数据库中的每个用户都具有单一的访问权限(例如“来宾”或“管理员”),而不是多项权限(例如“用户、管理员”)。如果要为您的页设置多项访问权限(例如,所有来宾和管理员都可以查看该页),则在页级别(而不是在数据库级别)设置这些权限。

访问lync数据库需要什么权限

安装 Lync Server 2010 的用户必须具有 Schema Admins 组权限,当然还必须要具备 Domain Admins组权限 和 Enterprise Admins组权限。

1安装

2安装拓扑生成器

3生成拓扑

然后选择拓扑文件存放位置

主SIP域,一般为主域名 例如 contoso

有没有额外的域,如果没有直接下一步

每个部署必须至少聚友一个站点。如果您的部署具有多个站点,以后可以使用“新建站点”向导添加其他站点。

定义一个相应版本的FQDN名称

当前前端服务器池中的服务器FQDN名称

勾选功能

安装SQL服务器的 FQDN名称

定义一个共享文件夹,用于存放会议PPT等文件,注意:此共享不要在前端服务器上。

公网域名

如果有,需要指定PSTN的网关IP地址

4 AD准备完成后,需要做两方面的准备

1需要把管理Lync的账号加入 SCAdminitrator组 和 RTCUniversalServerAdmins 组

2在DNS中添加A记录

poolcontoso

admincontoso 指向前端服务器

meetcontoso 会议

dialincontoso 电话拨入

android 怎么访问其他运用的数据库

按照Android的流程,创建数据库的程序应该提高一个Provider,这样另外的程序就可以通过这个Provider来访问这个数据库了。

mysql创建数据库需要什么权限

你都不是安全登录的,没有建库的权限,重新退出mysql,

在cmd下执行 mysql -u root -p密码<img id="selectsearch-icon" src=:imgbaidu/img/iknow/qb/select-searchpng alt="搜索">

服务器,ACC数据库C盘需要什么权限

权限必须是系统管理员administrator的完全控制

如何直接用SQL语句访问其他数据库

select from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名dbo表名)

什么是权限?用户访问数据库有哪些权限?

权限 是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。

只有在需要让某些登录用户具有不同的访问权限时,该构造块才是必需的。如果您只是要求用户登录,则不需要存储访问权限。

如果您需要让某些登录用户具有不同的访问权限,请确保用户数据库表格包含一个特定的列,该列指定每个用户的访问权限(“来宾”、“用户”、“管理员”等)。每个用户的访问权限应该由站点管理员在数据库中输入。

在大多数数据库应用程序中,每当新建一个记录时,可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限(例如“来宾”);然后手动更改例外的情况(例如,将“来宾”更改为“管理员”)。用户现在即可访问所有管理员页。

确保数据库中的每个用户都具有单一的访问权限(例如“来宾”或“管理员”),而不是多项权限(例如“用户、管理员”)。如果要为您的页设置多项访问权限(例如,所有来宾和管理员都可以查看该页),则在页级别(而不是在数据库级别)设置这些权限。

db2数据库用户建缓冲池需要什么权限

PrintPreviewDialog pPDlg;

exec_prefix='NONE'PACKAGE='libevent'

PACKAGE_BUGREPORT=''

PACKAGE_NAME=''

PACKAGE_STRING=''

PACKAGE_TARNAME=''

PACKAGE_URL=''

PACKAGE_VERSION=''

PATH_SEPARATOR=':'

Android数据库权限!

数据库支持,无论生命线的大小每一个应用程序,除非你的应用程序只能处理简单的数据,你需要一个数据库系统来存储你的结构化数据,使用SQLite数据库,这是一个开源的Android,支持多 *** 作系统的SQL数据库广泛应用于许多领域,如Mozilla Firefox是使用SQLite的存储配置数据,iPhone还使用SQLite来存储数据。

在Android中,您创建一个应用程序的数据库,只有它可以访问,其他应用程序无法访问位于Android设备/数据/数据/ /数据库文件夹中的数据库,在这篇文章中,您将学习如何创建和使用在Android的数据库。

SQLite数据库

使用Eclipse创建一个Android项目,命名数据库,如图1:

中国1数据库 - 使用Eclipse创建新项目的Android

创建最佳实践DBAdapter数据库的辅助类

*** 作是创建一个辅助类,它封装了访问数据库的所有复杂性,调用代码来讲它是透明的,所以我创建了一个帮手DBAdapter类,创建,打开,关闭和使用SQLite数据库它。

首先,在src /文件夹(在本实施例中的src / learn2developDatabase)下一个DBAdapterjava文件中的溶液。

在DBAdapterjava文件要使用导入所有的命名空间:

- 软件包learn2developDatabases;

中国进口androidcontentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqlite SQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{}

中国接下来,创建一个数据库,名为bookstitles,如图所示领域。

中国2数据库字段酒店在DBAdapterjava文件,如清单1

文件清单1中定义的常量定义DBAdapterjava不断

包learn2developDatabase;

进口androidcontentContentValues;

进口androidcontent。语境;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL); ;

私人最终上下文语境;

}

DATABASE_CREATE常数包括标题表创建SQL语句。

在DBAdapter类,你可以扩展SQLiteOpenHelper类,这是一款Android辅助类,主要用于创建数据库和版本管理。事实上,你可以覆盖的onCreate()和onUpgrade()方法,如清单2所示清单2

DBAdapter类,涵盖了SQLiteOpenHelper的onCreate()和onUpgrade()方法登录到到网扩展类 - 软件包learn2developDatabase;

中国进口的Android。 contentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL);;

私人最终上下文语境;

私人DatabaseHelper DBHelper;

私人SQLiteDatabase分贝;

公共DBAdapter(上下文CTX){

thiscontext = CTX;

DBHelper =新DatabaseHelper(上下文);

}

私有静态类DatabaseHelper扩展SQLiteOpenHelper

{

DatabaseHelper(上下文环境){

超(背景下,DATABASE_NAME,空,DATABASE_VERSION);

}

覆盖

公共无效的onCreate(SQLiteDatabase DB){

dbexecSQL(DATABASE_CREATE);

}

覆盖

公共无效onUpgrade(SQLiteDatabase分贝,INT oldVersion,

INT NEWVERSION){

Logw(TAG,从版本升级数据库?+ oldVersion

?+到

+ NEWVERSION +,这将销毁所有旧的数据);

dbexecSQL(“DROP TABLE IF EXISTS标题”);

的onCreate(DB);

}}

}

的onCreate()方法创建一个新的数据库,onUpgrade()方法用于升级数据库,它可以通过检查DATABASE_VERSION常数值来定义?实现,为onUpgrade()方法,只是简单地删除表,然后只创建一个表。

Android应用程序的数据通常保存在以下地方:XML文件、SharedPerefences、文件、SQLite数据库、外接数据库等。

除SQLite数据库和外接数据库外,其他几种方式都只能存储少量数据。

SQLite数据库是一种嵌入式数据库,可以嵌入在Android中。Android程序可以直接 *** 作SQLite数据库,但数据无法在不同终端之间共享。

外接数据库可以实现不同APP、不同移动终端共享数据。Android也可以直接访问外接数据库,如MySQL、SQL Server等,但这种方式不安全。通常的做法是使用Web服务访问外接数据库,返回基本类型数据或JSON格式数据,Android访问Web服务,即避免Android直接 *** 作外接数据库。这有我写的一个《

Android访问JavaEE部署的Web服务返回的JSON格式数据

》的 *** 作说明:>

安卓手机打开db文件可以使用RE文件管理器或SQLite打开并查看。首先需要在网上下载SQLite软件,然后点击想要打开的db文件就可以打开浏览相关数据库了。

1、首先在电脑安装SQLiteDeveloper,安装后在桌面生成图标,点击图标打开程序。

2、打开程序后,可以看到程序左边的数据库列表。展开可以查看到所有打开过的数据库。

3、点击一个db文件,把这个db直接拖拉进程序窗口。

4、显示注册数据库,点击确定,就可以用SQLiteDeveloper管理这个db文件了。

5、展开左边数据库列表,找到刚才注册的db文件。点击右键菜单的打开数据库。

6、打开数据库后可以看到这个db文件中有很多的数据表,选择其中一个,右键点击查询数据即可。

安卓(Android)是一种基于Linux的自由及开放源代码的 *** 作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android *** 作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。

以上就是关于安卓中怎么从命令行查看数据库中的数据全部的内容,包括:安卓中怎么从命令行查看数据库中的数据、android安卓数据库的增删改查和发送通知、安卓开发中怎么修改数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9465184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存