我正在尝试使用Java将一些数据上传到MySQL数据库,因为我正在使用Android应用程序。到目前为止,此代码编译并运行,但不会向我的数据库上传任何内容。我假设因为我没有在任何地方“连续”访问数据库,但是当我四处寻找解决方法时,我找不到任何东西。
我试图上传的代码片段
String addStreakName = chooseName.getText().toString();
String addCategory = prefs.getString("Category", "");
String addToday = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
if(prefs.getInt("todayOrChosen", 1) == 1){
int addStartedZero = 0;
streakList.add(new Streak(addStreakName, addCategory, addToday, addStartedZero));
try {
Connection con = DriverManager.getConnection("127.0.0.1", "[myusername]", "[mypassword]");
Statement st = con.createStatement();
st.executeUpdate("INSERT INTO `users`(userId, addStreakName,addCategory,addToday,addStartedZero) VALUE ('"+addStreakName+"', '"+addCategory+"', '"+addToday+"', '"+addStartedZero+"', '"+userID+"')");
} catch (SQLException e) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
您正在尝试连接到localhost,在您的情况下是安卓设备。我很确定您的设备上没有运行MySQL服务器,因此您会看到问题。您可以使用JDBC驱动程序连接到MySQL服务器,但我真的不推荐它。移动应用程序存在于用户设备上,并且直接访问数据库服务器并不是一个好主意。如果您需要本地数据库,可以使用SQLite,Couchbase Lite,Firebase,Realm等。如果您想与服务器同步,您可以实现应用程序服务器并通过REST同步,或者使用类似的解决方案Couchbase Lite + Sync Gateway或Google的Firebase
的问候,
弗拉基米尔