我正在Android上制作一个应用程序,该应用程序将记录体育比赛的统计信息,我想将从该应用程序获取的信息存储到MySql数据库中。有人可以指出我正确的方向
答案 0 :(得分:0)
您只需要使用任何网络库(如Volley,Retrofit,OkHttp ...等) 如果您使用Volley Library,则只需安装XAMPP并使用phpMyAdmin创建数据库,然后使用GET,POST之类的请求方法来学习mysql PHP,然后在android的Volley库中只需调用(Hashmap)方法即可将数据从android发送至mysql。 。 这张照片将理解你我的意思
答案 1 :(得分:0)
在应用程序端,您需要网络库,该网络库将向服务器发送请求以从服务器保存/获取数据。这些可以是Retrofit / Volley / OkHttp等。这些网络库将使用API(URL)从服务器发送或检索数据。
在后端,您将需要Web服务来连接SQL数据库和应用程序。该网络服务将提供一个API(URL),供应用程序用来发送/检索数据。可以使用PHP来创建Web服务。
当然,您将需要一台服务器来托管Web服务文件,或者您可以在本地尝试使用WAMP / XAMP等软件来托管和测试API,但移动设备和WAMP / XAMP服务器(即计算机/笔记本电脑)应为在同一网络上。
答案 2 :(得分:0)
您将需要首先在自己的类中启动sqlite数据库,然后在您要将结果存储在其中的活动中调用它。
数据库类:
public class MyDB extends SQLiteOpenHelper {
//creates desired fields for app in db
public static final String DB_NAME = "mySQLiteDatabase";
public static final String TABLE_NAME = "results";
public static final String COLUMN_ID = "id";
//place your fields here e.g. result 1
public static final int DB_VERSION = 1;//version of database
public MyDB(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " // add the fields
created here
sqLiteDatabase.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
sqLiteDatabase.execSQL(sql);
onCreate(sqLiteDatabase);
} public boolean addResult(String result1, //etc
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(//your column name, //your field );
//other fields here e.g. result2 etc
return sqLiteDatabase.insert(TABLE_NAME, null, contentValues) != -1;
}
在初始化一些内容之后,您可以在主类中使用addResult方法