/*
* Copyright 2010-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.android.basicauth;
import java.io.IOException;
import java.util.Collections;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.springframework.http.HttpAuthentication;
import org.springframework.http.HttpBasicAuthentication;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.ResourceAccessException;
import org.springframework.web.client.RestTemplate;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
/**
* @author Roy Clarkson
*/
public class MainActivity extends AbstractAsyncActivity {
protected static final String TAG = MainActivity.class.getSimpleName();
// ***************************************
// Activity methods
// ***************************************
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity_layout);
// Initiate the request to the protected service
final Button submitButton = (Button) findViewById(R.id.submit);
submitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new FetchSecuredResourceTask().execute();
}
});
}
// ***************************************
// Private methods
// ***************************************
private void displayResponse(Account response) {
Toast.makeText(this, response.getEmail(), Toast.LENGTH_LONG).show();
}
// ***************************************
// Private classes
// ***************************************
private class FetchSecuredResourceTask extends AsyncTask<Void, Void, Account> {
private String username;
private String password;
@Override
protected void onPreExecute() {
showLoadingProgressDialog();
// build the message object
EditText editText = (EditText) findViewById(R.id.username);
this.username = editText.getText().toString();
editText = (EditText) findViewById(R.id.password);
this.password = editText.getText().toString();
}
@Override
protected Account doInBackground(Void... params) {
final String url = getString(R.string.base_uri) + "/getmessage";
final String url2 = "http://192.168.1.13:8080/appoint/getAccount/j2ee";
// Populate the HTTP Basic Authentitcation header with the username and password
HttpAuthentication authHeader = new HttpBasicAuthentication(username, password);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(authHeader);
requestHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
// Create a new RestTemplate instance
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
try {
// Make the network request
Log.d(TAG, url);
// ResponseEntity<Message> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<Object>(requestHeaders), Message.class);
ResponseEntity<Account> response = restTemplate.exchange(url2, HttpMethod.GET, new HttpEntity<Object>(requestHeaders), Account.class);
return response.getBody();
} catch (HttpClientErrorException e) {
Log.e(TAG, e.getLocalizedMessage(), e);
//return new Message(0, e.getStatusText(), e.getLocalizedMessage());
return null;
} catch (ResourceAccessException e) {
Log.e(TAG, e.getLocalizedMessage(), e);
//return new Message(0, e.getClass().getSimpleName(), e.getLocalizedMessage());
return null;
}
}
@Override
protected void onPostExecute(Account result) {
dismissProgressDialog();
displayResponse(result);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
spring-android-basic-auth.zip_android_spring_spring auth_spring- (202个子文件)
spring-android-basic-auth-client.ap_ 12KB
spring-android-basic-auth-client.apk 474KB
spring-android-basic-auth-client.unaligned.apk 474KB
proguard.cfg 1KB
MainActivity$FetchSecuredResourceTask.class 5KB
Account.class 4KB
MainActivity.class 2KB
Message.class 2KB
WebConfig.class 2KB
WebConfig.class 2KB
HomeController.class 2KB
Message.class 2KB
HomeController.class 2KB
Message.class 1KB
AbstractAsyncActivity.class 1KB
MainActivity$1.class 1KB
ComponentConfig.class 851B
ComponentConfig.class 688B
R.class 668B
R$string.class 581B
R$id.class 581B
SecurityConfig.class 557B
SecurityConfig.class 557B
R$drawable.class 467B
R$layout.class 467B
R$attr.class 397B
BuildConfig.class 383B
HomeControllerTest.class 355B
classes.dex 1.09MB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
spring-android-basic-auth-server.iml 4KB
spring-android-basic-auth-client.iml 4KB
spring-core-3.2.3.RELEASE.jar 847KB
spring-context-3.2.3.RELEASE.jar 843KB
jackson-mapper-asl-1.9.11.jar 762KB
spring-webmvc-3.2.3.RELEASE.jar 622KB
spring-web-3.2.3.RELEASE.jar 611KB
spring-beans-3.2.3.RELEASE.jar 593KB
log4j-1.2.16.jar 470KB
jstl-1.2.jar 405KB
spring-jdbc-3.0.7.RELEASE.jar 377KB
spring-security-core-3.1.3.RELEASE.jar 332KB
spring-aop-3.2.3.RELEASE.jar 328KB
cglib-nodep-2.2.jar 315KB
spring-security-web-3.1.3.RELEASE.jar 248KB
jackson-core-asl-1.9.11.jar 227KB
spring-tx-3.0.7.RELEASE.jar 227KB
spring-security-config-3.1.3.RELEASE.jar 199KB
spring-expression-3.2.3.RELEASE.jar 191KB
aspectjrt-1.6.10.jar 114KB
slf4j-api-1.6.1.jar 25KB
jcl-over-slf4j-1.6.1.jar 17KB
spring-android-basic-auth-client.jar 12KB
slf4j-log4j12-1.6.1.jar 10KB
aopalliance-1.0.jar 4KB
javax.inject-1.jar 2KB
MainActivity.java 5KB
Account.java 3KB
HomeController.java 2KB
AbstractAsyncActivity.java 2KB
WebConfig.java 2KB
Message.java 2KB
Message.java 1KB
ComponentConfig.java 1KB
SecurityConfig.java 891B
HomeControllerTest.java 739B
BuildConfig.java 279B
Manifest.java 204B
R.java 190B
index.jsp 204B
index.jsp 204B
builddef.lst 4KB
builddef.lst 3KB
builddef.lst 3KB
inputFiles.lst 810B
inputFiles.lst 778B
createdFiles.lst 679B
inputFiles.lst 164B
createdFiles.lst 0B
createdFiles.lst 0B
.name 22B
spring_android.png 5KB
共 202 条
- 1
- 2
- 3
资源评论
朱moyimi
- 粉丝: 61
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 通道处理过程的模拟通常涉及对通道处理机制的理解与实现.txt
- Flume进阶-自定义拦截器jar包
- Dubins曲线算法讲解和在运动规划中的使用.pdf
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功