標籤:android class c code java tar
首先講了如何將檔案上傳到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;
}
}