【发布时间】:2015-01-20 08:36:00
【问题描述】:
我已经在我的电脑上安装了 mysql.and 也有码头.. 我的要求:- 我有一个表名为 ari 的数据库学生; ari 表是:-
+----+-------+
| id | name |
+----+-------+
| 22 | Sandy |
+----+-------+
从我的 Android 程序中,我想从数据库中获取它..我已经这样做了:- MainActivity.java
public class MainActivity extends Activity {
private static final String url = "jdbc:mysql://localhost:3306/student";
private static final String user = "root";
private static final String pass = "root";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
testDB();
}
public void testDB() {
TextView tv = (TextView)this.findViewById(R.id.textView1);
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pass);
String result = "Database connection success\n";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from ari");
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next()) {
result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
}
tv.setText(result);
}
catch(Exception e) {
e.printStackTrace();
tv.setText(e.toString());
}
}
}
而activity_main.xml是:--
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
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" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
manifext 文件是:---
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.TourBus.info"
android:versionCode="1"
android:versionName="1.0-SNAPSHOT" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
但问题是,当我在我的 android 手机或模拟器中运行该程序时,它显示:--
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Could not create connection to database server.
我也有jar文件:--
mysql-connector-java
谁能帮帮我??请
【问题讨论】:
-
你能做到吗?据我所知,您需要一个 Web 服务来连接到您的数据库,因为您的数据库在某些服务器上运行并且您的应用程序在移动设备上运行
-
@Naveen Tamrakar,关于站点示例非常好..但它是php..我不知道php..java+android+mysql中有没有示例??
-
@subhodeepchatterjee 首先你认为你的设备连接在使用面板上,所以你想你想做什么
-
在android数据库sqlite数据库中也有buit