IDEA后台与安卓数据交互

这篇具有很好参考价值的文章主要介绍了IDEA后台与安卓数据交互。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实现功能:Android app发ID数据给IDEA
后台,后台根据获取到的ID数据查询数据库并将对应的数据发回客户端显示在app界面

开发工具:IDEA,Android studio,MySQL

Android端:(以下为需要新建或者修改的文件,以便新手学习)
IDEA后台与安卓数据交互

客户端运行示例:
IDEA后台与安卓数据交互
代码展示:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {
    //登录用户名输入框
    private EditText et_username;
    //登录密码输入框
    private EditText et_password;
    //登录按钮
    private EditText id;
    private Button bt_login;
    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取组件
        init();
        //对登录按钮的点击监控
        bt_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Toast.makeText(LoginActivity.this, "登录成功!", Toast.LENGTH_LONG).show();
                final Handler myHandler = new Handler(){
                    public void handleMessage(Message msg){
                        String responseResult = (String)msg.obj;
                        // Toast.makeText(LoginActivity.this, "登录成功!", Toast.LENGTH_LONG).show();
                        //登录成功
               System.out.println("response"+responseResult);
                       try{
                        JSONObject root = new JSONObject(responseResult);
                           String userName = root.getString("userName");
                           tv.append("userName"+"="+userName+"\n");
                       }
                       catch (JSONException e) {
                           e.printStackTrace();
                       }
                        if(responseResult.equals("" +
                                "true")){  Toast.makeText(com.example.myapplication.MainActivity.this, "登录成功!", Toast.LENGTH_LONG).show();
                        }
                        //登录失败
                        else{                 Toast.makeText(com.example.myapplication.MainActivity.this, "登录失败!", Toast.LENGTH_LONG).show();
                        }
                    }
                };
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        GuestToServer guestToServer = new GuestToServer();
                        try {
                            //如果是调用GuestToServer中验证用户名与密码的方法则使用下面句
                           //String result = guestToServer.doPost(et_username.getText().toString().trim(), et_password.getText().toString().trim());
                            String result = guestToServer.doPost(id.getText().toString().trim());
                            Message msg = new Message();
                         msg.obj = result;
                            myHandler.sendMessage(msg);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });
    }
    /**
     * 获取组件
     */
    private void init() {
        et_username = (EditText)findViewById(R.id.et_username);
        et_password = (EditText)findViewById(R.id.et_password);
        id= (EditText)findViewById(R.id.id);
        bt_login = (Button)findViewById(R.id.bt_login);
        tv = (TextView) findViewById(R.id.tv);//获取到TextView组件
    }

}
 GuestToServer
import android.util.Log;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;


public class GuestToServer {

    //localhost为本地主机IP地址/login为idea后台项目名
    private String url = "http://localhost:8080/login";
    //服务器返回的结果//
    String result = "";
    /**
     * 使用Post方式向服务器发送请求并返回响应
     *
     * //如果使用验证用户名及密码的方法那么使用public String doPost(String username, String password) throws IOException {
     * //且放出下面两句参数设置
    // * @param username 传递给服务器的username
   //  * @param password 传递给服务器的password
     *  @param id 传递给服务器的id
     * @return
     */
    public String doPost(String id) throws IOException {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        NameValuePair param3 = new BasicNameValuePair("id", id);
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(param3);
        //将参数包装如HttpEntity中并放入HttpPost的请求体中
        HttpEntity httpEntity = new UrlEncodedFormEntity(params, "GBK");
        httpPost.setEntity(httpEntity);
        HttpResponse httpResponse = httpClient.execute(httpPost);
        //如果响应成功
        if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            //得到信息体
            HttpEntity entity = httpResponse.getEntity();
            InputStream inputStream = entity.getContent();
            BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
            String readLine = null;
            while ((readLine = br.readLine()) != null) {
                result += readLine;
            }
            inputStream.close();
            return result;
        }
        //响应失败
        else {
            return "false";
        }
    }
    /*
    public String doPost(String username, String password) throws IOException {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        //将username与password参数装入List中
        NameValuePair param1 = new BasicNameValuePair("username", username);
        NameValuePair param2 = new BasicNameValuePair("password", password);
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(param1);
        params.add(param2);
        //将参数包装如HttpEntity中并放入HttpPost的请求体中
        HttpEntity httpEntity = new UrlEncodedFormEntity(params, "GBK");
        httpPost.setEntity(httpEntity);
        HttpResponse httpResponse = httpClient.execute(httpPost);
        //如果响应成功
        if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            //得到信息体
            HttpEntity entity = httpResponse.getEntity();
            InputStream inputStream = entity.getContent();
            BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
            String readLine = null;
            while ((readLine = br.readLine()) != null) {
                result += readLine;
            }
            inputStream.close();
            return result;
        }
        //响应失败
        else {
            return "false";
        }
    }*/
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_login"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:text="登录界面"
        android:textSize="10dp"
        android:textColor="#003399"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:gravity="center_horizontal"
        android:layout_margin="10dp"/>
    <TextView
        android:text="用户名"
        android:textSize="20dp"
        android:textColor="#CC0000"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:layout_margin="10dp"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/et_username"
        android:textSize="10dp"
        android:textColor="#003399"
        android:layout_margin="10dp"/>
    <TextView
        android:text="密码 "
        android:textSize="20dp"
        android:textColor="#CC0000"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView3"
        android:layout_margin="10dp"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/et_password"
        android:textSize="10dp"
        android:textColor="#003399"
        android:layout_margin="10dp"/>
    <TextView
        android:text="ID "
        android:textSize="20dp"
        android:textColor="#CC0000"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/idtextview"
        android:layout_margin="10dp"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/id"
        android:textSize="10dp"
        android:textColor="#003399"
        android:layout_margin="10dp"/>
    <Button
        android:text="登录"
        android:textSize="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/bt_login"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="#0099FF"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tv"/>
