Php 如何为我的应用程序用户添加点数并将其连接到android?
我已经开始了一个项目的工作,但是我在这里遇到了麻烦,我需要为我已经存储在数据库中的每个用户添加点。我已经创建了一个数据库,我在其中存储用户的用户名和密码,并将其连接到android。一切都正常,但现在在我的例子中,我想在用户解决问题时为他们存储点,例如在我的应用程序中,但我不知道如何为此编写方法,需要php的一些帮助 这些是我的php文件:Register.phpPhp 如何为我的应用程序用户添加点数并将其连接到android?,php,android,mysql,Php,Android,Mysql,我已经开始了一个项目的工作,但是我在这里遇到了麻烦,我需要为我已经存储在数据库中的每个用户添加点。我已经创建了一个数据库,我在其中存储用户的用户名和密码,并将其连接到android。一切都正常,但现在在我的例子中,我想在用户解决问题时为他们存储点,例如在我的应用程序中,但我不知道如何为此编写方法,需要php的一些帮助 这些是我的php文件:Register.php 还有一个:FetchUserData.php 那么,我现在如何在这里为每个用户包括点呢 这是我用于将android连接到ph
还有一个:FetchUserData.php
那么,我现在如何在这里为每个用户包括点呢
这是我用于将android连接到php和mysql的java文件:
public class ServerRequests {
ProgressDialog progressDialog;
public static final int CONNECTION_TIMEOUT = 1000 * 15;
public static final String SERVER_ADRESS = "http://192.168.0.17:8081/project/";
public ServerRequests(Context context){
progressDialog = new ProgressDialog(context);
progressDialog.setCancelable(false);
progressDialog.setTitle(R.string.progress_dialog);
progressDialog.setMessage("Please wait...");
}
public void storeUserDataInBackground(User user, GetUserCallback userCallback){
progressDialog.show();
new StoreUserDataAsyncTask(user, userCallback).execute();
}
public void fetchUserDatainBackground(User user, GetUserCallback callBack){
progressDialog.show();
new fetchUserDataAsyncTask(user, callBack).execute();
}
public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void>{
User user;
GetUserCallback userCallback;
public StoreUserDataAsyncTask(User user, GetUserCallback userCallback){
this.user = user;
this.userCallback = userCallback;
}
@Override
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADRESS + "Register.php");
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
client.execute(post);
}catch (Exception e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
progressDialog.dismiss();
userCallback.done(null);
super.onPostExecute(aVoid);
}
}
public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, User> {
User user;
GetUserCallback userCallback;
public fetchUserDataAsyncTask(User user, GetUserCallback userCallback) {
this.user = user;
this.userCallback = userCallback;
}
@Override
protected User doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADRESS + "FetchUserData.php");
User returnedUser = null;
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
HttpResponse httpResponse = client.execute(post);
HttpEntity entity = httpResponse.getEntity();
String result = EntityUtils.toString(entity);
JSONObject jObject = new JSONObject(result);
if (jObject.length() == 0)
{
returnedUser = null;
}
else
{
returnedUser = new User(user.username, user.password);
}
}catch (Exception e){
e.printStackTrace();
}
return returnedUser;
}
@Override
protected void onPostExecute(User returnedUser) {
progressDialog.dismiss();
userCallback.done(returnedUser);
super.onPostExecute(returnedUser);
}
}
}
公共类服务器请求{
进行对话进行对话;
公共静态最终int连接\u超时=1000*15;
公共静态最终字符串服务器\u地址=”http://192.168.0.17:8081/project/";
公共服务器请求(上下文){
progressDialog=新建progressDialog(上下文);
progressDialog.setCancelable(假);
progressDialog.setTitle(R.string.progress\u对话框);
progressDialog.setMessage(“请稍候…”);
}
public void storeUserDataInBackground(用户用户,GetUserCallback userCallback){
progressDialog.show();
新建StoreUserDataAsyncTask(用户,userCallback).execute();
}
public void fetchUserDatainBackground(用户用户,GetUserCallback回调){
progressDialog.show();
新建fetchUserDataAsyncTask(用户,回调).execute();
}
公共类StoreUserDataAsyncTask扩展了AsyncTask{
用户;
GetUserCallback-userCallback;
public StoreUserDataAsyncTask(用户用户,GetUserCallback userCallback){
this.user=用户;
this.userCallback=userCallback;
}
@凌驾
受保护的Void doInBackground(Void…参数){
ArrayList dataToSend=新的ArrayList();
添加(新的BasicNameValuePair(“username”,user.username));
添加(新的BasicNameValuePair(“密码”,user.password));
HttpParams httpRequestParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,连接超时);
HttpClient客户端=新的默认HttpClient(httpRequestParams);
HttpPost=newhttppost(服务器地址+“Register.php”);
试一试{
post.setEntity(新的UrlEncodedFormEntity(dataToSend));
客户。执行(post);
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
progressDialog.disclose();
userCallback.done(null);
super.onPostExecute(避免);
}
}
公共类fetchUserDataAsyncTask扩展了AsyncTask{
用户;
GetUserCallback-userCallback;
公共fetchUserDataAsyncTask(用户用户,GetUserCallback userCallback){
this.user=用户;
this.userCallback=userCallback;
}
@凌驾
受保护的用户doInBackground(无效…参数){
ArrayList dataToSend=新的ArrayList();
添加(新的BasicNameValuePair(“username”,user.username));
添加(新的BasicNameValuePair(“密码”,user.password));
HttpParams httpRequestParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams,连接超时);
HttpConnectionParams.setSoTimeout(httpRequestParams,连接超时);
HttpClient客户端=新的默认HttpClient(httpRequestParams);
HttpPost=newhttppost(SERVER_address+“FetchUserData.php”);
用户returnedUser=null;
试一试{
post.setEntity(新的UrlEncodedFormEntity(dataToSend));
HttpResponse HttpResponse=client.execute(post);
HttpEntity entity=httpResponse.getEntity();
字符串结果=EntityUtils.toString(实体);
JSONObject jObject=新JSONObject(结果);
if(jObject.length()=0)
{
returnedUser=null;
}
其他的
{
returnedUser=新用户(User.username、User.password);
}
}捕获(例外e){
e、 printStackTrace();
}
返回者;
}
@凌驾
PostExecute上受保护的void(用户返回用户){
progressDialog.disclose();
userCallback.done(returnedUser);
super.onPostExecute(returnedUser);
}
}
}
这是我第一次将android连接到在线数据库,我仍在学习android开发,因此我希望这里能提供任何帮助。:) 您的问题表明您对基本术语有一些问题。 . 当您创建了一个帐户(顺便说一句,数据库最好不要存储)时,您可能会完全一样地记录:发送用户名和密码。如果它存在于数据库中,请创建 () 现在,您将能够根据用户的请求(通过会话)确定是否已到达 并将数据添加到表中
id | login | score
这是最简单的解决办法。祝你好运
public class ServerRequests {
ProgressDialog progressDialog;
public static final int CONNECTION_TIMEOUT = 1000 * 15;
public static final String SERVER_ADRESS = "http://192.168.0.17:8081/project/";
public ServerRequests(Context context){
progressDialog = new ProgressDialog(context);
progressDialog.setCancelable(false);
progressDialog.setTitle(R.string.progress_dialog);
progressDialog.setMessage("Please wait...");
}
public void storeUserDataInBackground(User user, GetUserCallback userCallback){
progressDialog.show();
new StoreUserDataAsyncTask(user, userCallback).execute();
}
public void fetchUserDatainBackground(User user, GetUserCallback callBack){
progressDialog.show();
new fetchUserDataAsyncTask(user, callBack).execute();
}
public class StoreUserDataAsyncTask extends AsyncTask<Void, Void, Void>{
User user;
GetUserCallback userCallback;
public StoreUserDataAsyncTask(User user, GetUserCallback userCallback){
this.user = user;
this.userCallback = userCallback;
}
@Override
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADRESS + "Register.php");
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
client.execute(post);
}catch (Exception e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
progressDialog.dismiss();
userCallback.done(null);
super.onPostExecute(aVoid);
}
}
public class fetchUserDataAsyncTask extends AsyncTask<Void, Void, User> {
User user;
GetUserCallback userCallback;
public fetchUserDataAsyncTask(User user, GetUserCallback userCallback) {
this.user = user;
this.userCallback = userCallback;
}
@Override
protected User doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADRESS + "FetchUserData.php");
User returnedUser = null;
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
HttpResponse httpResponse = client.execute(post);
HttpEntity entity = httpResponse.getEntity();
String result = EntityUtils.toString(entity);
JSONObject jObject = new JSONObject(result);
if (jObject.length() == 0)
{
returnedUser = null;
}
else
{
returnedUser = new User(user.username, user.password);
}
}catch (Exception e){
e.printStackTrace();
}
return returnedUser;
}
@Override
protected void onPostExecute(User returnedUser) {
progressDialog.dismiss();
userCallback.done(returnedUser);
super.onPostExecute(returnedUser);
}
}
}
//here we are looking for a user in the database. I do not know how to work with mysqli
session_start();
$_SESSION['name'] = $login;
if ($_SESSION['name'] != '')
id | login | score