http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 18126|回复: 2

[第三方对接] 安卓开发笔记-请求后台接口实现APP登录功能

[复制链接]
发表于 2017-1-12 16:34:50 | 显示全部楼层 |阅读模式
上次做了一个APP登录的界面,用户可以输入用户名和密码并点击登录按钮,这次顺着上次的思路我就想着给后台打通,请求后台接口来实现真正意义上的登录功能,在本次开发中,小李给了我很大的帮助,这里表示感谢。
首先需要导入一个第三方的jar包,这个jar包主要封装了get和POST请求,就像站长的httphelper类一样将一些请求功能进行封装,可以直接使用的。在工程项目下新建一个libs文件,然后将第三方xutils的jar包复制进去即可。成功后如下图

QQ截图20170112114701.png
QQ截图20170112114512.png

我们需要新建一个Java类,命名为App.java
[Java] 纯文本查看 复制代码
package com.example.hellowordtest;

import org.xutils.x;

import android.app.Application;

public class App extends Application{

        @Override
        public void onCreate() {
                // TODO Auto-generated method stub
                super.onCreate();
                x.Ext.init(this);
        }
}

在MainActivity.java类的onCreate方法里面初始化。
[Java] 纯文本查看 复制代码
protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                //初始化请求对象
                x.view().inject(this);

然后在之前的btn.setOnClickListener事件里进行Java代码编写。
[Java] 纯文本查看 复制代码
btn.setOnClickListener(new OnClickListener() {
                        
                        @Override
                        public void onClick(View arg0) {
                                String name=uname.getText().toString();//获取用户名 
                                String pass=pwd.getText().toString();//获取输入的密码
                                String msg="用户名:"+name+",密码:"+pass;
                                
                                //下面开始请求后台地址
                                RequestParams params = new RequestParams("http://192.168.18.185/Person/PersonHandler.ashx");
                                params.addBodyParameter("action", "login");
                                params.addBodyParameter("username",  uname.getText().toString());
                                params.addBodyParameter("pwd", pwd.getText().toString());
                                params.addBodyParameter("type", "android");
                                x.http().post(params,new Callback.CommonCallback<String>() {

                                        @Override
                                        public void onCancelled(CancelledException arg0) {
                                                // TODO Auto-generated method stub
                                                
                                        }

                                        @Override
                                        public void onError(Throwable arg0, boolean arg1) {
                                                // TODO Auto-generated method stub
                                                Log.e("错误", arg0.toString());
                                        }

                                        @Override
                                        public void onFinished() {
                                                // TODO Auto-generated method stub
                                                
                                        }

                                        @Override
                                        public void onSuccess(String arg0) {
                                                //请求成功方法 arg0为返回的数据
                                                Toast.makeText(MainActivity.this, arg0, Toast.LENGTH_LONG).show();
                                        }
                                });
                        }
                });


代码编写完成之后我们还需要设置一下联网权限,如图:
QQ截图20170112151419.png




如图选择用户权限,点击ok:

QQ截图20170112151444.png

选择Name:android.permission.INTERNET,然后Ctrl+S保存即可,如此该应用程序就具有了联网的权限。
QQ截图20170112151533.png

其次我们需要在AndroidManifest.xml注册一下App.java类。
QQ截图20170112162840.png

然后我们点击运行,执行效果如下:
QQ截图20170112163400.png

好了,这样请求后台已经成功, 我们可以根据弹出的提示信息看到,返回的是一个json数据,下一个帖子我准备着手研究如何将返回的数据转换为Java对象。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2017-3-24 00:20:07 来自移动端 | 显示全部楼层
谢谢分享,不过这个都是最基本的Android知识啊,慕课里有好多呢,要转换Java对象直接json转就可以啊
 楼主| 发表于 2017-3-24 09:56:05 | 显示全部楼层
wwwmaopu1201 发表于 2017-3-24 00:20
谢谢分享,不过这个都是最基本的Android知识啊,慕课里有好多呢,要转换Java对象直接json转就可以啊

这个就是楼主初学安卓开发时记录贴。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 16:54

© 2014-2021

快速回复 返回顶部 返回列表