import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import com.volcengine.tos.TOSV2;
import com.volcengine.tos.TOSV2ClientBuilder;
import com.volcengine.tos.TosException;
import com.volcengine.tos.model.object.ListObjectsV2Input;
import com.volcengine.tos.model.object.ListObjectsV2Output;
import com.volcengine.tos.model.object.ListedObjectV2;
public class ListObjectsByMarkerExample extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
String endpoint = "your endpoint";
String region = "your region";
String accessKey = "your access key";
String secretKey = "your secret key";
String securityToken = "your security token";
String bucketName = "your bucket name";
String initMarker = "the specific marker";
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey, securityToken);
Thread tosThread = new Thread(new Runnable() {
boolean isTruncated = true;
String marker = initMarker;
ListObjectsV2Input input = new ListObjectsV2Input()
.setBucket(bucketName).setMaxKeys(maxKeys).setMarker(marker);
ListObjectsV2Output output = tos.listObjects(input);
Log.i("listObjects", "listObjects succeed, is truncated? " + output.isTruncated() + "next marker is " + output.getNextMarker());
if (output.getContents() != null) {
for (int i = 0; i < output.getContents().size(); i++) {
ListedObjectV2 object = output.getContents().get(i);
Log.i("listObjects", "No." + (i+1+total) + " listed object is " + object);
total += output.getContents().size();
isTruncated = output.isTruncated();
marker = output.getNextMarker();
} catch (TosException e) {
Log.e("TosException", "listObjects failed");