手机访问mysql数据库工具,有没有安卓连接MySQL数据库的软件方便管理的

1,有没有安卓连接MySQL数据库的软件方便管理的一般MySQL都不由APP进行直接的远程连接,而是交由后台服务器进行封装处理的 。举个例子 。APP访问--》后台PHP服务器--》PHP访问本地MySQL数据库--》PHP返回查询给APP所以,一般的APP分为两部分,APP前端开发,PHP后台开发有没有安卓连接MySQL数据库的软件.方便管理的一般MySQL都不由APP进行直接的远程连接,而是交由后台服务器进行封装处理的 。举个例子 。APP访问--》后台PHP服务器--》PHP访问本地MySQL数据库--》PHP返回查询给APP所以,一般的APP分为两部分,APP前端开发,PHP后台开发
2,求大神指点 android如何连接mysql进行数据查询不知道我说的是不是你想要的 , 使用JDBC+SERVLET搭建框架,将数据库的信息查询到之后 , 用json封装 , 手机通过HTTP请求servlet的地址,可以得到一个JSONARRAY,是一个List<Map<String,Object>>对象,解析应该能得到同求呀?。。。ttp就可以了我也想学这一块的呢 知道的可以告诉我用webservice连接mysql数据库?求大神指教呀
3,在android上显示mysql中数据库表格数据的小程序1.报错没有,后台输出什么情况?报错的话按照具体错误调试修改代码.2.如果没有报错,检查数据库表中是否有数据3.如果表中有数据,lz可以直接输出 "str" 看看读取数据库数据是否有数据.lz先检查以上三项,有问题在百度hi我http://www.cnblogs.com/xiao-xu/archive/2013/04/17/3025732.html这是我自己总结的,有不明白的地方可以问,希望对你有帮助final simpleadapter adapter = new simpleadapter(this, getdata(),r.layout.mainlayout, new string[]new int[]r.id.pl_imageview01 });lv.setadapter(adapter);private list> getdata() { list> list = new arraylist>(); map map = new hashmap(); cursor cur = dr.query("db", new string[] { "text", "time" }, null, null, null, null, "time desc"); while (cur.movetonext()) { for (int i = 0; i < cur.getcount(); i++) { cur.movetoposition(i); string text = cur.getstring(0); string time = cur.getstring(1); map = new hashmap(); map.put("text", text); map.put("time", time); map.put("image", r.drawable.ic_menu_close_clear_cancel); list.add(map); } } return list; } 我是使用simpleadapter 作为listview的适配器 通过数据的query方法 将数据放入listview【手机访问mysql数据库工具,有没有安卓连接MySQL数据库的软件方便管理的】
4,android怎么用JDBC方法连接mysql数据库1:mysql-connector-java-5.1.10-bin.jar导入2:编译会有警告,因为android和上面的jar不兼容,但不影响运行 。用android程序去直连mysql数据库 , 觉得这样做不好,出于安全等方面考虑 。数据库地址 , 用户名密码,查询sql什么的都存在程序里 , 很容易被反编译等方法看到 。建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口,同时在为android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如xml+rpc或者json等等 , android端也有现成的东西能直接用,既安全又省事 。android 链接mysql数据库实例:package com.hl;import java.sql.drivermanager;import java.sql.resultset;import com.mysql.jdbc.connection;import com.mysql.jdbc.statement;import android.app.activity;import android.os.bundle;import android.view.view;import android.view.view.onclicklistener;import android.widget.button;import android.widget.textview;public class androidmsql extends activity@overridepublic void oncreate(bundle savedinstancestate)super.oncreate(savedinstancestate);setcontentview(r.layout.main);button btn=(button)findviewbyid(r.id.btn);btn.setonclicklistener(new onclicklistener()@overridepublic void onclick(view v)sqlcon();}});}private void msettext(string str)textview txt=(textview)findviewbyid(r.id.txt);txt.settext(str);}private void sqlcon()tryclass.forname("com.mysql.jdbc.driver");} catch (exception e)e.printstacktrace();}trystring url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useunicode=true&characterencoding=utf-8";//链接数据库语句connection conn= (connection) drivermanager.getconnection(url); //链接数据库statement stmt=(statement) conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql="select * from user";//查询user表语句resultset rs=stmt.executequery(sql);//执行查询stringbuilder str=new stringbuilder();while(rs.next())str.append(rs.getstring(1)+"\n");}msettext(str.tostring());rs.close();5,android 怎么使用sqlcipherAndroid系统内置了SQLite数据库 , 并且提供了一整套的API用于对数据库进行增删改查操作 。数据库存储是我们经常会使用到的一种存储方式,相信大多数朋友对它的使用方法都已经比较熟悉了吧 。在Android中,我们既可以使用原生的SQL语句来对数据进行操作,也可以使用Android API提供的CRUD方法来对数据库进行操作,两种方式各有特点,选择使用哪一种就全凭个人喜好了 。不过,使用SQLite来存储数据却存在着一个问题 。因为大多数的Android手机都是Root过的,而Root过的手机都可以进入到/data/data//databases目录下面,在这里就可以查看到数据库中存储的所有数据 。如果是一般的数据还好,但是当涉及到一些账号密码 , 或者聊天内容的时候,我们的程序就会面临严重的安全漏洞隐患 。那么今天,就让我们一起研究一下如何借助SQLCipher来解决这个安全性问题 。SQLCipher是一个在SQLite基础之上进行扩展的开源数据库,它主要是在SQLite的基础之上增加了数据加密功能,如果我们在项目中使用它来存储数据的话,就可以大大提高程序的安全性 。SQLCipher支持很多种不同的平台,这里我们要学习的自然是Android中SQLCipher的用法了 。首先要把Android项目所依赖的SQLCipher工具包下载下来:接着解压这个工具包,会看到里面有assets和libs这两个目录 , 稍后需要将这两个目录中的内容添加到Android项目当中 。那么现在我们就来新建一个Android项目,项目名就叫SQLCipherTest 。观察SQLCipherTest的项目结构,发现里面也分别有一个assets目录和一个libs目录,那么现在就可以把SQLCipher工具包中这两个目录里的内容复制过来 。并不需要复制全部文件,选择必要的文件进行复制就可以到这里准备工作就全部完成了,接下来我们开始编写代码 。首先创建一个MyDatabaseHelper继承自SQLiteOpenHelper,注意这里使用的并不是Android API中的SQLiteOpenHelper,而是net.sqlcipher.database包下的SQLiteOpenHelper,代码如下所示: [java] view plaincopy import android.content.Context; import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteDatabase.CursorFactory; import net.sqlcipher.database.SQLiteOpenHelper; public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_TABLE = "create table Book(name text, pages integer)"; public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { } }除了引入的包不一样了 , 其它的用法和传统的SQLiteOpenHelper都是完全相同的 。可以看到,我们在onCreate()方法中创建了一张Book表,Book表里有name和pages这两个列 。接着,打开或新建activity_main.xml作为程序的主布局文件,代码如下所示: [html] view plaincopy android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:id="@+id/add_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="添加数据" /> android:id="@+id/query_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="查询数据" />这里只是简单地放置了两个按钮 , 分别用于添加和查询数据 。接下来打开或新建MainActivity作为程序主Activity,代码如下所示: [java] view plaincopy public class MainActivity extends Activity { private SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SQLiteDatabase.loadLibs(this); MyDatabaseHelper dbHelper = new MyDatabaseHelper(this, "demo.db", null, 1); db = dbHelper.getWritableDatabase("secret_key"); Button addData = http://www.lisdn.com/gkrj/shjy/(Button) findViewById(R.id.add_data); Button queryData = (Button) findViewById(R.id.query_data); addData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ContentValues values = new ContentValues(); values.put("name", "达芬奇密码"); values.put("pages", 566); db.insert("Book", null, values); } }); queryData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Cursor cursor = db.query("Book", null, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); int pages = cursor.getInt(cursor.getColumnIndex("pages")); Log.d("TAG", "book name is " + name); Log.d("TAG", "book pages is " + pages); } } cursor.close(); } }); } }可以看到,在onCreate()方法中首先调用了SQLiteDatabase的loadLibs()静态方法将SQLCipher所依赖的so库加载进来,注意这里使用的是net.sqlcipher.database包下的SQLiteDatabase 。然后我们创建了MyDatabaseHelper的实例 , 并调用getWritableDatabase()方法去获取SQLiteDatabase对象 。这里在调用getWritableDatabase()方法的时候传入了一个字符串参数,它就是SQLCipher所依赖的key , 在对数据库进行加解密的时候SQLCipher都将使用这里指定的key 。在添加数据按钮的点击事件里面,我们通过ContentValues构建了一条数据 , 然后调用SQLiteDatabase的insert()方法将这条数据插入到Book表中 。在查询数据按钮的点击事件里面,我们调用SQLiteDatabase的query()方法来查询Book表中的数据,查询到的结果会存放在Cursor对象中 , 注意这里使用的是net.sqlcipher包下的Cursor 。然后对Cursor对象进行遍历,并将查询到的结果打印出来 。现在运行一下程序,先点击添加数据按钮,再点击查询数据按钮,刚刚添加的那条数据就应该在控制台里打印出来了 。有没有感觉到使用SQLCipher提供的API和使用Android原生的数据库API,操作起来几乎是一模一样的 。没错,SQLCipher对Android SDK中所有与数据库相关的API都制作了一份镜像,使得开发者可以像操作普遍的数据库文件一样来操作SQLCipher,而所有的数据加解密操作,SQLCipher都在背后帮我们处理好了 。

    推荐阅读