</LinearLayout>

如果项目出现报错,记得检查报错日志,一般是apache没有导入
在build.gradle里加入这行
useLibrary’org.apache.http.legacy’
IDEA后台与安卓数据交互
由于版本不同,有些需要在manifest文件中的appication加入

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">
        <uses-library android:name="org.apache.http.legacy" android:required="false"/>

至此,Android app搭建完毕,可试运行
IDEA后台项目搭建:
可参考上一篇小程序后台,共用一个后台与数据库无需更改文章来源地址https://www.toymoban.com/news/detail-489508.html

到了这里,关于IDEA后台与安卓数据交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android+阿里云数据库,实现安卓云数据库

    目录 阿里云部分 Adnroid配置部分 Android代码部分 效果 在阿里云中查看已保存的数据 进入阿里云首页,这里选择的是 云数据库RDS MySQL版 。 购买完成后,点击 控制台 。 点击 “云数据库RDS版” 点击 实例列表 点击 实例ID 接下来是 设置白名单 。 测试的话,设置为 0.0.0.0/0 就可

    2024年02月05日
    浏览(46)
  • Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程

    个推是商用级的移动应用消息推送云服务供应商,客户端 SDK 支持 Android 和 iOS 两大平台,开发者集成 SDK 后,可以通过个推强大的 web 端及丰富的 API 开放接口,发送推送消息、统计分析推送效果。可有效提高 App 活跃度,增加用户留存率。 如果您还没有个推 账号,可在 个推

    2024年02月04日
    浏览(46)
  • uniapp - 安卓|苹果App软件实现调用百度人脸识别接口服务及人脸活体认证功能,uniapp苹果ios、安卓Android手机app平台,人脸认证、活体检测、身份证与人脸验证(示例代码,一键复制

    在uniapp手机App开发中(安卓Android|苹果ios系统),利用百度人脸识别api接口对接uniapp APP进行人脸识别、人脸检测、活体验证、人脸对比、人脸搜索、身份证信息是否与人脸匹配,支持离线SDK集成、离线无网络正常使用功能、自定义人脸识别框附近的页面样式和大小等。 提供详

    2024年04月11日
    浏览(68)
  • Android实现与PHP后端的交互(数据传输,文件传输)(超详细/附源码)

    为方便大家浏览,源码先行奉上 github源码链接 https://github.com/Recycle1/Android-connect-PHP csdn源码链接 https://download.csdn.net/download/weixin_52263647/87751491 在Android开发中,经常涉及与服务器端交互的过程,在现在的APP制作中,经常利用互联网通信,从云端获取图片,数据等信息,本篇文

    2024年01月19日
    浏览(39)
  • 【unity与android的交互】移动游戏发布更安心!Unity安卓平台打包相关的常见参数全详解

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 首先需要切换到安卓平台 step1 :打包前的基础参数的设置 step2:包名的设置需要勾选,必须要去设置的内容 打包后进行测

    2024年04月17日
    浏览(75)
  • 【微信小程序】后台数据交互于WX文件使用

    目录 一、前期准备 1.1 数据库准备 1.2 后端数据获取接口编写 1.3 前端配置接口 1.4 封装微信的request请求   二、WXS文件的使用 2.1 WXS简介 2.2 WXS使用   三、后台数据交互完整代码 3.1 WXML 3.2 JS 3.3 WXSS 效果图  创建数据库: 注意: 字符集选择 utf8mb4 ,因为可能用存储用户信息,

    2024年02月08日
    浏览(51)
  • 会议OA小程序项目 与后台数据的交互【首页】

    目录 一. 与后台数据进行交互 pom.xml 配置数据源 MinoaApplication WxHomeController 后台数据展示  二. request的封装 三. 会议展示 application.yml 在utils/util.js中 api.js index/index.js utils/comm.wxs index/index.wxml  效果展示

    2024年02月07日
    浏览(47)
  • 关于安卓viewpager实现堆叠卡片交互

    长江后浪推前浪,无聊的需求一浪接一浪。 最近做到一个关于卡片堆叠的需求,觉得挺有意思,所以特此记录一下。 文末将附上源码链接 首先看设计图: 可以看到,是一个卡片堆叠的效果,关于这种UI的实现,方法有很多,例如用recyclerview,viewpager,甚至说自定义view都可以

    2024年02月11日
    浏览(38)
  • 小程序之后台数据动态交互及WXS的使用 (5)

                                                    ⭐⭐ 小程序专栏:小程序开发专栏                                                 ⭐⭐ 个人主页:个人主页 目录 一.前言 二.后台数据交互   2.1 准备工作  2.1 前台首页数据连接: 三.WXS的使用 今天就分享到

    2024年02月08日
    浏览(37)
  • Android:安卓开发采用Volley网络框架+MySQL数据库,实现从服务器获取数据并展示完成记单词APP

    实现功能:设计一个记单词APP。服务器采用Tomcat,数据库采用Mysql。实现用户的注册登录功能以及单词的增删改查。 指标要求:实现UI布局;将系统数据保存到Mysql数据库中,并采用Volley网络框架实现从服务器获取数据并展示。 步骤1:搭建开发环境。 步骤2:准备资源。 步骤

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包