- 論壇徽章:
- 0
|
Coding android 客戶端用到的一些開源庫(kù)
開發(fā)用的是 Android Studio,雖然現(xiàn)在還是0.8.14beta版,但除了不支持NDK,編譯速度感覺略慢一點(diǎn)點(diǎn),就沒有什么其它的大問題了,完全能滿足項(xiàng)目的使用需求。而它相對(duì)于eclipse的好處就真的是太多了,首先是速度,再也沒有eclipse那種卡卡的感覺了,再次,智能提示更智能,還有,用gradle做庫(kù)依賴確實(shí)方便,就像xcode上的pod一樣,這是項(xiàng)目中用到的一些第三方庫(kù):- compile 'com.loopj.android:android-async-http:1.4.5'
- compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
- compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
- compile 'se.emilsjolander:stickylistheaders:2.5.1'
- compile 'de.hdodenhof:circleimageview:1.2.0'
- compile 'com.android.support:appcompat-v7:20.0.0'
- compile project(':photolibrary')
- compile files('libs/android-viewbadger.jar')
- compile 'com.belerweb:pinyin4j:2.5.0'
- compile "org.androidannotations:androidannotations-api:3.0.1"
復(fù)制代碼- compile 'com.loopj.android:android-async-http:1.4.5'
https://
github.com/loopj/android-async-http
封裝了http請(qǐng)求,直接支持json,gzip壓縮,相當(dāng)省事。- AsyncHttpClient client = new AsyncHttpClient();
- PersistentCookieStore cookieStore = new PersistentCookieStore(context);
- client.setCookieStore(cookieStore);
- client.post(url, params, new JsonHttpResponseHandler() {
- @Override
- public void onSuccess(int statusCode, Header[] headers, JSONObject response){
- }
-
- public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
- }
-
- @Override
- public void onFinish() {
- }
- });
復(fù)制代碼- compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
左右滑動(dòng)控件,做了一點(diǎn)修改,我的項(xiàng)目中主要實(shí)現(xiàn)了這兩個(gè)效果
- compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
封裝了圖片請(qǐng)求,控件顯示圖片基本一句代碼搞定
ImageLoader.getInstance().displayImage(url, imageView, options);
- compile 'se.emilsjolander:stickylistheaders:2.5.1'
實(shí)現(xiàn)列表滑動(dòng)的時(shí)候列表頭不動(dòng)的效果,而且單擊表頭可以收縮列表。
- compile 'de.hdodenhof:circleimageview:1.2.0'
將圖片顯示為圓形,雖然自己寫也很簡(jiǎn)單,但既然有現(xiàn)成的輪子,就懶得自己造了。
- compile project(':photolibrary')
https://
github.com/chrisbanes/PhotoView
圖片控件,支持雙指放大縮小圖片。
- compile files('libs/android-viewbadger.jar')
https://
github.com/jgilfelt/android-viewbadger
實(shí)現(xiàn)提醒的小紅點(diǎn)效果,支持自定義小紅點(diǎn)的外觀,相當(dāng)有用。
- compile 'com.belerweb:pinyin4j:2.5.0'
看名字也知道,根據(jù)漢字查拼音的庫(kù)。
- compile "org.androidannotations:androidannotations-api:3.0.1"
https://
github.com/excilys/androidannotations
一個(gè)神奇的項(xiàng)目,利用注解讓大家少寫代碼。
官網(wǎng)上的的一個(gè)例子,少寫了多少代碼大家是估計(jì)的到的,- @EActivity(R.layout.translate) // Sets content view to R.layout.translate
- public class TranslateActivity extends Activity {
-
- @ViewById // Injects R.id.textInput
- EditText textInput;
-
- @ViewById(R.id.myTextView) // Injects R.id.myTextView
- TextView result;
-
- @AnimationRes // Injects android.R.anim.fade_in
- Animation fadeIn;
-
- @Click // When R.id.doTranslate button is clicked
- void doTranslate() {
- translateInBackground(textInput.getText().toString());
- }
-
- @Background // Executed in a background thread
- void translateInBackground(String textToTranslate) {
- String translatedText = callGoogleTranslate(textToTranslate);
- showResult(translatedText);
- }
-
- @UiThread // Executed in the ui thread
- void showResult(String translatedText) {
- result.setText(translatedText);
- result.startAnimation(fadeIn);
- }
-
- // [...]
- }
復(fù)制代碼 實(shí)現(xiàn)原理是生成了一個(gè)子類 TranslateActivity_,使用的時(shí)候不要用 TranslateActivity,用 TranslateActivity_ 代替,我用了之后感覺這個(gè)庫(kù)最大的問題是如果哪里代碼寫錯(cuò)了,編譯的錯(cuò)誤信息太多,容易把人嚇著,但其實(shí)錯(cuò)誤還是很好找的。 |
|