安卓实训第五天
首先讲了如何将文件上传到SD卡中:
package com.example.lesson05_02;
import java.io.File;
import java.io.FileNotFoundException;
import org.apache.http.Header;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
public class MainActivity extends Activity implements OnClickListener{
private EditText et_file;
private Button btn_upload;
private EditText et_username;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_upload = (Button) findViewById(R.id.btn_upload);
et_file = (EditText) findViewById(R.id.et_file);
et_username = (EditText) findViewById(R.id.edit_username);
btn_upload.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id =v.getId();
switch (id) {
case R.id.btn_upload:
String path =et_file.getText().toString();
if(TextUtils.isEmpty(path.trim())){
Toast.makeText(this, "上传的文件不能为空", Toast.LENGTH_LONG).show();
}else{
//异步客户端对象
AsyncHttpClient client = new AsyncHttpClient();
String url="http://172.16.237.144:8080/Login/UploadServlet";
//封装文件上传的参数
RequestParams params = new RequestParams();
//根据路径创建文件
File file = new File(path);
try {
//放入文件
params.put("profile_picture", file);
//1、修改这个名称,看能否上传成功
//2、添加上传者的姓名
} catch (FileNotFoundException e) {
System.out.println("文件不存在");
e.printStackTrace();
}
client.post(url, params,new AsyncHttpResponseHandler(){
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody,
Throwable error) {
error.printStackTrace();
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Toast.makeText(MainActivity.this, "文件上传成功!", 1).show();
}
});
}
break;
default:
break;
}
}
}
然后分别使用AsynvHttpClient 还有smart-image-view来完成图片查看器:
//不适用SMART IMAGE之前:
/*
public void sendGetImg(View v){
int id= v.getId();
switch (id) {
case R.id.btn_img:
String url = et_url.getText().toString();
//发送网络请求
AsyncHttpClient client = new AsyncHttpClient();
client.get(url,new AsyncHttpResponseHandler(){
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody,
Throwable errors) {
errors.printStackTrace();
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
if(statusCode==200){
//创建字节工厂对象N
BitmapFactory bitmapFactory = new BitmapFactory();
@SuppressWarnings("static-access")
Bitmap bitmap = bitmapFactory.decodeByteArray(responseBody, 0, responseBody.length);
iv_img.setImageBitmap(bitmap);
}
}
});
break;
default:
break;
}
}
*/
//使用smart image包之后
public void sendGetImg(View v){
int id= v.getId();
switch (id) {
case R.id.btn_img:
String url = et_url.getText().toString();
iv_img.setImageUrl(url, R.drawable.ic_launcher,R.drawable.ic_launcher);
break;
default:
break;
}
}