当前位置: 首页 > 知识库问答 >
问题:

如何使用Android Studio中的后置数据进行登录?(Java到php)

慕通
2023-03-14

对于一个学校项目,我们正在建立一个网站和应用程序。我们使用一个phpmyadmin数据库为我们的网站,我们正试图创建一个登录我们的应用程序(android studio,Java)使用这个数据库。因此,我们试图在android studio中使用http post请求到我们的Web服务器,从而Java到PHP。但是,我没有很多编码方面的经验,也不能真正在网上找到我要找的东西。

那么,我该从哪里开始呢?

共有1个答案

汪欣德
2023-03-14

在main-class中,首先使用interface创建apiclient连接,然后通过reverfit调用调用interfacelogin函数:

依赖项:

implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

主类:

 ApiInterface apiInterface;
    apiInterface = ApiClient.getApiClient().create(ApiInterface.class);
    Call<Response> call = apiInterface.login(email,password);

                call.enqueue(new Callback<Response>() {
                    @Override
                    public void onResponse(Call<Response> call, Response<Response> response) {
                        if (response.body() != null) {
                            //do actions here
                            }
                       
                    }

                    @Override
                    public void onFailure(Call<Response> call, Throwable t) {
                    
                    }
                });

ApiInterface接口:

   public interface ApiInterface {
    
            @FormUrlEncoded
    @POST("login.php")
    Call<Response> login(@Field("email") String email,
                          @Field("password") String password);
    }

连接的ApiClient:

public class ApiClient {
    public static final String base_URL = "https://etx.com/android/";
    private static Retrofit retrofit = null;

    static final OkHttpClient okHttpClient = new OkHttpClient.Builder()
            .connectTimeout(20, TimeUnit.SECONDS)
            .writeTimeout(20, TimeUnit.SECONDS)
            .readTimeout(30, TimeUnit.SECONDS)
            .build();

    public static Retrofit getApiClient(){

        if(retrofit==null){

            Gson gson = new GsonBuilder()
                            .setLenient()
                            .create();

            retrofit = new Retrofit.Builder()
                    .baseUrl(base_URL)
                    .addConverterFactory(GsonConverterFactory.create(gson))
                    .client(okHttpClient)
                    .build();
        }
        return retrofit;
    }
}

注意:如果你仍然不明白,你可以评论和问我。

 类似资料:
  • 问题内容: 我想使用python urllib2来模拟登录操作,我使用Fiddler捕获数据包,并获得登录操作只是ajax请求,并且用户名和密码作为json数据发送,但是我不知道如何使用urllib2发送JSON数据,帮助… 问题答案: 假设您使用HTTP POST发送带有用户名和密码的简单json对象。

  • 所以我正在尝试在Eclipse中制作一个简单的聊天信使。目前,我对如何将用户登录详细信息与存储在数据库表中的详细信息进行比较感到困惑。我有一个“askName()”方法,它接受用户名和密码,这需要使用我的“身份验证”方法来检查存储在数据库登录表中的详细信息。 我一直在这里和网上搜索,找到了很多有用的代码来获取想法。然而,我已经有一段时间一直在思考这个问题,我对编程还是很陌生,如果有任何帮助,我将不

  • 我有一个带有javascript的html页面,我想在其中自动登录用户。我有以下代码: 在键斗篷服务器上,我添加了网络起源'*'。我得到以下错误: 邮递http://localhost:8180/auth/realms/Myrealm/protocol/openid-连接/令牌400(错误请求) 我不知道为什么它不起作用。当我使用终端时,它工作正常: (钥匙斗篷版本4.8.3) 我得到以下回应:

  • 问题内容: 我试图登录到http://www.magickartenmarkt.de网站,并在会员区域(https://www.magickartenmarkt.de/?mainPage=showWants)进行一些分析。我看到了其他示例,但是我不明白为什么我的方法行不通。我为第一种方法确定了正确的形式,但尚不清楚它是否有效。在第二种方法中,重播网页向我显示我无权访问会员区。 我很乐意提供任何帮助

  • 问题内容: 我是脚本新手。我有一个表(),我需要创建另一个表,该表的Table1行按列排列,反之亦然。我已经找到了针对Perl和SQL而不是针对Python的解决方案。 我两天前才开始学习Python,所以据我所知: 这只是将列复制为列。我现在想做的是将最后一行写为,但是似乎没有这样的命令,而且我还没有找到将行写为列的另一种方法。 问题答案: 通常,转置可迭代序列的解决方案是:zip(* orig

  • 我有一个在Java设计的应用程序,我愿意使用用户名和密码登录AWS。我知道如何使用这里定义的默认安全凭据,但它对我的应用程序需求无效。有没有办法使用用户名和密码使用JavaAPI登录我的AWS帐户?