package com.example.avoscloud_demo;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import com.avos.avoscloud.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DemoGroupActivity extends ListActivity {
static final Map<String, String> demoMap = new HashMap<String, String>();
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupAVOSCloud(false);
setupButtonHandlers();
setupGroupAdapter();
}
private void setupAVOSCloud(boolean config) {
if (!config) {
AVOSCloud.initialize(getApplication(),
Config.APP_ID,Config.APP_KEY);
return;
}
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.cloud);
dialog.setTitle("Setup AVOS Cloud");
// set the custom dialog components - text, image and button
Button dialogButton = (Button) dialog.findViewById(R.id.btn_ok);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
EditText appId = (EditText) dialog.findViewById(R.id.editViewClientKey);
EditText clientKey = (EditText) dialog.findViewById(R.id.editTextClientKey);
if (appId.getText().length() <= 0 || clientKey.getText().length() <= 0) {
Toast.makeText(DemoGroupActivity.this, "Empty key.", Toast.LENGTH_LONG).show();
return;
}
AVOSCloud.initialize(getApplication(),
appId.getText().toString(),
clientKey.getText().toString());
}
});
dialogButton = (Button) dialog.findViewById(R.id.btn_cancel);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
private void setupButtonHandlers() {
Button button = (Button) findViewById(R.id.btn_config);
if (button != null) {
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setupAVOSCloud(true);
}
});
}
}
public void setupGroupAdapter() {
List<String> array = myDemoArray();
ArrayAdapter<CharSequence> adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
array);
setListAdapter(adapter);
}
private List<String> myDemoArray() {
List<String> array = new ArrayList<String>(this.myDemoMap().keySet());
return array;
}
private Map<String, String> myDemoMap() {
if (demoMap.isEmpty()) {
demoMap.put("ObjectDemoActivity", "com.example.avoscloud_demo.ObjectDemoActivity");
demoMap.put("UserDemoActivity", "com.example.avoscloud_demo.UserDemoActivity");
demoMap.put("FileDemoActivity", "com.example.avoscloud_demo.FileDemoActivity");
demoMap.put("SubclassDemoActivity", "com.example.avoscloud_demo.SubclassDemoActivity");
demoMap.put("QueryDemoActivity", "com.example.avoscloud_demo.QueryDemoActivity");
}
return demoMap;
}
private void startActivityByName(final String className) {
try {
Intent intent = new Intent(this, Class.forName(className));
startActivity(intent);
} catch (Exception exception) {
exception.printStackTrace();
}
}
protected void onListItemClick(android.widget.ListView l, android.view.View v, int position, long id) {
List<String> array = myDemoArray();
String name = array.get(position);
String value = myDemoMap().get(name);
startActivityByName(value);
}
}