Groovy 언어에 대해 살짝 알아보자~
IOS 8 부터 Object-C 를 버리고 Swift라는 새로운 언어를 선택했듯.. ( 아직 완전히 버린 건 아니고 혼재해서 사용하지만.. )
안드로이드 혹은 자바 진영에서도, 더 짧게 언어를 쓰기 위해 Groovy 라는 언어를 채택하려는 움직임들이 일고 있다.
<Original Java(Android) Code>
public class FeedActivity {
TextView mTextView;
...
void updateFeed() {
new FeedTask().execute("http://path/to/feed");
}
class FeedTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... params) {
DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
HttpPost httppost = new HttpPost(params[0]);
InputStream inputStream = null;
String result = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
// json is UTF-8 by default
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
result = sb.toString();
} catch (Exception e) {
// Oops
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (Exception squish) {
}
}
StringBuilder speakers = null;
try {
JSONObject jObject = new JSONObject(result);
JSONArray jArray = jObject.getJSONArray("speakers");
speakers = new StringBuilder();
for (int i = 0; i < jArray.length(); i++) {
speakers.append(jArray.getString(i));
speakers.append(" ");
}
} catch (JSONException e) {
// do something?
}
return speakers.toString();
}
@Override
protected void onPostExecute(String s) {
mTextView.setText(s);
}
}
}
↓
<Groovy Language>
public class FeedActivity {
TextView mTextView
...
void updateFeed() {
Fluent.async {
def json = new JsonSlurper().parse([:], new URL('http://path/to/feed'), 'utf-8')
json.speakers.join(' ')
} then {
mTextView.setText(it)
}
}
}
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] 전 세계 안드로이드 앱 스토어 infographics (0) | 2015.02.26 |
---|---|
[android] how to make dialog transparent. (0) | 2015.02.25 |
Eclipse 에서 Support v4 Javadoc 연결하기 (0) | 2015.01.06 |
Android Studio 로 이사하세요. (4) | 2014.12.10 |
Java SQLite Tutorial (0) | 2014.09.16 |
댓글