android中的http协议编程疑问
16lz
2021-01-25
这个项目主要就是利用http协议从本地的web工程下下载一张图片,但是就是不能实现,求各位大神给予帮助!
代码如下:本地ip是10.110.110.212
一:MainActivity
package com.example.android_http_iamgeview;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private Button button;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
imageView=(ImageView)findViewById(R.id.imageview);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
try{
InputStream inputStream=HttpUtils
.getImageViewInputStream();
Bitmap bitmap=BitmapFactory.decodeStream(inputStream);
imageView.setImageBitmap(bitmap);
}catch(IOException e){
e.printStackTrace();
}
}
});
}
}
二:HttpUtils
package com.example.android_http_iamgeview;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpUtils {
private final static String URL_PATH="http://10.110.110.212/myhttp/dongshu.png";
public HttpUtils(){
}
public static InputStream getImageViewInputStream() throws IOException{
InputStream inputStream=null;
URL url=new URL(URL_PATH);
if(url!=null){
HttpsURLConnection httpsURLConnection=(HttpsURLConnection)url.openConnection();
httpsURLConnection.setConnectTimeout(3000);
httpsURLConnection.setRequestMethod("GET");
httpsURLConnection.setDoInput(true);
int response_code=httpsURLConnection.getResponseCode();
if(response_code==200){
inputStream=httpsURLConnection.getInputStream();
}
}
return inputStream;
}
}
三:activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageview "
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button "
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="从网络下载图片" />
</LinearLayout>
将apk安装到手机上(不是模拟器),出现异常,求解决!!!
代码如下:本地ip是10.110.110.212
一:MainActivity
package com.example.android_http_iamgeview;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private Button button;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button);
imageView=(ImageView)findViewById(R.id.imageview);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
try{
InputStream inputStream=HttpUtils
.getImageViewInputStream();
Bitmap bitmap=BitmapFactory.decodeStream(inputStream);
imageView.setImageBitmap(bitmap);
}catch(IOException e){
e.printStackTrace();
}
}
});
}
}
二:HttpUtils
package com.example.android_http_iamgeview;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpUtils {
private final static String URL_PATH="http://10.110.110.212/myhttp/dongshu.png";
public HttpUtils(){
}
public static InputStream getImageViewInputStream() throws IOException{
InputStream inputStream=null;
URL url=new URL(URL_PATH);
if(url!=null){
HttpsURLConnection httpsURLConnection=(HttpsURLConnection)url.openConnection();
httpsURLConnection.setConnectTimeout(3000);
httpsURLConnection.setRequestMethod("GET");
httpsURLConnection.setDoInput(true);
int response_code=httpsURLConnection.getResponseCode();
if(response_code==200){
inputStream=httpsURLConnection.getInputStream();
}
}
return inputStream;
}
}
三:activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageview "
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button "
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="从网络下载图片" />
</LinearLayout>
将apk安装到手机上(不是模拟器),出现异常,求解决!!!
更多相关文章
- Android模拟器的使用方法(Linux)
- Android(安卓)蓝牙驱动 概要
- Android&Js相关
- 安卓模拟器 运行出错(cannot launch AVD in emulator),小白一枚,
- android Q open failed: EACCES (Permission denied)
- android adb 命令实践
- Android(安卓)调用打电话和发短信功能
- Android中关于键盘管理,点击除editText外的区域收起键盘
- android读写sd卡文件