Android™
Android™
Bandwidth Throttled Asynchronous HTTP Upload
See more Upload Examples
Demonstrates how to do an HTTP upload asynchronously in a background thread with limiting the rate to an approximate number of bytes/second. The only difference between this example and one without bandwidth throttling is that the BandwidthThrottleUp property is set.Chilkat Android™ Downloads
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
private static final String TAG = "Chilkat";
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean success = false;
CkUpload upload = new CkUpload();
// Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
// that will process the HTTP Upload.
upload.put_Hostname("www.mywebserver.com");
upload.put_Path("/receiveUpload.aspx");
// Add one or more files to be uploaded.
upload.AddFileReference("file1","dude.gif");
upload.AddFileReference("file2","pigs.xml");
upload.AddFileReference("file3","sample.doc");
// Set the BandwidthThrottleUp property to throttle to approx 64K/second
upload.put_BandwidthThrottleUp(65536);
// Begin the HTTP upload in a background thread:
success = upload.BeginUpload();
if (success != true) {
Log.i(TAG, upload.lastErrorText());
}
else {
Log.i(TAG, "Upload started...");
}
// Wait for the upload to finish.
// Print the progress as we wait...
while ((upload.get_UploadInProgress() == true)) {
// We can abort the upload at any point by calling:
// upload.AbortUpload();
// Display the percentage complete and the number of bytes uploaded so far..
// The total upload size will become set after the upload begins:
Log.i(TAG, String.valueOf(upload.get_PercentUploaded()) + "% " + String.valueOf(upload.get_NumBytesSent()) + "/"
+ String.valueOf(upload.get_TotalUploadSize()));
// Sleep 2/10ths of a second.
upload.SleepMs(200);
}
// Did the upload succeed?
if (upload.get_UploadSuccess() == true) {
Log.i(TAG, "Files uploaded!");
}
else {
Log.i(TAG, upload.lastErrorText());
}
}
static {
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}