当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Anddroid App和Java Web服务器间数据交互 之Android App搭建

Anddroid App和Java Web服务器间数据交互 之Android App搭建 时间:2018-09-28      来源:未知

创建Android App程序,提交数据给Java Web服务器,并得到Java Web服务器的返回结果。

1) 安装eclipse集成Android开发环境(包括sdk和adt,本文不再详述)。

2) 创建Android App项目。点击File->New->Android Application Project,在页面中Application Name对应的输入框中输入MyApp项目名称,点击Next,后点击Finish。如下图所示:

3) 布局文件activity_main.xml中创建EditText输入框,可以输入用户名和密码,创建Button按钮,用于注册,点击该按钮将输入的用户名和密码提交给Java Web应用服务器。activity_main.xml源码如下:

xmlns:tools="//schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

<>

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_marginLeft="36dp"

android:layout_marginTop="58dp"

android:text="用户名:" />

<>

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignRight="@+id/textView2"

android:layout_below="@+id/textView2"

android:layout_marginTop="40dp"

android:text="密码:" />

<>

android:id="@+id/username"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@+id/textView2"

android:layout_marginLeft="31dp"

android:layout_toRightOf="@+id/textView2"

android:ems="10" >

 

<>

android:id="@+id/password"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@+id/textView1"

android:layout_alignLeft="@+id/username"

android:ems="10"

android:inputType="textPassword" />

<>

android:id="@+id/submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:onClick="register"

android:text="注册" />

 

4) 在MainActivity.java文件中,响应按钮的点击事件,在响应事件中启动线程将输入的用户名和密码以POST方式提交给JavaWeb服务器。代码如下所示:

public class MainActivity extends Activity {

public EditText nameEdit,passwordEdit;

public String nameInput,pwdInput;

public final String SERVER_URL = "//10.0.2.2:8080/MyAppServer/LoginAction";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

nameEdit = (EditText)findViewById(R.id.username);

passwordEdit = (EditText)findViewById(R.id.password);

}

// 点击注册按钮触发该方法

public void register(View v){

nameInput = nameEdit.getText().toString();

pwdInput = passwordEdit.getText().toString();

RegisterTask rt = new RegisterTask();

rt.execute(SERVER_URL);

}

class RegisterTask extends AsyncTask{

@Override

protected String doInBackground(String... params) {

String result = "";

HttpClient client = new DefaultHttpClient();

HttpPost post = new HttpPost(params[0]);

//将传给服务器

ArrayList paramList = new ArrayList();

paramList.add(new BasicNameValuePair("name", nameInput));//第一个参数必须和服务器获取参数的key相同

paramList.add(new BasicNameValuePair("pwd", pwdInput));

try {

post.setEntity(new UrlEncodedFormEntity(paramList));

HttpResponse response = client.execute(post);

if(response.getStatusLine().getStatusCode()==200){

HttpEntity entity = response.getEntity();

InputStream is = entity.getContent();

byte[] data = new byte[1024];

int len = 0 ;

while((len=is.read(data))!=-1){

result += new String(data,0,len);

}

}

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return result;

}

@Override

protected void onPostExecute(String result) {

Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();

}

}

}

5) 在AndroidManifest.xml文件中添加访问网络的权限,加入下面代码:

6) 启动模拟器AVD,运行该项目。在输入框中输入用户名john,密码123456,点击注册,提示服务器返回结果,如下图所示:

7) 验证Android App输入的信息是否存储到数据库中。

打开MySQL5.5 Command Line Client,输入密码(安装MySQL时设置的密码),进入到mysql中后,输入use apptest;表示使用该数据库。输入select * from user;表示从user表中查询所有数据,可以看到输入如下图所示:

此时可以看到在Android App端输入的john和123456已经存储到数据库MySQL中。我们的Android程序成功的通过Java Web应用程序将数据处理后存储到数据库,并将录入成功的结果返回给Android程序进行显示。

上一篇:Anddroid App和Java Web服务器间数据交互 之JavaWeb服务器搭建

下一篇:typedef分析理解

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部