1. 下载官网的android SDK(本人用的是eclipse)
2. 新建一个android项目:
File->new->andriod Application project
3、点击next,建立第一个mainActivity
4、启动服务器端,本人采用的是ssh搭建的server端,能接受前台的post或get请求,然后返还json数据(本例子,主要演示如何在android发送post和get请求)
6、下面有很关键的几步的,与在本地编写web有所不同:
A:android端的url要写上服务器端的ip:
如下:
String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd='测试'"
(后面我会给出完整的代码)
B、要在AndroidManifest.xml文件中添加:
7、下面就是具体的使用post和get请求的代码:
A:发送get请求如下:
package com.example.xiaoyuantong
import java.util.HashMap
import java.util.Iterator
import org.json.JSONException
import org.json.JSONObject
import android.app.Activity
import android.os.Bundle
import android.util.Log
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.RequestQueue
import com.android.volley.Response
import com.android.volley.VolleyError
import com.android.volley.toolbox.JsonObjectRequest
import com.android.volley.toolbox.Volley
/**
* Demo
*/
public class MainActivity extends Activity {
private RequestQueue requestQueue
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
init()
}
private void init() {
TextView textView = (TextView)findViewById(R.id.textView)
requestQueue = Volley.newRequestQueue(this)
getJson()
textView.setText("hello")
}
private void getJson(){
String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd='测试'"
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//这里可以打印出接受到返回的json
Log.e("bbb", response.toString())
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
// System.out.println("sorry,Error")
Log.e("aaa", arg0.toString())
}
})
requestQueue.add(jsonObjectRequest)
}
}
B:发送post请求如下:
package com.example.xiaoyuantong
import java.util.HashMap
import java.util.Map
import org.json.JSONException
import org.json.JSONObject
import com.android.volley.Request
import com.android.volley.RequestQueue
import com.android.volley.Response
import com.android.volley.VolleyError
import com.android.volley.toolbox.JsonObjectRequest
import com.android.volley.toolbox.Volley
import android.os.Bundle
import android.app.Activity
import android.util.Log
import android.view.Menu
import android.widget.TextView
public class PostActivity extends Activity {
private RequestQueue requestQueue
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_post)
init()
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menuthis adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.post, menu)
return true
}
private void init() {
TextView textView = (TextView)findViewById(R.id.postView)
requestQueue = Volley.newRequestQueue(this)
getJson()
textView.setText("hellopost")
}
private void getJson(){
String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!reg.action"
JsonObjectRequest jsonObjectRequest
JSONObject jsonObject=new JSONObject()
try {
jsonObject.put("name", "张三")
jsonObject.put("sex", "女")
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace()
}
//打印前台向后台要提交的post数据
Log.e("post",jsonObject.toString())
//发送post请求
try{
jsonObjectRequest = new JsonObjectRequest(
Request.Method.POST, url, jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//打印请求后获取的json数据
Log.e("bbb", response.toString())
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
// System.out.println("sorry,Error")
Log.e("aaa", arg0.toString())
}
})
requestQueue.add(jsonObjectRequest)
} catch (Exception e) {
e.printStackTrace()
System.out.println(e + "")
}
requestQueue.start()
}
}
8、在android的logcat里面能查看到打印的请求
(红色的显示的是我在后台请求到数据)
有时候logcat显示不出数据,可能是消息被过滤了,可以在左边点击“减号”删除过滤
在server端,也就是在myeclipse的建立的另一个后台工程里面能获取到请求:
9、后续会补充json数据的解析部分,以及过度到移动云的部分,上面只是c/s模式下的一个简单的基于http的请求应答例子。
2019年8月27日
Java并发 行级锁/字段锁/表级锁 乐观锁/悲观锁 共享锁/排他锁 死锁
摘要:原文地址: 前言 锁是防止在两个事务 *** 作同一个数据源(表或行)时交互破坏数据的一种机制。 数据库采用封锁技术保证并发 *** 作的可串行性。 以Oracle为例: Oracle的锁分为两大类:数据锁(也称DML锁)和字典锁。 字阅读全文
posted @ 2019-08-27 17:21 法捷耶夫 阅读 (105) 评论 (0)编辑
2019年5月18日
webstorm编写react native,代码修改后,重新编译运行没有变化的问题
摘要:w我是拷贝一份react native代码到另一台电脑,发现修改代码运行之后不显示修改后的效果,即仍然与原来的效果一样,暂时不知道什么原因, 后来我运行了npm install 就可以了,不知道是不是这个原因。阅读全文
posted @ 2019-05-18 09:19 法捷耶夫 阅读 (172) 评论 (0)编辑
2018年1月26日
tomcat 取消项目名访问路径
摘要:在server.xml 里,<host>...</host>的标签之间添加<Context path="" docBase="projectName" debug="0"/>阅读全文
posted @ 2018-01-26 13:32 法捷耶夫 阅读 (58) 评论 (0)编辑
2017年12月24日
jquery获取标签名,获取id
摘要:var elementId = $(this).attr("id")var tagName = $(this)[0].tagName阅读全文
posted @ 2017-12-24 13:47 法捷耶夫 阅读 (1853) 评论 (0)编辑
Android studio 在一个项目上添加另一个项目,引用其内部参数
摘要:Setting.gradle 里面 添加 其中 imagePicker 为要引入的项目名 build.gradle(Module: app) dependencies 内 添加阅读全文
posted @ 2017-12-24 13:21 法捷耶夫 阅读 (791) 评论 (0)编辑
2017年12月19日
oracle、mysql、sybase和sqlserver复制表结构和数据
摘要:转自该博主,谢谢其作出的贡献, Sql Server(sybase): 1.复制表结构: 新建表student2,并且结构同表syn_xj_student一致。Sql语句如下: 2.复制表数据,并排除俩表阅读全文
posted @ 2017-12-19 18:45 法捷耶夫 阅读 (182) 评论 (0)编辑
2017年12月13日
U8 应付款管理 单据类型 分析
摘要:Ap_CloseBill 收付款单主表 Ap_CloseBills 收付款单子表 cVouchType 在收付款单主表中 ,用于区分单据为收款单还是付款单(48,49) 49:付款单 48:收款单 在订单进行更改客户 *** 作时,应先将订单的原客户的定金退回原客户,在修改销售订单中的客户信息 所以应该先判阅读全文
posted @ 2017-12-13 17:25 法捷耶夫 阅读 (263) 评论 (0)编辑
2016年12月22日
编写xml文件不当时会出现R文件找不到情况
摘要:1法捷耶夫简介,先检查xml文件是否报错,报错的话直接找到报错行。 2,xml文件若不报错,可能是文本值得格式输入错误 比如android:text=“<0.5km”,此时的小于号就会引发错误,导致R文件找不到 解决办法:不要把文本值直接写在该位置,在values/strings下定义文本值,使用引用可解决此问阅读全文
posted @ 2016-12-22 16:15 法捷耶夫 阅读 (114) 评论 (0)编辑
2016年12月1日
使用volley上传多张图片,一个参数对应多张图片,转载
摘要: 原帖地址 而如果使用volley的话,因为请求数据那些都很简便,但遇到上传文件就麻烦那可不好,同时使用多个网络请求类库也是不太建议的。所以这里就给出了一种解决方法,也要借助一个jar包,这里用到的是httpmi阅读全文
posted @ 2016-12-01 10:08 法捷耶夫 阅读 (1994) 评论 (0)编辑
2016年11月23日
Fragment 生命周期的详情
摘要:Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的法捷耶夫简介,如果可见则进行懒加载 *** 阅读全文
posted @ 2016-11-23 09:32 法捷耶夫 阅读 (136677) 评论 (1)编辑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)