android studio 与后台交互问题 网络访问的问题 5C

url返回了我需要的值 只有我在控制台点击url的时候 服务器端才会有反应

HttpResponse response = httpClient.execute(httpGet);不执行

代码如下:
package com.cy.mynj.com.cy.mynj.login;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.cy.mynj.R;
import com.cy.mynj.com.cy.mynj.activities.MainActivity;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener{
private EditText et_phone;
private EditText et_password;
private Button btn_login;
private TextView tv_login_register;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initViews();
}
private void initViews() {
et_phone=(EditText)findViewById(R.id.et_phone);
et_password=(EditText)findViewById(R.id.et_password);
btn_login=(Button)findViewById(R.id.btn_login);
btn_login.setOnClickListener(this);
tv_login_register=(TextView)findViewById(R.id.tv_login_register);
tv_login_register.setOnClickListener(this);
tv=(TextView)findViewById(R.id.tv);
}
@Override
public void onClick(View view) {
String phone = et_phone.getText().toString();
String password=et_password.getText().toString();
System.out.println(phone + "," + password);
System.out.println("按钮点击的线程的名字为:"
+ Thread.currentThread().getName());

            Mythread mythread= new Mythread(phone,password);
            mythread.start();


}
Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        // TODO Auto-generated method stub
        super.handleMessage(msg);

        tv.setText(Thread.currentThread().getName() + msg.obj);
        // 在把这个字符串变成一个JSONObejct
        try {
            JSONObject obj = new JSONObject(msg.obj.toString());
            String value = obj.getString("loginstate");
            System.out.println("value-->" + value);
            if (value.equals("success")) {
                Intent intent = new Intent(LoginActivity.this,
                        MainActivity.class);
                startActivity(intent);
            } else {
                Toast.makeText(LoginActivity.this, "登录失败",Toast.LENGTH_SHORT
                ).show();
            }
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
};
private class Mythread extends Thread {
    private String phone;
    private String password;
    public Mythread(String phone, String password) {
        this.phone = phone;
        this.password = password;
    }
        @Override
    public void run () {
        // 在线程中请求服务器的资源
        // Apache HttpClient
        // 1.创建HttpClient对象
        HttpClient httpClient = new DefaultHttpClient();
        Log.d("test", "t0");
        // 2.构建请求的URL
        String url = "http://172.20.10.3:8080/appnews/user?phone=" + phone
                + "&password=" + password + "&operator=login";
        // String url = "http://10.0.2.2:8080/appnews/servlet/StudentServlet";

        // 3.创建HttpGet请求的对象
        HttpGet httpGet = new HttpGet(url);
        Log.d("test4", "t4");
        // 4.使用创建的httpClient执行这个httpGet请求
        try {
            HttpResponse response = httpClient.execute(httpGet);
            Log.d("test3", "t3");
            // 5.判断服务器端请求和应答是否成功
            if (response.getStatusLine().getStatusCode() == 200) {
                System.out.println("请求和应答成功");
                // 服务器端传输的数据的一个android封装的对象
                HttpEntity entity = response.getEntity();
                String msg = EntityUtils.toString(entity, "UTF-8");
                System.out.println("server-->" + msg);
                // 在android中,子线程不能更新界面组件的值,
                // 因为界面组件是单线程模型,必须回到主线程更新组件的值。
                // tv.setText(msg);
                // 构建消息对象
                Message smsg = new Message();
                smsg.obj = msg;
                handler.sendMessage(smsg);
            }
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.d("test5", "t5");
            e.printStackTrace();
        }
    }
}
}
0

6个回答

试试看直接用浏览器来访问请求的URL,看看能不能正常返回你需要的

0
weixin_39125267
weixin_39125267 不能正常返回 我debug运行的时候一到子线程的部分就没有运行
一年多之前 回复

服务器是否有返回值,是格式不对还是根本没有返回值

0

代码太多没有查看,一般来说前后台无法交互,都是协议出问题了,建议你用在线模拟请求的发送的网址,测试一下能不能正常返回数据,如果不能就要修改你后台代码。测试最好用真机测试,因为模拟器网络请求有些时候会出一些莫名其妙的bug,我经常遇见明明弹窗是请求失败,偏偏还正常返回数据了

0

你可以用真机试一下,直接在浏览器输入URL,看返回值有无

0
weixin_39125267
weixin_39125267 回复qq_33756493: HttpResponse response = httpClient.execute(httpGet);这句无法执行 服务器端接收不到
大约一年之前 回复
qq_33756493
昵称_Justin 回复weixin_39125267: 你可以加个断点吧,我觉得你的try里面有地方异常导致的
一年多之前 回复
weixin_39125267
weixin_39125267 返回值为null 服务器端没有正常运行
一年多之前 回复

