Android与JavaWeb服务器交互教程(3)-一个简单的Android项目
来源:互联网 发布:radio单选按钮js实现 编辑:程序博客网 时间:2024/06/05 05:45
1.前言
是时候该写Android端了。。。
2.创建项目
](https://image.webprague.com/blog_img_1493542818525)
3.导入xUtils3框架
送上xUtil3框架的传送门
附上jar包的下载地址:
百度云
七牛云
以及json的下载地址
七牛云
百度云
把jar包拷入libs
添加引用
4.编写代码
4.1 添加权限
xUtil3框架需要添加权限才能正常使用
需要添加一下权限:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4.2 添加基础类
在 src/main/jaba/com.imudges.app.androidclient 下添加一个BaseActivity
代码如下:
package com.imudges.app.androidclient;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import org.xutils.x;/** * Created by HUPENG on 2017/4/30. */public class BaseActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); x.view().inject(this); }}
4.3 修改登录界面资源文件
activity_login.xml 文件位于app/src/main/res/layout/app/src/main/res/layout/
修改之后:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1" android:gravity="center"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/et_username" android:hint="用户名" android:imeOptions="actionDone" android:text="" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingBottom="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="密码" android:inputType="textPassword" android:imeOptions="actionDone" android:text="" /> </LinearLayout> <Button android:id="@+id/btn_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:layout_weight="0.01" android:textColor="#ffffff" android:textSize="17dp" /></LinearLayout>
4.4 完成登录界面逻辑
注意,服务器的地址要改成你自己的服务器的地址
package com.imudges.app.androidclient;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.google.gson.JsonObject;import com.google.gson.JsonParser;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.view.annotation.ContentView;import org.xutils.view.annotation.Event;import org.xutils.view.annotation.ViewInject;import org.xutils.x;@ContentView(R.layout.activity_login)public class LoginActivity extends BaseActivity { @ViewInject(R.id.et_username) private EditText etUsername; @ViewInject(R.id.et_password) private EditText etPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Event(value = R.id.btn_login,type = View.OnClickListener.class) private void onLoginBtnClick(View view){ /** * 这里填写你的服务器所在的IP地址替换我的ip地址 * */ try{ RequestParams params = new RequestParams("http://183.175.12.160:8899/login.action"); params.addQueryStringParameter("username",etUsername.getText().toString()); params.addQueryStringParameter("password",etPassword.getText().toString()); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String s) { JsonParser jsonParser = new JsonParser(); JsonObject jsonObject = (JsonObject) jsonParser.parse(s); int code = jsonObject.get("code").getAsInt(); if (code == 0){ //执行登录成功操作 Toast.makeText(LoginActivity.this,jsonObject.get("msg").getAsString(),Toast.LENGTH_SHORT).show(); }else { //执行登录失败操作 Toast.makeText(LoginActivity.this,jsonObject.get("msg").getAsString(),Toast.LENGTH_SHORT).show(); } } @Override public void onError(Throwable throwable, boolean b) { } @Override public void onCancelled(CancelledException e) { } @Override public void onFinished() { } }); }catch (Exception e){ e.printStackTrace(); } }}
4.5 在包下新建MyApplication
package com.imudges.app.androidclient;import android.app.Application;import org.xutils.x;/** * Created by HUPENG on 2017/4/30. *//** * Created by yangyang on 2017/4/24. */public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this);//Xutils初始化 x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能. }}
在清单文件中配置Application
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.imudges.app.androidclient"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" android:name=".MyApplication"> <activity android:name=".LoginActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest>
下面就可以跑了~~~
最后附上项目源码:
七牛云
百度云
0 0
- Android与JavaWeb服务器交互教程(3)-一个简单的Android项目
- Android与JavaWeb服务器交互教程(2)-搭建简易的JavaWeb服务
- Android与JavaWeb服务器交互教程(1)-搭建环境
- Android 项目建立一个简单的服务器
- 一些简单的android与sae服务器数据库交互代码
- Android在网络中与JavaWeb的项目进行交互的方法
- 《转》Android在网络中与JavaWeb的项目进行交互的方法
- Android和服务器servlet的简单交互
- android 与服务器交互
- Android与服务器交互
- Android与服务器交互
- android客户端与php服务器的json数据简单交互(一)
- android客户端与php服务器的json数据简单交互(一)
- JavaWeb - 浏览器与服务器交互的过程
- JavaWeb - 浏览器与服务器交互的过程
- 一个简单的javaweb项目
- Android网络应用之使用Scoket的Android客户端与TCP服务器的简单交互
- Android与服务器网站交互(一)
- 物资调度(01背包+求方案数)
- OpenStack Ocata 安装(三)安装镜像(Glance)服务
- A Survey of Appearance Models in Visual Object Tracking 阅读笔记(三)
- 【Kaggle笔记】新闻文本分类(朴素贝叶斯)
- 分治算法
- Android与JavaWeb服务器交互教程(3)-一个简单的Android项目
- 第七十一篇:从ADAS到自动驾驶(四):车辆检测
- P2234 HNOI2002 营业额统计——splay
- IToolbarMenu.AddItem()函数中的参数
- ROS模拟
- jdbc工具类-生成domain实体
- 数据库连接池之C3P0
- 【LeetCode】数组系列(去重)
- PWM 脉冲宽度调制