安卓實訓第五天

來源:互聯網
上載者:User

標籤: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;
  }
 }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.