用电脑连接手机,直接测试一下看看,最好是Debug测试

0
0
weixin_39125267
weixin_39125267 都没有用
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android在网络中与JavaWeb的项目进行交互的方法
最近在研究一些Android和JavaWeb项目的交互问题,总结一点东西在这篇文章里。首先说来,如果想要实现Android在网络上与JavaWeb的交互,就要把JavaWeb的项目的方法暴露在网络中,然后供Android的这一端调用,实现交互,其中,主要用到了两个知识点,WebService和SOAP的使用。     这里我写了一个很简单的小例子来实现交互。     首先,在开发工具中,创建了
Android Studio问题总结篇
1. 解决Gradle project sync failed. Please fix your project and try again.启动Studio出现Gradle project sync failed. Please fix your project and try again.这个问题。就是让fix progect 在Eclips在AndroidTool里就有Fix progect...
Android与web后台进行数据交互的三种方式
无论是用哪种方式使Android与web后台进行数据交互,都需要在eclipes中写一个完整的操作流程,在这里,我是写了一个登录。(没有从数据库进行判断,而是直接把用户名和密码定死了),下面就是我的后台web端。你可以根据你的不同需求在jsp界面用你所需要的提交方式来写 login,jsp: <%@ page language="java" contentType="text/html; ch
Android Studio中使用开源库volley进行网络访问简单示例
volley特性 :    1>使用volley开源库进行网络访问,使网络访问更简单,快速,健壮    2>可以将网络访问与activity生命周期相关联 1.环境     AndroidStudio 2.1正式版    volley.jar    关于将volley.jar导入androidStudio网上有很多教程,很简单,此处省略 2.开始使用volley库进行网络访问
Android客户端与后台服务器的数据交互
Android客户端与服务器的数据交互 这是今年7月份时在一家公司实训时自己做的一个小项目,仅仅是一个简单的模拟Android客户端与服务器的数据交互,中间会有串口通信,以及利用JDBC连接Mysql数据库
Android与web后台进行数据交互
无论是用哪种方式使Android与web后台进行数据交互,都需要在eclipes中写一个完整的操作流程,在这里,我是写了一个登录。(没有从数据库进行判断,而是直接把用户名和密码定死了),下面就是我的后台web端。你可以根据你的不同需求在jsp界面用你所需要的提交方式来写 login,jsp: [html] view plain copy %
android客户端与服务端交互简单登录实现
android客户端与服务端交互简单登录实现; 客户端是androidstudio 是module不是project; 服务端是eclipse; 修改下url就可以用了。
Android笔记: Android后台接口教程二Android 客户端与服务端交互Android 前后台通信 post方式
androrid android studio 后台接口 后台 服务 数据库 前端交互 post
Android开发9:网络访问&Web服务开发
阅读目录前言基础知识实验内容实验过程实验截图其他总结源码下载注回到顶部前言   啦啦啦各位小伙伴们好~   一起进入我们今天的主题。今天我们将和大家学习网络访问和Web服务开发的相关知识,一起学习熟练使用 HttpURLConnection 访问 WebService,熟悉使用多线程以及 Handler 更新 UI,熟悉使用 XmlPullParser 解析 xml 文档数据,了解 Recycle...
android端与servlet端简单交互
客户端代码:public class RetrofitDemoActivity extends BaseActivity { private String mUserName; private String mPassWord; private EditText mEt_userName; private EditText mEt_passWord; final
Android客户端与服务器端交互,如何保持session回话
前言 最近在开发项目的过程中,遇到Android与web服务器要在同一session下通信的问题。 一、Session与Cookie的共性与区别: ①、共性 Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。 Session可以用Cookie来实现,也可以用URL回写
Android Studio 学习(四)——通过活动进行交互
前言 对Android Studio的结构有了最基本的了解后, 就该开始添加活动啦,活动其实就类似桌面应用中的控件,可以是一个按钮,一行文本,一个表格等等,作用自然就是和用户进行交互了。 添加第一个活动——button1 既然要“添加”活动,那肯定要从一个空活动的项目开始学习了。 当然也因为是空的项目,所以活动路径下的文件夹也是空空如也。 由于Android程序设计讲究逻辑和视图...
Android开发后台数据接口交互实现简单的登录案例
今天给大家带来的是客户端与服务器端的通信,话不多说,直接上例子:界面今天我们实现一个注册的功能,客户端的界面编写神马的咱就不在这浪费时间了,我这也直接写好了,一个最简单的注册和登录界面:界面写好之后,接下来咱们就去弄接口了。数据库  这里使用的mysql,搭建数据库这一步自己去搞定 ,新建一个test_sql数据库,在里面创建一个user表里面的字段就三个user_id,user_name,use...
Android与PHP服务器交互
服务器端:server.php
【Android】- 搭建服务器进行前后端的交互
Web服务端和客户端的交互,Okhttp请求的方式,包括get 和 post ,请求图片,服务器的搭建。
项目中遇到的一些前后台数据交互小问题
1、在JSTL语句中,中,判断属性是否相等,判断语句在${}中进行,及: 2、在JSTL中,没有if else,使用choose、whe、otherwise来表现条件判断 ${item.value} ${item.value } 3、select的id名不能取为type,不然获取不到的; 4、在javaScript 中获取Text文本框中的值:eval(d
关于Androidstudio3.2和unity互相调用的一些坑
本人认识安卓,但是安卓不认识我,所以记录此文章做留念。 使用Unity(2017.4.13f1版本)调用安卓的方法 步骤: 1.安装AndroidStudio(3.2版本),安装成功后,新建工程,然后出现一堆的红,各种报错,很大一部分原因是下载需要的资源文件下载不到,解决的方式有两种:第一种是直接从外部下好各个版本的SDK,然后指向下好的SDK。第二种是通过AndroidStudio自己去下...
Android与服务端(SSM)交互
这里写自定义目录标题客户端服务端方式一:PrintWriter方式二:OutputStream方式三:使用@ResponseBody注解 客户端 Android在Android Studio平台,采用OkHttp进行网络请求 服务端 服务端采用了SSM(Spring+SpringMVC+MyBatis)框架 这里介绍服务端接收并返回json数据的多种方法 方式一:PrintWriter @Requ...
Android原生与JavaScript交互详解
这几天公司项目里提到了原生与HTML交互的需求,之前一直用的前人封装好的工具类。今天打算好好梳理下Android中原生与网页交互的方法和注意事项。 谈到Android与HTML交互,其本质还是WebView与JavaScript的交互过程。这就分为两种情况: WebView或者说App调用JS方法 JS调用APP的原生方法 我们就从这两大方面逐步讲解这两种情况的实现。 App调用JS方...
Android客户端与数据库交互数据的简单学习
Ø  数据库整理方案如下: 一、Android+ webservices+SQLServer  : 通过webservices客户端向指定服务器发送请求,服务器响应返回指定格式的数据,如json或者xml格式。 (数据库操作在服务器端完成)   参考文章: Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端) Android做客户端,PC
Android学习-----如何使用sqlite进行后台数据交互,sqlite入门使用例程
SQLite 是一款非常流行的嵌入式数据库,它支持 SQL 查询,并且只用很少的内存。Android 在运行时集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。对数熟悉 SQL 的开发人员来时,使用 SQLite 相当简单。可以,由于 JDBC 不适合手机这种内存受限设备,所以 Android 开发人员需要学习新的 API 来使用 SQLite。本文
android 页面设计遇到的那些坑与总结
1、页面滑动问题 在很多时候控件在一页显示不下的时候需要滑动,用到 ScrollView,但是他内部只能包一层布局,可以把LinearLayout包进去,另外,如果想要ScrollView 占据整个屏幕空间 需要加 android:fillViewport=&quot;true&quot; 2、ImageView 填充问题 在往ImageView中展示图片的时候,如果是将原图的中心对准ImageView的中心,...
Android 网络访问 线程注意事项
模拟一个 从网络中读取一个图片展示到imageView的操作: 注意事项1:         URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection();         执行此方法用来开辟一个URL请求,该请求在Android4.0版本以后需要放到子线程中实现
Android Studio打包遇见的一些问题
在用Studio打包APK时经常会遇到各种各样的问题,下面说一下我所遇到问题的解决办法。 问题一: 这个问题是因为我的strings.xml文件作了国际化,有两个strings.xml文件,其中一个是中文语言环境下的,一个是默认英语语言环境下的。在中文语言环境下的strings.xml文件中有“title_activity_danger_video”,"title_avtivity_w
长时间锁屏后网络会临时中断问题
首先右键网络,打开网络和共享中心。 打开对应网卡属性。 直接点击配置。 选择电源管理,将允许计算机关闭此设备以节约电源取消勾选。
安卓如何与后台交互流程
java后台程序,原始页面只是利用html进行网页版的显示,那么在日常的开发过程中到底安卓如何使用以及利用我们的后台呢???      安卓程序流程::  1:::首先创建好自己的android layout布局文件: 2:在创建好的activity中的:protected void onCreate(Bundle savedInstanceState)  这个方法
Android 客户端与服务器端进行数据交互(一、登录服务器端)
概要安卓APP要实现很多功能(比如登录注册、发表评论等)时都必须要使用到网络数据交互。所以在学习了这部分内容后,就将其以最常见的登录过程为例整理出来,也方便跟我一样的新手能迅速学习上手。 预期效果图如下,输入手机号和密码,点击Login按钮,上传数据到服务器端进行验证,再对结果进行反馈。 博客分一二两篇,第一篇是服务器端,第二篇是Android客户端 而服务器端分为User model、Use
SSM与android端数据交互
一.前言 最近第一次用ssm与安卓端实现了数据交互,我这里数据交互通过传送接受JSON数据来实现的。实现了登录注册和对某些实体类数据的增删改查。   二.后端的具体实现 我们实体类的数据和安卓端的实体数据名字要是相同的,不然获取不到后端发送的JSON数据,作为后端我们不用去了解安卓端是怎么实现发送和接受JSON数据,我们只要保证实体类属性名相同,并给他们一个后端接口(一个URL地址),也就...
Android app网络访问控制
Android下基于Iptables的一种app网络访问控制方案(一) http://blog.csdn.net/zhanglianyu00/article/details/50177873Android系统中iptables的应用(二)BandwidthController http://blog.csdn.net/xiaokeweng/article/details/48810049
Android客户端与服务器端的json数据交互(内含大量知识点)
Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。
SSM + Android 网络交互的那些事
ssm做为后台与android交互,相信只要是了解过的人都知道一些基本的数据交互,向json,对象,map的交互就像喝水一样简单,这些基本的交互也是学习ssm后台开发的基本,但是好多人却是会忽略文件的交互。毕竟大多数培训老师是没有讲这些东西的(至少小编我的启蒙老师就没有介绍过)。好了废话不多说,直接上!!!!!!!!      在这里我用的是okHttp网络请求框架:https://github
安卓和java服务端交互遇到问题大坑
问题一:从来没有做过安卓等客户端类的软件开发,依然沿用cookie_session机制进行客户认证和授权,但是,app的用户机制貌似不符合,折腾好几天,改shiro的存储机制,发现还是达不到需要的效果,最终浪费了很多时间,后来在网上看了大部分人使用token进行用户表示,这个一种无状态的,客户端需要存储token,请求服务端时放到请求的头部携带到java服务端,java服务端获取token以后进行
Android使用JavaMail后台发送邮件遇到的一些问题
NULL 博文链接:https://hautxsh.iteye.com/blog/1537259
Android客户端与服务器交互,登录案例
实现了Android客户端与服务器的交互,客户端采用Android Studio开发,Web服务器采用MyEclipse开发,数据库使用MySQL,采用Hibernate框架开发
Android Studio第一次创建项目遇到的问题
看着貌似是依赖下载不了。。0-0, 各位大佬能给点解决办法吗 ,已经重装了无数次了,每次的预览图都显示不出来。。。要崩溃了,啊啊啊啊啊啊啊。。。。。。。...
前后台交互的问题
架构 SSM   前后台数据处理时间格式处理使用mybatis查询数据时,如果数据库存储的是timestamp、datetime、date、time等时间类型,而Java bean也使用的是date类型,mybatis会自动将date类型转换为unix long时间eg:1503912320000,而不是时间格式。 解决方式有两种: 1.将Java bean 中的类型改为String类型。 2.在...
解决Android Studio的卡顿问题
1.打开help 2.粘贴如下内容 -Xms2048m -Xmx2048m -XX:MaxPermSize=2048m -XX:ReservedCodeCacheSize=1024m   3.执行这步骤,重启安装大概几分钟(作者电脑如此,其余开发者看情况)   4.as真快....
Android与HTML+JS交互入门
在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的javascript进行交互,Android也对交互做了很好的封装,所以很容易实现例如:点击网页中的按钮Android调用原生对话框,点击网页中的电话号码调用Android拨号APP。这篇给大家介绍下如何实现An
Android WebView JS交互 混淆打包需要注意的问题
android 4.2以后, 因为安全性的考虑 js交互需要添加注解, 因此注解需要保留 # 保留所有注解 -keepattributes *Annotation* -keepattributes *JavascriptInterface* # 替换成自己的包名 保留对应的交互方法 -keepclassmembers class .MainActivity$JSInterface {
android(eclipse)和myeclipse(tomcat服务器)交互
用android 客户端去访问 myeclipse tomcat 服务器里的内容 注意服务端和客户端需要在同一局域网内
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 ios视频开发问题