public
class
MainActivity
extends
AppCompatActivity {
private
RelativeLayout mainContent;
private
RelativeLayout loginContent;
private
DrawerLayout drawerLayout;
private
ActionBarDrawerToggle drawerListener;
private
ImageView profilePhoto;
private
TextView nicOutput;
private
ImageButton homeBtn;
private
Button loginBtn;
private
Button menuBtn1;
private
Button menuBtn2;
private
Button menuBtn3;
private
ImageButton settingBtn;
private
String TAGLOG =
"MainActivityLOG"
;
private
String data1[] =
new
String[
0
];
private
String data2[] =
new
String[
10
];
private
String data3[] =
new
String[
30
];
String LoginInfo =
null
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
GetDataFromServer getDataFromServer =
new
GetDataFromServer();
getDataFromServer.execute(
""
);
CustomList adapters =
new
CustomList(MainActivity.
this
);
setListAdapter(adapters);
mainContent = (RelativeLayout)findViewById(R.id.mainContent);
homeBtn = (ImageButton) findViewById(R.id.homeBtn);
homeBtn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
Intent intent =
new
Intent(getApplicationContext(), MainActivity.
class
);
startActivity(intent);
}
});
drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
drawerListener =
new
ActionBarDrawerToggle(
this
, drawerLayout,
null
, R.string.drawer_open, R.string.drawer_close) {
@Override
public
void
onDrawerClosed(View drawerView) {
super
.onDrawerClosed(drawerView);
}
@Override
public
void
onDrawerOpened(View drawerView) {
super
.onDrawerOpened(drawerView);
}
};
drawerLayout.setDrawerListener(drawerListener);
getSupportActionBar().setHomeButtonEnabled(
true
);
getSupportActionBar().setDisplayHomeAsUpEnabled(
true
);
}
private
class
GetDataFromServer
extends
AsyncTask <String, String, String>{
JSONArray jsonarray;
StringBuilder builder;
@Override
protected
String doInBackground(String... urls) {
builder =
new
StringBuilder();
HttpClient httpClient =
new
DefaultHttpClient();
HttpPost httpPost =
new
HttpPost(urls[
0
]);
try
{
HttpResponse response = httpClient.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
if
(statusLine.getStatusCode() ==
200
){
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader =
new
BufferedReader(
new
InputStreamReader(content));
String line;
while
((line = reader.readLine()) !=
null
){
Log.i(TAGLOG,
"line: "
+ line);
builder.append(line);
}
}
}
catch
(Exception e){
Log.i(TAGLOG,
"Exception try1: "
+ e.getStackTrace());
e.printStackTrace();
}
try
{
JSONArray root =
new
JSONArray(builder.toString());
jsonarray = root.getJSONArray(Integer.parseInt(
"results"
));
for
(
int
i=
0
; i<
10
; i++){
JSONObject jObject = jsonarray.getJSONObject(i);
data1[i] = jObject.getString(
"name"
);
data2[i] = jObject.getString(
"telNo"
);
data3[i] = jObject.getString(
"eMail"
);
}
}
catch
(JSONException e){
Log.i(TAGLOG,
"Exception: try2"
+ e.getStackTrace());
e.printStackTrace();
}
return
builder.toString();
}
public
class
CustomList
extends
ArrayAdapter<String>{
private
Activity context;
public
CustomList(Activity context){
super
(context, R.layout.list_item, data1);
this
.context = context;
}
@Override
public
View getView(
int
poition, View convertView, ViewGroup parent){
LayoutInflater Inflater = context.getLayoutInflater();
View rowView = Inflater.inflate(R.layout.list_item,
null
,
true
);
TextView name = (TextView)rowView.findViewById(R.id.name);
TextView telNo = (TextView)rowView.findViewById(R.id.telNo);
TextView eMail = (TextView)rowView.findViewById(R.id.eMail);
name.setText(data1[poition]);
telNo.setText(data2[poition]);
eMail.setText(data3[poition]);
return
rowView;
}
}
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
if
(drawerListener.onOptionsItemSelected(item)) {
return
true
;
}
return
super
.onOptionsItemSelected(item);
}
@Override
public
void
onConfigurationChanged(Configuration newConfig) {
super
.onConfigurationChanged(newConfig);
drawerListener.onConfigurationChanged(newConfig);
}
@Override
protected
void
onPostCreate(
@Nullable
Bundle savedInstanceState) {
super
.onPostCreate(savedInstanceState);
drawerListener.syncState();
}
}