要使自己的Android程序进行http操作,就必须现在AndroidManifest.xml定义访问Internet的权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ncs.hj"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HttpTestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
下面是布局文件,layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="wrap_content" android:layout_width="match_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TEST"
android:id="@+id/btn"/>
</LinearLayout>
下面是Activity的代码:
package com.ncs.hj;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
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 android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HttpTestActivity extends Activity {
/** Called when the activity is first created. */
Button btn =null;
HttpResponse httpResponse = null;
HttpEntity httpEntity = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new HttpTest());
}
class HttpTest implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HttpGet httpGet = new HttpGet("http://www.google.com");
HttpClient httpClient = new DefaultHttpClient();
InputStream inputStream = null;
try {
httpResponse = httpClient.execute(httpGet);
httpEntity = httpResponse.getEntity();
inputStream = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String result = "";
String line ="";
while((line = reader.readLine()) != null) {
result = result +line;
}
System.out.println(result);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
在Android平台上进行网络操作是应用程序开发中的重要环节,它允许应用与远程服务器进行数据交互,如获取用户信息、上传下载文件、同步数据等。本文将深入探讨“Android网络操作”的核心概念、常用方法以及如何利用...
在Android开发中,长按(Long Press)是一种常见的用户交互方式,它允许用户在界面上对某一元素执行额外的操作。通常,长按会触发一个弹出菜单(PopupMenu),展示一系列可选择的动作。本教程将详细讲解如何在...
在Android中,由于主线程不能执行耗时操作,所以网络请求通常会在子线程中进行,完成后通过回调或事件总线更新UI。 总的来说,这个教程涵盖了Android应用开发中基础的HTTP通信技术,通过学习这些内容,开发者能够...
Android出于安全考虑,从API 19开始引入了网络访问权限限制,应用必须在AndroidManifest.xml中声明INTERNET权限才能进行网络操作。同时,自API 26开始,后台网络访问也需要额外的权限管理,比如使用JobScheduler或...
在Android应用开发中,菜单是用户交互的重要组成部分,它提供了丰富的功能入口,使得用户能够方便地访问和操作应用的不同部分。下面将详细讲解Android开发中常见的三种菜单:选项菜单、子菜单以及上下文菜单。 1. ...
本文将深入探讨一个名为"Android-HomeKit"的项目,它利用了Android系统的Accessibility服务,实现了对“米家”App的监控和控制,并能够与MiPlusServer进行通信,为用户提供了更为便捷的智能家居操作体验。...
网络编程在现代应用中不可或缺,Android支持HTTP/HTTPS请求,可以使用HttpURLConnection或者第三方库如OkHttp、Retrofit。同时,WebSocket和FTP等协议也是开发者需要掌握的。 最后,Android应用的测试和发布也是...
在Android开发中,异步操作是必不可少的一部分,它能让应用程序在后台执行耗时任务,而不会阻塞用户界面,提供更好的用户体验。Android提供了多种异步处理框架,其中一个被广泛使用的开源框架是“android-async-http...
在本例中,Android客户端将发送HTTP请求到PHP服务器以执行数据库操作。 2. **JSON**:JavaScript Object Notation,是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Android和PHP之间...
在Android应用开发中,进行网络通信是不可或缺的一部分,而HTTP请求是网络通信中最常见的操作。在用户界面(UI)线程上执行网络操作会导致应用程序无响应(ANR),因此,Android推荐使用异步HTTP请求来避免阻塞主线...
本文将深入探讨如何在Android的WebView中处理图片点击事件以及实现图片的手势操作,同时介绍JavaScript交互机制。 一、WebView基础 1. WebView加载网页:通过调用`loadUrl()`方法,我们可以加载指定URL的网页内容到...
android app在规定时间内用户没有操作跳出屏保,屏保activity可以展示广告。 博客介绍文章地址:http://blog.csdn.net/u010072711/article/details/50096181
这个版本在Android操作系统的历史中扮演着重要的角色,引入了一系列的新特性、改进和优化,旨在提升用户体验、开发者效率以及设备性能。在此,我们将深入探讨Android 8.0中的关键知识点。 1. **通知渠道...
**注意**:此处的界面展示和代码实现仅为示例,实际操作中需根据具体需求调整。 #### 8.3 文件存储 Android支持通过内部存储或外部存储(如SD卡)进行文件存储。内部存储的文件只对该应用可见,而外部存储则可以...
在Android开发中,远程数据库操作是一项重要技能,它允许应用程序通过网络与远程服务器进行数据交互,从而实现数据的存储和检索。本项目是基于Android Studio的,提供了实现远程数据库操作的源码,以及一个简单的...
3. **初始化Fragment**:虽然在XML中已声明了Fragment,但还需要在Activity的`onCreate()`方法中进行初始化。这通常通过`FragmentManager`和`FragmentTransaction`完成。由于是静态添加,我们无需执行添加操作,但...
在Android应用中,通常采用HTTP或HTTPS协议来发送HTTP请求到PHP服务器,请求可以是GET或POST类型,用于执行数据库的CRUD(创建、读取、更新、删除)操作。 1. **创建(Create)**:当Android客户端需要在数据库中...
在Android应用开发中,网络操作必须在后台线程进行,以确保用户体验的流畅性。 `android.async.http.jar` 文件包含了从1.2.0到1.4.8的不同版本。这些版本可能包含各种性能改进、bug修复和新功能。例如,早期版本...
在Android应用开发中,HTTP通信是连接客户端与服务器端的重要桥梁,主要用于数据交换、文件上传和下载等操作。本示例将重点讲解如何在Android应用中实现基于HTTP的JSON数据传递,以及如何处理文件的上传和下载。 ...
在Android开发中,JNI(Java Native Interface)是一种技术,允许Java代码和其他编程语言(如C++)进行交互。JNI在很多场景下都很有用,比如优化性能、调用系统底层库或者像本例中那样,利用C/C++库来实现特定功能。...