600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android+PHP 使用HttpClient提交POST的请求 使用JSON解析响应

Android+PHP 使用HttpClient提交POST的请求 使用JSON解析响应

时间:2022-11-30 20:35:15

相关推荐

Android+PHP 使用HttpClient提交POST的请求 使用JSON解析响应

后端开发|php教程

quot,Android,import,layout,String

后端开发-php教程

这里介绍一下如何让自己的Android程序具有联网功能。当然首先要有一台服务器,如果只是进行测试的话,可以使用局域网代替(手机连电脑wifi)。

个人表白网站源码,vscode部署ftp,ubuntu挂载移动硬盘内容,亚马逊vps tomcat,sqlite怎么使用教程,弹出选择目录框插件,前端框架被淘汰了吗,家里常见地爬虫,php生成字符串,seo Yeon,app影视网站源码,简单网页制作代码样例,云购cms模板下载,微信小程序打卡有奖源码lzw

要求电脑已配置好Apache+PHP环境。

.net课程设计源码,VsCode安装pip工具,ubuntu 18 amd,tomcat远程访问设置,sqlite更新界面没更新,爬虫的反爬虫机制,简历管理系统php,提供seo优化售后保障,苹果服务器网站源码,discuz 手机模板绑定域名lzw

下面是一个简单的Android程序,相信只要有一定的Java基础就能大概“猜懂”其中的含义。(程序可能写的不够完善)

微订票源码,ubuntu20.04迅雷,tomcat服务器替代,宝塔 爬虫插件,php 打印代码位置,eBay seolzw

Android程序

布局文件

Activity_vertical_margin" android:paddingLeft="@dimen/Activity_horizontal_margin" android:paddingRight="@dimen/Activity_horizontal_margin" android:paddingTop="@dimen/Activity_vertical_margin" tools:c android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="使用JSON解析" android:textSize="30sp"/> gravity="center">gravity="center">

MainActivity.java

package com.example.jsontest;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import org.Apache.http.HttpEntity;import org.Apache.http.HttpResponse;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 org.Apache.http.protocol.HTTP;import org.json.JSONArray;import org.json.JSONObject;import android.os.Bundle;import android.os.Looper;import android.support.v7.app.ActionBarActivity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends ActionBarActivity {EditText et_id;EditText et_psw;Button btn_login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.Activity_main);initView(); } private boolean check(String id, String psw) { if("".equals(id) || "".equals(psw)) return false; return true; } private void initView() { et_id = (EditText)findViewById(R.id.et_id); et_psw = (EditText)findViewById(R.id.et_psw); btn_login = (Button)findViewById(R.id.btn_login); btn_login.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//获取用户输入的用户名和密码final String id = et_id.getText().toString().trim();final String psw = et_psw.getText().toString().trim();if(check(id, psw)) {new Thread() {public void run() {try {HttpPost post = new HttpPost("这里要改成服务器文件所在URL地址");//如果传递参数个数比较多,可以对传递的参数进行封装List params = new ArrayList();params.add(new BasicNameValuePair("id", id));params.add(new BasicNameValuePair("psw", psw));//设置请求参数post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));HttpClient httpClient = new DefaultHttpClient();//发送POST请求HttpResponse response = httpClient.execute(post);//如果服务器成功地返回响应if(response.getStatusLine().getStatusCode() == 200) {//String msg = EntityUtils.toString(response.getEntity());HttpEntity entity = response.getEntity();InputStream is = entity.getContent();BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"), 8);StringBuilder sb = new StringBuilder();sb.append(reader.readLine() + "\n"); // 这里 “ + "\n" ”加不加似乎对结果没有什么影响String line = "0";while((line = reader.readLine()) != null) {sb.append(line + "\n"); // 这里 “ + "\n" ”加不加似乎对结果没有什么影响}is.close();//获取请求响应结果String result = sb.toString();System.out.println(result);//打包成JSON进行解析JSONArray jsonArray = new JSONArray(result);JSONObject jsonData = null;//返回用户ID,用户密码String userId = "";String userPsw = "";//使用List进行存储List data = new ArrayList();for(int i = 0; i < jsonArray.length(); i++) {jsonData = jsonArray.getJSONObject(i);userId = jsonData.getString("userId"); //userId是来源于服务器端php程序响应结果res的索引,根据索引获取值userPsw = jsonData.getString("userPsw"); //userPsw是来源于服务器端php程序响应结果res的索引,根据索引获取值data.add("用户ID:" + userId + ",用户密码:" + userPsw); //保存返回的值,可进行相应的操作,这里只进行显示}Looper.prepare();Toast.makeText(MainActivity.this, data.toString(), Toast.LENGTH_LONG).show();Looper.loop();}else {Looper.prepare();Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();Looper.loop();}}catch(Exception e) {e.printStackTrace();}}}.start();}}}); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent Activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}

而下面是一个服务器端php文件(文件内并未连接数据库的操作,如果希望的话,可以连接数据库,获取动态数据。对于php有所了解的人可以很容易的改成连接数据库获取数据的操作)

checkId.php

以上就介绍了Android+PHP 使用HttpClient提交POST的请求,使用JSON解析响应,包括了gravity,Apache,Exception,索引,连接数据库方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。